php实现文件夹管理器,php实现文件管理与基础功能操作

文件的基本操作

先来看一下PHP文件基础操作,请看强大注释

var_dump(filetype("./img/11.png"));

//判断返回得是文件还是目录,返回sile为文件,dir为目录(文件夹)

var_dump(is_dir("./img/11.png"));

//判断给的文件是不是一个目录,目录为ture,文件为false

var_dump(is_file("./img"));

//判断是否为文件,同上

var_dump(date("Y-m-d H:i:s",fileatime("./img/11.png")));

//上次访问时间

var_dump(date("Y-m-d H:i:s",filectime("./img/11.png")));

//创建时间

var_dump(date("Y-m-d H:i:s",filemtime("./img/11.png")));

//修改时间

var_dump(filesize("./img/11.png"));

//获取文件大小

var_dump(file_exists("/QQPCMgr/www/wenjian/img/22.png"));

//在php里面根/则是磁盘

echo $_SERVER['DOCUMENT_ROOT'];

//获取到服务器根路径

echo basename("/QQPCMgr/www/wenjian/img/22.png");

//返回22.png带后缀的文件名

echo basename("/QQPCMgr/www/wenjian/img/22.png",".png");

//扔上后缀之后只显示文件名(获取文件名)

echo dirname("/QQPCMgr/www/wenjian/img/22.png");

//返回的是不包含文件名的路径(获取文件名以上的)

var_dump(pathinfo("/QQPCMgr/www/wenjian/img/22.png"));

//这个获取的很全面,都能获取到

echo realpath("./img/11.png");

//真实路径:可以把相对路径转换为绝对路径

var_dump(glob("./ce/*"));

//取到这个文件夹里所有的文件,加后缀为条件

?>

文件整体操作:

//touch("./11.txt");

//创建文件

//copy("11.txt","./ce/11.txt");

//复制文件

//unlink("./11.txt");

//删除文件

//echo file_get_contents("./ce/11.txt");本地

//echo file_get_contents("http://www.baidu.com");远程

//读取文件所有内容

//file_put_contents("./11.txt","Myshao");

//往文件里面存储内容

//readfile("./11.txt");

//读取并输出

//$arr = file("./shouye.php");

//var_dump($arr);

//读取文件内所有内容,并扔到数组显示

//$ff = fopen("./11.txt","a");

//打开文件资源,详情见注1;

//echo fgetc($ff);

//读取一个字符

//echo fgets($ff);

//读取一行字符

//echo fread($ff,2);

//规定读多长

//fwrite($ff,"shao");

//写入内容

注1:打开和读取文件

php使用fopen()函数的方式,语法结构如下

Resource fopen (string $filename,string $mode)Filename是目标文件名,打开本地文件也可以打开远程文件,打开远程文件需要采用http://...形式,假如目标文件在

ftp服务器上,则采用形式ftp://...。

参数mode是目标文件打开形式,参数$mode是可以接收的模式。

文件打开方式表:

56c70fc8c69872f4f0a9b163dbf1c7dd.png

目录资源的打开与关闭:但凡有开就有关,否则会影响到后面的删除等操作;

$fname = "./ce/gf";

$d = opendir($fname);

//打开文件资源

while ($url = readdir($d))

{

echo $fname."/".$url."
";

// 仅读取文件名,把路径拼上=完整路径

}

var_dump(glob("./*"));

closedir($d);

//关资源

以上就是一些基础的语句了,来做点练习:

例:返回一个文件夹下的所有文件数量;

如果想要计算出ajax目录下有多少的文件,可以用下面封装的方法shu()来遍历目录,可以计算出ce目录下其他的文件夹里面的文件的总和,

function shu($url)

{

$sl = 0;

$arr = glob($url);

//循环遍历

foreach($arr as $v)

{

//判断是不是一个文件

if(is_file($v))

{

//如果是一个文件+1

$sl++;

}

else

{

$sl +=shu($v."/*");

}

}

return $sl;

}

echo shu("./ce/*");

//最后给方法一个路径进行查找

?>

看一下输出:

5fff2804a519bdd0eff38a13bcade2ed.png

再来一个!

例:删除文件

$fname = "./ce/gf";

$d = opendir($fname);

//打开文件资源

while ($url = readdir($d))

{

echo $fname."/".$url."
";

// 仅读取文件名,把路径拼上=完整路径

}

var_dump(glob("./*"));

closedir($d);

//关资源

//删除文件夹(非空文件夹)

function shan($url)

{

// 清空文件夹

$d = opendir($url);

// 打开

while ($u = readdir($d))//$u现在是文件名

{

// 排除...

if($u!="." && $u!="..")

{

$fname = $url . "/" . $u;

//完整带路径的文件名

if (is_file($fname))//如果是一个文件

{

unlink($fname);

} else //如果是一个文件夹

{

shan($fname);

}

}

}

closedir($d);

//关闭

rmdir($url);

}

shan("./122");

?>

这样122目录里面所有的东西,不管是文件夹还是文件都会被删除;

实现文件管理功能

1.先把查看文件的功能做出来,让他把所有的文件与文件夹啊显示出来;

//定义文件目录

$fname = "./ce";

//便利目录下的所有文件显示

$arr = glob($fname."/*");

foreach ($arr as $v)

{

//从完整路径中取文件名

$name = basename($v);

echo "

{$name}
";

}

?>

图:

cf398462ccd033673fd6f893660c5806.png

接下来给文件夹特殊显示一下把:

输出之前需要判断,判断是不是一个文件夹:

//从完整路径中取文件名

$name = basename($v);

if(is_dir($v)){

echo "

{$name}
";

}

else {

echo "

{$name}
";

}

如果是个文件夹,给他背景颜色改变一下就好啦

图:

454b6ad26b59d0da9cf5f672d9079a01.png

2.给文件夹添加双击事件:

双击实现进入这个目录;

js代码:

$(".dir").dblclick(function(){

var url = $(this).attr("url");

$.ajax({

url:"chuli.php",

data:{url:url},

type:"POST",

dataType:"TEXT",

success:function(data)

{

window.location.href="wenwen.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;

}

});

})

处理页面:

session_start();

$url = $_POST["url"];

$_SESSION["fname"] = $url;

这样就可以实现双击进入此文件夹:

35290752972bfe41aaf1f86759131091.png

3.返回上一级,找到上一级目录,写个div

$pname = dirname($fname);

echo "

返回上一级
";

图:

de40944373d0ddb9c0dbe282f09c6ca5.png

写双击事件:

$("#shang").dblclick(function(){

var url = $(this).attr("url");

$.ajax({

url:"chuli.php",

data:{url:url},

type:"POST",

dataType:"TEXT",

success:function(data)

{

window.location.href="wenwen.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;

}

});

})

返回到文件目录后使其隐藏:

//上一级的目录

$pname = dirname($fname);

if(realpath($fname)=="F:\\QQPCMgr\\WWW\\wenjian")

{}

else {

echo "

返回上一级
";

}

这样的话当我返回到wenjian目录的时候,使其隐藏:

09f51d84e13f2f841c216aa26cc0494e.png

4.删除功能

在文件div里面加删除按钮:

echo "

{$name}
";

f6b4386bda6331a7be5617ca62ff24c4.png

来写按钮的点击事件:

js代码:

$(".sc").click(function(){

//确认删除提示

var av = confirm("确定要删除");

if(av){

var url = $(this).attr("url");

$.ajax({

url: "shan.php",

data: {url: url},

type: "POST",

dataType: "TEXT",

success: function (data) {

window.location.href = "wenwen.php";

}

});

}

})

删除的处理页面:

$url = $_POST["url"];

unlink($url);

这样完成后,当我点击删除:

8a32a5dfbcf7d1245bf1d936a0b78ef0.png

再点击确定,即可删除

总代码:

管理查看页面:

无标题文档

.item{

width: 500px; height: 30px; border: 1px solid slateblue;

background-color: aquamarine;

line-height: 30px;

}

.dir{

background-color: chocolate; color: aliceblue;

}

#shang{

width: 500px; height: 30px; border: 1px solid slateblue;

background-color: brown;color: aliceblue;

line-height: 30px;

}

session_start();

//定义文件目录

$fname = "./ce";

if(!empty($_SESSION["fname"]))

{

//如果session里面的不为空

$fname = $_SESSION["fname"];

}

//上一级的目录

$pname = dirname($fname);

if(realpath($fname)=="F:\\QQPCMgr\\WWW\\wenjian")

{}

else {

echo "

返回上一级
";

}

//便利目录下的所有文件显示

$arr = glob($fname."/*");

foreach ($arr as $v)

{

//从完整路径中取文件名

$name = basename($v);

if(is_dir($v)){

echo "

{$name}
";

}

else {

echo "

{$name}
";

}

}

?>

$(".dir").dblclick(function(){

var url = $(this).attr("url");

$.ajax({

url:"chuli.php",

data:{url:url},

type:"POST",

dataType:"TEXT",

success:function(data)

{

window.location.href="wenwen.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;

}

});

})

$("#shang").dblclick(function(){

var url = $(this).attr("url");

$.ajax({

url:"chuli.php",

data:{url:url},

type:"POST",

dataType:"TEXT",

success:function(data)

{

window.location.href="wenwen.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;

}

});

})

$(".sc").click(function(){

//确认删除提示

var av = confirm("确定要删除");

if(av){

var url = $(this).attr("url");

$.ajax({

url: "shan.php",

data: {url: url},

type: "POST",

dataType: "TEXT",

success: function (data) {

window.location.href = "wenwen.php";

}

});

}

})

处理:

session_start();

$url = $_POST["url"];

$_SESSION["fname"] = $url;

删除:

$url = $_POST["url"];

unlink($url);

以上所述是小编给大家介绍的php实现文件管理与基础功能操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值