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