先截个图:

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

 <?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. cropbox插件实现的头像裁剪效果

    html代码 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UT ...

  2. 【最大流之EdmondsKarp算法】【HDU1532】模板题

    题意:裸的最大流,什么是最大流,参考别的博客 运用复杂度最高的EK算法 O(M*N),模板来自紫书 #include <cstdio> #include <cstdlib> # ...

  3. [DevExpress]图表开发工具类 ChartUtils

    /// <summary> /// 基于.NET 3.5的Chart工具类;对应的DevExpress版本:12.1.7; /// </summary> public stat ...

  4. 什么是HTTP Keep-Alive呢?

    在通过调试工具查看网络请求的时候,通常在response header能看到类似下面这种:Keep-Alive: timeout=10, max=94 .那么Keep-Alive到底是什么呢? HTT ...

  5. UVA 1660 Cable TV Network

    题意: 求一个无向图的点连通度. 分析: 把一个点拆成一个入点和一个出点,之间连一条容量为1的有向边,表示能被用一次.最大流求最小割即可.套模板就好 代码; #include <iostream ...

  6. C# AES,AesManaged使用学习

    加密 static byte[] EncryptBytes_Aes(byte[] plainText, byte[] Key, byte[] IV) { // Check arguments. ) t ...

  7. 【Android】Fragment如何获取子Fragment

    今天搞了个嵌套的Fragment,通过外部的Fragment获取的子Fragment代码: this.navigationBar = (HXKJCargoNavigationView) getFrag ...

  8. zoj1183 Scheduling Lectures

    这道题题意不想说了,跑了640ms,感觉水过去了,应该能通过单调队列优化,很长时间没碰已经不知道怎么写了,就说说现在的写法吧. 状态定义很关键:dp[i][j]把前j个topic放在前i堂课. 因为这 ...

  9. BroadcastReceiver浅析

    1.什么是BroadcastReceiver? 本质上是属于一个监听器,但onXxxListenter只是程序级别的监听器,当程序退出时候监听器也随之关闭.而BroadcastReceiver是系统级 ...

  10. php遍历目录输出目录及其下的所有图片文件

    在做网站的时候,需要给文章内所有的图片添加上logo,如何利用ThinkPHP来实现. ThinkPHP为我们很好的提供了图像处理类,给文章中的所有图片加上水印的思路,上传的图片文件都保存在一个文件夹 ...