简单的 文件 管理操作

主要实现功能

遍历文件列表

文件添加

文件删除

文件内容编辑

文件重命名

 

主要使用函数

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>';

}

?>  

 

你可能感兴趣的:(文件)