网盘文件管理

Posted 发瑞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网盘文件管理相关的知识,希望对你有一定的参考价值。

通过php中文件相关的函数用来管理服务器上的某一文件夹,可以进行简单的文件查看和文件与文件夹的删除,添加操作。

首先遍历文件夹:

$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}  
			      
			<input type=\'button\' value=\'删除\' lj=\'{$url}\' class=\'sc\'/> 
			</div>";
		}
	}
}

closedir($dir);

 

加上创建文件按钮:

<input type="text" id="name"/>
<input type="button" value="新建" id="newf" />

  

 

加上简单的样式:

css代码:

*{ margin:0px auto; padding:0px}
.file{ width:50%; height:35px; line-height:35px; vertical-align:middle; border:1px solid #63C; margin-top:2px;}
.mulu{ background-color:#63C; color:white}
.prev{ background-color:#F63; color:white}

  

添加点击事件,点击文件夹进入下一目录:

要引入jq包:

$(".mulu").dblclick(function(){
		var url = $(this).attr("lj");
		$.ajax({
				url:"chuli.php",
				data:{url:url},
				type:"POST",
				dataType:"TEXT",
				success: function(data){
						window.location.href = "test.php";
					}
			});
	})

  

处理界面(chuli.php):

<?php
session_start();
$url = $_POST["url"];
$_SESSION["url"] = $url;

  

添加删除事件:

$(".sc").click(function(){
		var lj = $(this).attr("lj");
		$.ajax({
				url:"shanchu.php",
				data:{lj:lj},
				type:"POST",
				dataType:"TEXT",
				success: function(data){
						window.location.href = "test.php";
					}
			});
	})

  

处理界面(shanchu.php):

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

  

加入新建文件事件:

$("#newf").click(function(){
		var name = $("#name").val();
		$.ajax({
				url:"xinjian.php",
				data:{name:name},
				type:"POST",
				dataType:"TEXT",
				success: function(data){
						window.location.href = "test.php";
					}
			});
	})

  

后台处理界面:(xinjian.php):

<?php
session_start();
$name = $_POST["name"];

$url = $_SESSION["url"];

$filename = $url."/".$name;

touch($filename);

  

此时功能基本实现,但点击文件夹进入下一界面不能返回,所以要添加呢返回按钮:

$jdlj = realpath($fname);
if($jdlj == "D:\\\\wamp\\\\www\\\\1027")
{	
}
else
{
	$fuji = dirname($fname);
	echo "<div class=\'file prev\' lj=\'{$fuji}\' >返回上一级</div>";
}

  

$(".prev").dblclick(function(){
		var url = $(this).attr("lj");
		$.ajax({
				url:"chuli.php",
				data:{url:url},
				type:"POST",
				dataType:"TEXT",
				success: function(data){
						window.location.href = "test.php";
					}
			});
	})

  

这样点击文件夹可以返回:

所有代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-1.11.2.min.js" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
*{ margin:0px auto; padding:0px}
.file{ width:50%; height:35px; line-height:35px; vertical-align:middle; border:1px solid #63C; margin-top:2px;}
.mulu{ background-color:#63C; color:white}
.prev{ background-color:#F63; color:white}
</style>
</head>

<body>
<?php
session_start();

//要显示的文件夹
$fname = "../caozuo";

if(!empty($_SESSION["url"]))
{
	$fname = $_SESSION["url"];
}

//输出返回上一层的DIV
$jdlj = realpath($fname);
if($jdlj == "D:\\\\wamp\\\\www\\\\php\\\\caozuo")
{	
}
else
{
	$fuji = dirname($fname);
	echo "<div class=\'file prev\' lj=\'{$fuji}\' >返回上一级</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}  
			      
			<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">
$(".mulu").dblclick(function(){
		var url = $(this).attr("lj");
		$.ajax({
				url:"chuli.php",
				data:{url:url},
				type:"POST",
				dataType:"TEXT",
				success: function(data){
						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(data){
						window.location.href = "test.php";
					}
			});
	})
$(".sc").click(function(){
		var lj = $(this).attr("lj");
		$.ajax({
				url:"shanchu.php",
				data:{lj:lj},
				type:"POST",
				dataType:"TEXT",
				success: function(data){
						window.location.href = "test.php";
					}
			});
	})
	
$("#newf").click(function(){
		var name = $("#name").val();
		$.ajax({
				url:"xinjian.php",
				data:{name:name},
				type:"POST",
				dataType:"TEXT",
				success: function(data){
						window.location.href = "test.php";
					}
			});
	})
</script>
</html>

  

 

以上是关于网盘文件管理的主要内容,如果未能解决你的问题,请参考以下文章

网盘文件管理

用可道云kodexplorer在dedecms系统网站上秒建私人网盘

使用 Git 来管理 Xcode 中的代码片段

GitHub学习

2023最新网盘目录管理系统

如何使用tablayout和片段管理java文件[关闭]