简单的 文件 管理操作
主要实现功能
遍历文件列表
文件添加
文件删除
文件内容编辑
文件重命名
主要使用函数
unlink — 删除文件
fopen — 打开文件或者 URL
fclose — 关闭一个已打开的文件指针
file_get_contents — 将整个文件读入一个字符串
file_put_contents — 将一个字符串写入文件
rename — 重命名一个文件或目录
is_dir — 判断给定文件名是否是一个目录
opendir — 打开目录句柄
readdir — 从目录句柄中读取条目
closedir — 关闭目录句柄
filetype — 取得文件类型
filectime — 取得文件的 inode 修改时间
filesize — 取得文件大小
filesystem.php
<?php //文件操作 header('Content-Type:text/html; charset=utf-8'); error_reporting(0); $path = './'; $filterList = array('filesystem.php'); //过滤不显示的文件 $act = $_GET['act'] ? $_GET['act'] : 'list'; switch ($act) { case 'del': //删除文件处理 $filename = $_GET['filename']; unlink($filename); break; case 'add': //添加文件页面 break; case 'create': //创建文件 //1.获取要创建的文件名 $filename = trim($path, '/') . '/' . $_POST['filename']; //2.判断文件是否已存在 if (file_exists($filename)) { die('要创建的文件已经存在'); } //3.创建文件 $f = fopen($filename, 'w'); fclose($f); break; case 'edit': //文件内容编辑 $filename = $_GET['filename']; $content = file_get_contents($filename); break; case 'update': //文件内容更新 $filename = $_POST['filename']; $content = $_POST['content']; file_put_contents($filename, $content); break; case 'rename' : //重命名页面 $filename = $_GET['filename']; break; case 'doRename' : //重命名处理 $oldName = trim($path, '/') . '/' . $_POST['old_name']; $newName = trim($path, '/') . '/' . $_POST['new_name']; rename($oldName, $newName); break; default: break; } //判断是否为文件为目录 if (!file_exists($path) || !is_dir($path)) { die($path . '目录无效!'); } //遍历文件列表数据 echo '<h3>' . $path . '目录下的文件信息</h3>'; echo '<h4><a href="filesystem.php?act=add">创建文件</a></h4>'; echo '<table border="0">'; echo '<tr bgcolor="#ccc" align="left"><th>序号</th><th>文件名</th><th>文件类型</th><th>文件大小</th><th>创建时间</th><th>操作</th></tr>'; $dir = opendir($path); if ($dir) { $i = 0; while ($f = readdir($dir)) { if ($f == '.' || $f == '..') { continue; } if (in_array($f, $filterList)) { continue; } $file = trim($path, '/') . '/' . $f; $i++; echo '<tr>'; echo '<td>' . $i . '</td>'; echo '<td>' . $f . '</td>'; echo '<td>' . filetype($file) . '</td>'; echo '<td>' . filesize($file) . '</td>'; echo '<td>' . date('Y-m-d H:i:s', filectime($file)) . '</td>'; echo '<td><a href="filesystem.php?act=del&filename=' . $file . '">删除</a> <a href="filesystem.php?act=edit&filename=' . $file . '">编辑</a> <a href="filesystem.php?act=rename&filename=' . $file . '">重命名</a></td>'; echo '</tr>'; } closedir($dir); } echo '<tr bgcolor="#ccc" align="left"><td colspan="6"> </td></tr>'; echo '</table>'; if ($_GET['act'] == 'add') { echo '<br/><br/>'; echo '<form action="filesystem.php?act=create" method="post">'; echo '新建文件: <input type="text" name="filename" value="新建文件" size="12" />'; echo '<input type="submit" value="新建文件"/>'; echo '</form>'; } if ($_GET['act'] == 'edit') { echo '<br /><br />'; echo '<form action="filesystem.php?act=update" method="post">'; echo '<input type="hidden" name="filename" value="' . $filename . '" />'; echo '文件名:' . $filename . '<br/><br/>'; echo '文件内容:<textarea name="content" cols=40 rows=6>' . $content . '</textarea>'; echo '<input type="submit" value="执行编辑" />'; echo '</form>'; } if ($_GET['act'] == 'rename') { echo '<br /><br />'; echo '<form action="filesystem.php?act=doRename" method="post">'; echo '<input type="hidden" name="old_name" value="' . $filename . '" />'; echo '文件名:' . $filename . '<br/><br/>'; echo '重命名:<input type="text" name="new_name" value=""/>'; echo '<input type="submit" value="执行编辑" />'; echo '</form>'; } ?>
前望