php之简单的文件管理(基本功能)

先做一下简单的查看文件功能,文件中的文件和文件夹都显示,但是双击文件夹可以显示下一级子目录,双击<返回上一级>就可以返回到上一级目录

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8" />
	<title>php之简单的文件管理(基本功能)</title>
	<script src="jquery-1.11.2.min.js"></script> 加载jquery-1.11.2.min.js
	<style type="text/css">
		*{margin: 0px auto; padding: 0px;}
		.file{width: 50%; height: 35px; line-height: 35px; vertical-align: middle; border: 1px solid #60F; margin-top: 2px;}/*给文件加条件*/
		.mulu{ background-color: #639; color: white;}/*给文件夹目录加样式*/
		.prev{ background-color: #F63; color: white;}/*给返回上一级的div加点样式*/
		#delete{ float:right}
	</style>
</head>
<body>
<?php
session_start();//要写在php的最顶端

//要显示的文件夹
$fname = "../../php";//$fname要显示这个文件夹下的内容
//这个要写在“打开目录资源的上面”
if(!empty($_SESSION["url"]))
{
	$fname = $_SESSION["url"];
}

//输出返回上一层的DIV
$jdlj = realpath($fname);
//echo $jdlj;//输出看看绝对路径
if($jdlj == "D:\\wamp\\www\\php")//文件的绝对路径
{
	//echo "aa";//如果路径相等就为空
}
else
{
	$fuji = dirname($fname);//文件的上级目录。 否则就输出没有文件名的路径
	echo "<div class=‘file prev‘ lj=‘{$fuji}‘ >返回上一级</div>";//给prev加事件下面。 输出这个div
}

//遍历文件夹
$dir = opendir($fname);//遍历文件夹,打开目录资源.显示里面的文件

while($n = readdir($dir))//循环读取
{
	$url = $fname."/".$n;//拼个路径
	if($n!="." && $n!="..")//去掉前面点点点的
	{
		if(is_dir($url))//判断路径是不是目录
		{
			echo "<div class=‘file mulu‘ lj=‘{$url}‘ >{$n}</div>";//如果是目录,就进这个,起个名字,双击这个进入下一个子目录
		}
		else
		{
			//echo "<div class=‘file‘ lj=‘{$url}‘>{$n}</div>";//文件名。 //如果不是目录,就进入这个。统一的起个名字,这样好给他们写样式
			echo "<div class=‘file‘ lj=‘{$url}‘>{$n}
			      
			<input type=‘button‘ value=‘删除‘ lj=‘{$url}‘ class=‘sc‘/>
			</div>";
		}
	}
}

closedir($dir);//关闭目录资源

?>

<!--新建文件-->
<input type="text" id="name" /><!--文本框用来输入文件名-->
<input type="button" value="新建" id="newf" />

</body>
<script type="text/javascript">
	//找到这个目录,然后加双击加事件.dblclick
	$(".mulu").dblclick(function(){
		var url = $(this).attr("lj");//点击这个目录,找到这个目录的路径
		$.ajax({
			url:"chuli.php",//编写处理页面
			data:{url:url}, //将路径传到处理页面
			type:"POST", //传值方式
			dataType:"TEXT",
			success:function(r){

				window.location.href = "test.php"; //刷新页面
			}
		});
	})


//下面返回上一级的
$(".prev").dblclick(function(){
	var url = $(this).attr("lj");
		$.ajax({
			url:"chuli.php",
			data:{url:url},
			type:"POST",
			dataType:"TEXT",
			success:function(r){

				window.location.href = "test.php";
			}
		});
	})
	
//给删除加点击事件
$(".sc").click(function(){
	var lj = $(this).attr("lj");
	$.ajax({
			url:"shanchu.php",
			data:{lj:lj},
			type:"POST",
			success:function(r){
			dataType:"TEXT",
				window.location.href = "test.php";
			}
		});
})

//新建按钮
$("#newf").click(function(){
	var name = $("#name").val();//用户输入的文件名
	$.ajax({
			url:"xinjian.php",
			data:{name:name},
			type:"POST",
			success:function(r){
			dataType:"TEXT",
				window.location.href = "test.php";
			}
		});
})

</script>
</html>

处理页面:chuli.php

<?php
session_start();//处理页面的编写(这里不能用post或是get传值了,可以用session传值方式传值比较好)。session_start();要写在php的最顶端

$url = $_POST["url"];

$_SESSION["url"] = $url;

?>

删除处理页:shanchu.php

<?php
$lj = $_POST["lj"];
unlink($lj);
?>

新建处理页:xinjian.php

<?php
session_start();
$name = $_POST["name"];//取到上级目录。根据上级目录创建文件。获取传递过来的名字

$url = $_SESSION["url"];//把$_SESSION["url"]里面的url取出来。保存的路径位置

$filename = $url."/".$name;//他是name文件名。拼凑一个完整路径

touch($filename);//新建文件方法touch()

?>

时间: 2024-10-14 23:45:33

php之简单的文件管理(基本功能)的相关文章

Linux主机实现简单的路由转发功能

只要在Linux主机上添加一些简单的路由条目, 这些Linux主机就可以充当简单路由器的功能. 在实际生产坏境中, 当我们需要一台路由器简单作为转发数据, 但是手上却没有路由器的话, 我们就可以指定一台Linux主机充当一个简单的路由器,实现路由简单的转发. 上面所诉尤其强调简单, 所以说只是实现简单的路由的功能, 如果要实现非常复杂的功能的话, 一台Linux主机可能无法实现你想要的条件. 实验坏境: 基于VMware上的4台虚拟主机,主机名为R1.R2的两台主机(都是centos6.8系统)

独立完成的第一个c++面向对象程序(虽然很简单&#160;以后会增加功能)

一个简单的商品展示程序 功能如下: 1.输出一张商品表(嘻嘻 就这一个功能) 代码如下: #include<iostream> #include<string> using namespace std; class Goods { private: int amount; double price; string name; public: Goods(); int AddAmount(int); int LoseAmount(int); int SetGoods(int,doub

简单的购物商城功能

实现了简单的购物商城功能1.展现商品及价格2.商品加入购物车3.购物车商品显示及最终价格结算. fruit = {'Apple': 3, 'Pear': 2, 'Banana': 3, 'Lemon': 5, 'Watermelon': 4} books = {'语文': 4, '英语': 3, '数学': 5, '体育': 1} cart = {} # goods = [] print('水果如下价格:') print(fruit) print('课本价格如下:') print(books)

百度地图API制作类似 百度地图的路线导航界面并实现简单的路线规划功能

之前我们讲了怎么在百度地图上设置Marker(如A点..) 和弹出框(跟随Marker的,Marker移动的时候也是会跟着移动的),接着又觉得百度地图自带的放大缩小不(fei)是(chang)很(de)漂(chou)亮,我们自定义了放大缩小的控件,本篇我们将制作类似百度地图API制作类似百度地图的公交/驾车/行走/查询界面并实现简单的路线规划功能. 先来张截图:   这个界面的实现其实是使用的SlidingUpPanelLayout 开源库从而使得可以跟随手指下拉上划: 其实布局也没什么好讲的,

完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能

#!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能'''try: a=int(raw_input("please input a number:"))except ValueError: print("第一个运算数字输入非数字") try: b=int(raw_input("please input another number:"))except Val

(转)用C#实现实现简单的 Ping 的功能,用于测试网络是否已经连通

本文转载自:http://blog.csdn.net/xiamin/archive/2009/02/14/3889696.aspx 用C#实现实现简单的 Ping 的功能,用于测试网络是否已经联通 1. 根据IP地址获得主机名称 /// <summary> /// 根据IP地址获得主机名称 /// </summary> /// <param name="ip">主机的IP地址</param> /// <returns>主机名称

iOS开发——使用技术OC篇&amp;简单九宫格锁屏功能的实现与封装

简单九宫格锁屏功能的实现与封装 首先来看看最后的实现界面. 在这开始看下面的内容之前希望你能先大概思考活着回顾一下如果 你会怎么做,只要知道大概的思路就可以. 由于iphone5指纹解锁的实现是的这个功能呗淘汰,但是你可能会在想,都淘汰了你还在这里说个毛线啊,其实大家都知道,编程注重的思想,当然会了这个你不可能就会了指纹技术,哪还得等笔者在后面的学习中给大家分享,只是或许有一天这种功能或者思路在哪里要用到你不觉得是一件很开心的事情吗,而且如果你是不想自己敲的话直接可以拿来用. 好了不多废话直接上

C#实现简单的邮件发送功能

唉,最近要做一个项目,里面需要实现邮件发送功能.在网络上也找一些看,自己也随便写下.也当做是给自己复习下吧,如有不对之处还请大家指出.谢谢! 首先我是创建一个实体对象Model (EmailParameterSet) : 1 public class EmailParameterSet 2 { 3 /// <summary> 4 /// 收件人的邮件地址 5 /// </summary> 6 public string ConsigneeAddress { get; set; }

jquery 实现的一款超简单的图片切换功能

<html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="./assets/js/jquery.js"></script></head><style> </st