简单的 文件 管理操作
主要实现功能
遍历文件列表
文件添加
文件删除
文件内容编辑
文件重命名
主要使用函数
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>';
}
?>
前望

浙公网安备 33010602011771号