PHP基础示例:简单的在线文件管理
先截个图:

下面为代码部分,由于只有一个文件,所以就不折叠了。
<?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'> </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基础示例:简单的在线文件管理的更多相关文章
- Membership三步曲之入门篇 - Membership基础示例
Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 - Membership基础示例 Membership三步曲之进阶篇 - 深入剖析Pro ...
- [转]Membership三步曲之入门篇 - Membership基础示例
本文转自:http://www.cnblogs.com/jesse2013/p/membership.html Membership三步曲之入门篇 - Membership基础示例 Members ...
- 开源作品-PHP写的在线文件管理工具(单文件绿色版)-SuExplorer_PHP_3_0
前言:项目开发过程中,网站一般部署到远程服务器,所以文件管理就不能和本机操作一样方便.通常文件管理是用ftp下载到本地,修改后再上传,或者远程登录到服务器进行修改.但是这些操作都依赖于复杂的第三方软件 ...
- ASP.NET Core 异常和错误处理 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 异常和错误处理 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 异常和错误处理 上一章节中,我们学习了 ASP.NET Cor ...
- php小项目-web在线文件管理器
php小项目-web在线文件管理器 一 项目结果相关视图 二 项目经验 通过简单的实现小项目,对php的文件相关操作更加熟悉,主要用于熟悉文件的相关操作 三 源代码下载地址 http://files. ...
- 【Remoting】.Net remoting方法实现简单的在线升级(上篇:更新文件)
一.前言: 最近做一个简单的在线升级Demo,使用了微软较早的.Net Remoting技术来练手. 简单的思路就是在服务器配置一个Remoting对象,然后在客户端来执行Remoting ...
- atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服 ...
- Web 在线文件管理器学习笔记与总结(19)上传文件
dir.func.php 中添加方法: /* 上传文件 */ function uploadFile($fileInfo,$path,$allowExt = array('jpg','jpeg','p ...
- Web 在线文件管理器学习笔记与总结(17)复制文件 (18)剪切文件
(17)复制文件 ① 复制文件通过copy($src,$dst) 来实现 ② 检测目标目录是否存在,如果存在则继续检测目标目录中是否存在同名文件,如果不存在则复制成功 file.func.php 中添 ...
随机推荐
- 搭建MyBatis框架
一.开发环境 1.JDK 1.6.0_22 2.MyEclipse 10.7.1 3.Oracle_10g_10.2.0.4 注:各软件版本不是必须的,正常任意版本都行,文件较大就不附上下载地址了,推 ...
- 关于Console的Main(String[] args)参数输入
之前接触一个往Console里输入参数的项目,资深QA教我怎么run,灰常脸红. 今日无事,baidu之. Step1 写简单Console Code. class Program { static ...
- php预定义常量&变量
PHP中可以使用预定义常量获取PHP中的信息,常用的预定义常量如下表所示. 常量名 功能 _FILE_ 默认常量,PHP程序文件名 _LINE_ 默认常量,PHP程序行数 PHP_VERSION ...
- Hadoop 安装 (4) SSH无密码验证配置
验证SSH 和 RSYNC 已经安装好了 Master 生成密码对以及对于 Slave 的无密码登录. 见:http://www.cnblogs.com/xia520pi/archive/2012/0 ...
- C#(VS2008)服务编写-安装和部署
1.创建一个空白解决方案. 2.在解决方案下面添加两个Windows服务:WXSmsGuardNew(保护服务),WXSmsMainNew(主服务). 3.第一个服务作为保护服务,服务上添加两个控件: ...
- 安装oneproxy实现数据库的读写分离
领导就给了两台数据库,做主从,在从上搭建oneproxy插件,实现读写分离,一直就听说oneproxy,今天打算用一下 先下载最新的版本wget http://www.onexsoft.cn/soft ...
- 替换Gravatar头像默认服务器
这几天Gravatar头像服务器应该集体被墙了,头像无法显示.兵来将挡,水来土掩,上有政策,下有对策,和谐社会靠大家,哈. 利用多说Gravatar头像中转服务器替代头像默认服务器. 将下面代码添加到 ...
- Photoshop CS6 基础知识
Photoshop CS6 基础知识 新建 练习 宽度72, 像素厘米 ...
- Boost.Python:使用继承
An example #include <boost/python.hpp> #include <memory> #include <iostream> using ...
- mysql server advanced 5.6基于oracle linux 6.6的安装
mysql 安装有两种,rpm安装和源码包安装,两种包都可以从www.mysql.com官网下载,这次我测试下rpm安装方式. 1.安装环境以及mysql版本: 1.1vcenter 虚拟机环境 1. ...