• PHP基础示例:简单的在线文件管理


    先截个图:

    下面为代码部分,由于只有一个文件,所以就不折叠了。

      1 <?php
      2 //简单的在线文件管理
      3 
      4 $path = "./";
      5 $filelist=array("filesystem.php");//要过滤掉的文件
      6 
      7 //一、根据action的信息值,做对应的操作
      8 switch(@$_GET['action'])
      9 {
     10     case "del": //删除一个文件
     11         unlink($_GET["filename"]);
     12         break;
     13     case "create": //创建一个文件
     14         //1.获取要创建的文件名
     15         $filename = trim($path,"/")."/".$_POST["filename"];
     16         //2.判断文件是否已存在
     17         if(file_exists($filename))
     18         {
     19             die("要创建的文件已存在!");
     20         }
     21         //3.创建这个文件
     22         $f = fopen($filename,"w");
     23         fclose($f);
     24         break;
     25         
     26     case "edit":  //编辑文件信息
     27         //1.获取文件名
     28         $filename=$_GET["filename"];
     29         //2.读取文件的内容
     30         $fileinfo= file_get_contents($filename);
     31         break;
     32     case "update": //修改文件信息
     33         //1.获取信息:文件名,内容
     34         $filename = $_POST["filename"];
     35         $content = $_POST["content"];
     36         //2.执行文件内容修改
     37         file_put_contents($filename,$content);
     38         break;
     39 }
     40 
     41 //二、浏览指定目录下的文件
     42 
     43     //1.判断path存在,并且是否是个目录
     44     if(! file_exists($path) && is_dir($path))
     45     {
     46         die($path."目录无效!");
     47     }
     48     //2.输出表头信息
     49     echo "<h3>{$path}目录下的文件信息<h3>";
     50     echo "<h4><a href='filesystem.php?action=add'>创建文件</a></h4>";
     51     echo "<table width='600' border='0'>";
     52     echo "<tr bgcolor='#cccccc' align='left'>";
     53         echo "<th>序号</th><th>名称</th><th>类型</th><th>大小</th><th>创建时间</th><th>操作</th>";
     54     echo "</tr>";
     55     
     56     //3.打开这个目录并遍历目录下面的所有文件
     57     $dir = opendir($path);
     58     if($dir)
     59     {
     60         $i=0;
     61         //遍历目录中的文件,并输出文件的信息
     62         while($f = readdir($dir))
     63         {
     64             if($f=="." || $f==".." || in_array($f,$filelist))
     65             {
     66                 continue;//跳出本次循环,继续下一次遍历
     67             }
     68             $file = trim($path,"/")."/".$f;
     69             $i++;
     70             echo "<tr>";
     71             echo "<td>{$i}</td>";
     72             echo "<td>{$f}</td>";
     73             echo "<td>".filetype($file)."</td>";
     74             echo "<td>".filesize($file)."</td>";
     75             echo "<td>".date("Y-m-d H:i:s",filectime($file))."</td>";
     76             echo "<td><a href='filesystem.php?filename={$file}&action=del'>删除</a>
     77                       <a href='filesystem.php?filename={$file}&action=edit'>修改</a>
     78                 
     79                   </td>";
     80             echo "</tr>";
     81         }
     82         closedir($dir);//关闭目录
     83     }
     84     echo "<tr bgcolor='#cccccc' align='left'><td colspan='6'>&nbsp;</td></tr>";
     85     echo "</table>";
     86     
     87 //三、判断是否需要文件表单,若需输出创建文件的表单框
     88 if(@$_GET['action']=="add")
     89 {
     90     echo "<br/><br/><form action='filesystem.php?action=create' method='post'>";
     91     echo "新建文件: <input type='text' name='filename' size='12'/>";
     92     echo "<input type='submit' value='新建文件'>";
     93     echo "</form>";
     94 }
     95 
     96 //四、判断是否需要编辑文件表单,若需输出创建文件的表单框
     97 if(@$_GET['action']=="edit")
     98 {
     99     echo "<br/><br/><form action='filesystem.php?action=update' method='post'>";
    100     echo "<input type='hidden' name='filename' value='{$filename}'/> ";
    101     echo "文件名: {$filename}<br/><br/>";
    102     echo "文件内容:<textarea name='content' cols='40' row='6'>{$fileinfo}</textarea><br/>";
    103     echo "<input type='submit' value='执行编辑'>";
    104     echo "</form>";
    105 }
  • 相关阅读:
    拓扑排序问题
    向陈越姥姥哭诉----关键活动
    最小生成树之Prim算法和Kruskal算法
    1212. Team Scores in Football Tournament
    1205. 每月交易II
    1098. 小众书籍
    1204. Last Person to Fit in the Elevator
    579. 查询员工的累计薪水
    1127. User Purchase Platform
    1225. 报告系统状态的连续日期
  • 原文地址:https://www.cnblogs.com/guaidaodark/p/4547937.html
Copyright © 2020-2023  润新知