先截个图:

下面为代码部分,由于只有一个文件,所以就不折叠了。

 <?php
//简单的在线文件管理 $path = "./";
$filelist=array("filesystem.php");//要过滤掉的文件 //一、根据action的信息值,做对应的操作
switch(@$_GET['action'])
{
case "del": //删除一个文件
unlink($_GET["filename"]);
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": //编辑文件信息
//1.获取文件名
$filename=$_GET["filename"];
//2.读取文件的内容
$fileinfo= file_get_contents($filename);
break;
case "update": //修改文件信息
//1.获取信息:文件名,内容
$filename = $_POST["filename"];
$content = $_POST["content"];
//2.执行文件内容修改
file_put_contents($filename,$content);
break;
} //二、浏览指定目录下的文件 //1.判断path存在,并且是否是个目录
if(! file_exists($path) && is_dir($path))
{
die($path."目录无效!");
}
//2.输出表头信息
echo "<h3>{$path}目录下的文件信息<h3>";
echo "<h4><a href='filesystem.php?action=add'>创建文件</a></h4>";
echo "<table width='600' border='0'>";
echo "<tr bgcolor='#cccccc' align='left'>";
echo "<th>序号</th><th>名称</th><th>类型</th><th>大小</th><th>创建时间</th><th>操作</th>";
echo "</tr>"; //3.打开这个目录并遍历目录下面的所有文件
$dir = opendir($path);
if($dir)
{
$i=0;
//遍历目录中的文件,并输出文件的信息
while($f = readdir($dir))
{
if($f=="." || $f==".." || in_array($f,$filelist))
{
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?filename={$file}&action=del'>删除</a>
<a href='filesystem.php?filename={$file}&action=edit'>修改</a> </td>";
echo "</tr>";
}
closedir($dir);//关闭目录
}
echo "<tr bgcolor='#cccccc' align='left'><td colspan='6'>&nbsp;</td></tr>";
echo "</table>"; //三、判断是否需要文件表单,若需输出创建文件的表单框
if(@$_GET['action']=="add")
{
echo "<br/><br/><form action='filesystem.php?action=create' method='post'>";
echo "新建文件: <input type='text' name='filename' size='12'/>";
echo "<input type='submit' value='新建文件'>";
echo "</form>";
} //四、判断是否需要编辑文件表单,若需输出创建文件的表单框
if(@$_GET['action']=="edit")
{
echo "<br/><br/><form action='filesystem.php?action=update' method='post'>";
echo "<input type='hidden' name='filename' value='{$filename}'/> ";
echo "文件名: {$filename}<br/><br/>";
echo "文件内容:<textarea name='content' cols='40' row='6'>{$fileinfo}</textarea><br/>";
echo "<input type='submit' value='执行编辑'>";
echo "</form>";
}

PHP基础示例:简单的在线文件管理的更多相关文章

  1. Membership三步曲之入门篇 - Membership基础示例

    Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 -  Membership基础示例 Membership三步曲之进阶篇 -  深入剖析Pro ...

  2. [转]Membership三步曲之入门篇 - Membership基础示例

    本文转自:http://www.cnblogs.com/jesse2013/p/membership.html Membership三步曲之入门篇 - Membership基础示例   Members ...

  3. 开源作品-PHP写的在线文件管理工具(单文件绿色版)-SuExplorer_PHP_3_0

    前言:项目开发过程中,网站一般部署到远程服务器,所以文件管理就不能和本机操作一样方便.通常文件管理是用ftp下载到本地,修改后再上传,或者远程登录到服务器进行修改.但是这些操作都依赖于复杂的第三方软件 ...

  4. ASP.NET Core 异常和错误处理 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 异常和错误处理 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 异常和错误处理 上一章节中,我们学习了 ASP.NET Cor ...

  5. php小项目-web在线文件管理器

    php小项目-web在线文件管理器 一 项目结果相关视图 二 项目经验 通过简单的实现小项目,对php的文件相关操作更加熟悉,主要用于熟悉文件的相关操作 三 源代码下载地址 http://files. ...

  6. 【Remoting】.Net remoting方法实现简单的在线升级(上篇:更新文件)

    一.前言:       最近做一个简单的在线升级Demo,使用了微软较早的.Net Remoting技术来练手. 简单的思路就是在服务器配置一个Remoting对象,然后在客户端来执行Remoting ...

  7. atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php

    atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服 ...

  8. Web 在线文件管理器学习笔记与总结(19)上传文件

    dir.func.php 中添加方法: /* 上传文件 */ function uploadFile($fileInfo,$path,$allowExt = array('jpg','jpeg','p ...

  9. Web 在线文件管理器学习笔记与总结(17)复制文件 (18)剪切文件

    (17)复制文件 ① 复制文件通过copy($src,$dst) 来实现 ② 检测目标目录是否存在,如果存在则继续检测目标目录中是否存在同名文件,如果不存在则复制成功 file.func.php 中添 ...

随机推荐

  1. 好用的DNS服务器推荐

    DNS在平时上网中扮演重要角色,如果不注意DNS的话,可能会导致网速慢.弹窗广告.网址打不开.打开不是自己想要的网站.淘宝客劫持等一系列问题.针对DNS的问题,网络上也有各种DNS平台供用户选择.这里 ...

  2. c# 自定义位数生成激活码

    Random random = new Random(~unchecked((int)DateTime.Now.Ticks));private string CreateAndCheckCode(Ra ...

  3. BFC块级排版上下文

    1.BFC 全称是块级排版上下文,用于对块级元素排版,默认情况下只有根元素(body)一个块级上下文,但是如果一个块级元素 设置了float:left,overflow:hidden或position ...

  4. 如何对MySQL 对于大表(千万级)进行优化

    如何对Mysql中的大型表进行优化 @(mysql 笔记) 收集信息 1.数据的容量:1-3年内会大概多少条数据,每条数据大概多少字节: 2.数据项:是否有大字段,那些字段的值是否经常被更新: 3.数 ...

  5. ZRender源码分析6:Shape对象详解之路径

    开始 说到这里,就不得不提SVG的路径操作了,因为ZRender完全的模拟了SVG原生的path元素的用法,很是强大. 关于SVG的Path,请看这里: Path (英文版) 或者 [MDN]SVG教 ...

  6. android 自定义AlertDialog

    xml: alter_dialog_two <?xml version="1.0" encoding="utf-8"?> <LinearLay ...

  7. 转自:Python函数式编程指南(二):函数

    2. 从函数开始 2.1. 定义一个函数 如下定义了一个求和函数: 1 2 def add(x, y):     return x + y 关于参数和返回值的语法细节可以参考其他文档,这里就略过了. ...

  8. Memcached简明介绍

    官网介绍:http://memcached.org/ Free & open source, high-performance, distributed memory object cachi ...

  9. Centos6.5升级gcc for qt5.3.1

    1.升级GCC CentOS6.5内置的GCC版本为4.4,而Qt5.2.1则需要4.8.2的支持(支持C++ 11特性),因此,必须先升级GCC wget http://ftp.tsukuba.wi ...

  10. 从一个死锁看mysql innodb的锁机制

    背景及现象 线上生产环境在某些时候经常性的出现数据库操作死锁,导致业务人员无法进行操作.经过DBA的分析,是某一张表的insert操 作和delete操作发生了死锁.简单介绍下数据库的情况(因为涉及到 ...