• 简单的 文件 管理操作


    主要实现功能

    遍历文件列表

    文件添加

    文件删除

    文件内容编辑

    文件重命名

    主要使用函数

    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>';
    }
    ?>  
    
    前望
  • 相关阅读:
    FreeRTOS之源码 及 移植详解
    FreeRTOS之Tracealyzer for FreeRTOS(FreeRTOS+Trace) 详解(源码解析+移植)
    FreeRTOS之全配置项详解、裁剪(FreeRTOSConfig.h)
    linux下安装oracle中遇到的一些问题
    RedHat Enterprise Linux 6 配置Xmanager ,实现图形界面连接
    Linux ext2/ext3文件系统详解
    对固态硬盘ssd进行4k对齐
    在CentOs6.5安装jdk
    Android的API版本和名称对应关系
    Java反射机制及Method.invoke详解
  • 原文地址:https://www.cnblogs.com/ybbqg/p/2496755.html
Copyright © 2020-2023  润新知