温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php如何实现文件管理与基础功能操作

发布时间:2021-06-22 14:20:35 来源:亿速云 阅读:205 作者:小新 栏目:开发技术

这篇文章主要介绍php如何实现文件管理与基础功能操作,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

文件的基本操作

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

<body> <?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/*")); //取到这个文件夹里所有的文件,加后缀为条件  ?> <!--<img src="/wenjian/img/11.png" />--> <!--在网页里根/代表的是www目录--> </body>

文件整体操作:

<?php //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是可以接收的模式。

文件打开方式表:

php如何实现文件管理与基础功能操作

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

<?php $fname = "./ce/gf"; $d = opendir($fname); //打开文件资源 while ($url = readdir($d)) {  echo $fname."/".$url."<br/>"; // 仅读取文件名,把路径拼上=完整路径 } var_dump(glob("./*")); closedir($d); //关资源

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

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

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

<?php 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/*"); //最后给方法一个路径进行查找 ?>

看一下输出:

php如何实现文件管理与基础功能操作

再来一个!

例:删除文件

<?php $fname = "./ce/gf"; $d = opendir($fname); //打开文件资源 while ($url = readdir($d)) {  echo $fname."/".$url."<br/>"; // 仅读取文件名,把路径拼上=完整路径 } 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.先把查看文件的功能做出来,让他把所有的文件与文件夹啊显示出来;

<body> <?php //定义文件目录 $fname = "./ce"; //便利目录下的所有文件显示 $arr = glob($fname."/*"); foreach ($arr as $v) {  //从完整路径中取文件名  $name = basename($v);  echo "<div class='item' url='{$v}'>{$name}</div>"; } ?> </body>

图:

php如何实现文件管理与基础功能操作

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

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

//从完整路径中取文件名  $name = basename($v);  if(is_dir($v)){   echo "<div class='item dir' url='{$v}'>{$name}</div>";  }  else {   echo "<div class='item' url='{$v}'>{$name}</div>";  }

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

图:

php如何实现文件管理与基础功能操作

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

双击实现进入这个目录;

 js代码:

<script>  $(".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" ;    }   });  }) </script>

处理页面:

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

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

php如何实现文件管理与基础功能操作

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

$pname = dirname($fname); echo "<div id='shang' url='{$pname}'>返回上一级</div>";

图:

php如何实现文件管理与基础功能操作

写双击事件:

<script>  $("#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" ;    }   });  }) </script>

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

//上一级的目录 $pname = dirname($fname); if(realpath($fname)=="F:\\QQPCMgr\\WWW\\wenjian") {} else {  echo "<div id='shang' url='{$pname}'>返回上一级</div>"; }

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

php如何实现文件管理与基础功能操作

4.删除功能

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

 echo "<div class='item' url='{$v}'>{$name} <input type='button' value='删除' url='{$v}' class='sc'/> </div>";

php如何实现文件管理与基础功能操作

来写按钮的点击事件:

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";     }    });    }   })

删除的处理页面:

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

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

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"></script>  <style>   .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;   }  </style> </head> <body> <?php session_start(); //定义文件目录 $fname = "./ce"; if(!empty($_SESSION["fname"])) {  //如果session里面的不为空  $fname = $_SESSION["fname"]; } //上一级的目录 $pname = dirname($fname); if(realpath($fname)=="F:\\QQPCMgr\\WWW\\wenjian") {} else {  echo "<div id='shang' url='{$pname}'>返回上一级</div>"; } //便利目录下的所有文件显示 $arr = glob($fname."/*"); foreach ($arr as $v) {  //从完整路径中取文件名  $name = basename($v);  if(is_dir($v)){   echo "<div class='item dir' url='{$v}'>{$name}</div>";  }  else {   echo "<div class='item' url='{$v}'>{$name} <input type='button' value='删除' url='{$v}' class='sc'/> </div>";  } } ?> <script>  $(".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";     }    });    }   }) </script> </body> </html>

处理:

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

删除:

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

以上是“php如何实现文件管理与基础功能操作”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI