zoukankan      html  css  js  c++  java
  • php之简单的文件管理(基本功能)

    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{ 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()


    ?>

  • 相关阅读:
    作男人 一定要有品位
    如何管理“人”
    Facebook怎样开发软件:工程师驱动的文化(转)
    为人处事100条——修身养性,经典收藏!
    抽空看看这些电影
    曹重英:技术人员也要打造人脉竞争力(转)
    动态分段统计SQL
    不成熟男人与成熟男人的区别
    Ubuntu11.10国内更新源地址汇总以及添加方法(目前最全最快的源)
    ubuntu11.10 64bits机器安装flash方法
  • 原文地址:https://www.cnblogs.com/aqxss/p/6296204.html
Copyright © 2011-2022 走看看