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'> </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 }