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


?>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM