php简单文件管理器——php经典实例
<html>
<head>
<title>文件管理</title>
<meta charset='utf-8' />
</head>
<body>
<?php
//定义要查看的目录
$dir="/"; //先判断$_GET['a']是否已经传值 防止NOTICE错误
if(isset($_GET['a'])){
//选择判断要执行的操作
switch($_GET['a']){
case 'creat':
//新建文件
$filename=$_POST["filename"];
$filename=rtrim($dir,"/")."/".$filename;
//写入文件 写入一个空字符串
file_put_contents($filename,"");
break;
case 'del':
//删除文件
unlink($_GET['filename']);
break;
case 'update':
//修改文件
file_put_contents($_POST['filename'],$_POST['content']);
echo "修改成功";
header("refresh:1;url=index.php");
break;
}
} ?>
<center>
<h1>文件管理</h1>
<form action='index.php?a=creat' method='post'>
文件:<input type='text' name='filename' />
<input type='submit' value='新建' />
</form>
<table border='' width='' cellpadding='' cellspacing=''>
<tr>
<th>文件名</th>
<th>类型</th>
<th>大小</th>
<th>创建时间</th>
<th>操作</th>
</tr>
<?php
//遍历目录
$dd=opendir($dir);
while(false !== ($f=readdir($dd))){
//过滤点
if($f == "." || $f == ".."){
continue;
}
//拼路径
$file=rtrim($dir,"/")."/".$f;
//防止中文乱码
$f2=iconv("gb2312","utf-8",$f);
echo "<tr>";
echo "<td>{$f2}</td>";
echo "<td>".filetype($file)."</td>";
echo "<td>".filesize($file)."</td>";
echo "<td>".filectime($file)."</td>";
echo "<td align='center'>
<a href='index.php?a=edit&filename={$file}'>修改</a>|
<a href='index.php?a=del&filename={$file}'>删除</a>
</td>";
echo "</tr>"; }
?>
</table>
<?php
if(isset($_GET['a']) && $_GET['a']=='edit'){
echo "<hr/>";
echo "<form action='index.php?a=update' method='post'>";
echo "文件名:<input type='text' name='filename' readonly value='{$_GET['filename']}' />";
echo "<br/><br/>";
echo "<textarea name='content' rows='5' cols='30'>".file_get_contents($_GET['filename'])."</textarea>";
echo "<br/><br/>";
echo "<input type='submit' value='保存修改' />";
echo "</form>";
} ?>
</center>
</body>
</html>
php简单文件管理器——php经典实例

php简单文件管理器——php经典实例的更多相关文章
- 安卓手机文件管理器简单横向评比 - imsoft.cnblogs
X-plore文件管理器 个人评价:安卓手机上管理文件的神器,所有文件一览无余,加上自己对软件常用功能的配置,管理文件无比方便.(本人一直使用) Solid文件管理器 个人评价:用户体验真的很 ...
- Android 应用开发实例之文件管理器
2013-07-02 10.2 文件管理器 能够浏览和管理手机/存储卡上的文件和文件夹,包括重命名.删除.新建.复制.粘帖等文件操作. 由于需要浏览大量的文件/文件夹,所以需要使用一个ListView ...
- 数据可视化(5)--jqplot经典实例
本来想把实例也写到上篇博客里,最后发现太长了,拆成两篇博客了. 实例来源于官方文档:http://www.jqplot.com/tests/ 这篇博客主要是翻译了官方文档关于经典实例的解说,并在相应代 ...
- 免费的在线Web文件管理器:Net2FTP,Pydio,eXtplorer,KodExplorer–功能强大
https://www.freehao123.com/web-ftp/ 经常有朋友在使用一些没有带文件管理器的空间时,苦于没有办法来解压上传的文件压缩包,而如果不先上传压缩包,直接上传文件夹的话耗费的 ...
- 《C#并发编程经典实例》笔记
1.前言 2.开宗明义 3.开发原则和要点 (1)并发编程概述 (2)异步编程基础 (3)并行开发的基础 (4)测试技巧 (5)集合 (6)函数式OOP (7)同步 1.前言 最近趁着项目的一段平稳期 ...
- 【原】iOS学习之文件管理器(NSFileManager)和文件对接器(NSFileHandle)
1.文件管理器(NSFileManager) 1> 主要作用及功能方法 主要作用:此类主要是对文件进行的操作(创建/删除/改名等)以及文件信息的获取. 功能方法: 2> 创建文件夹 创建所 ...
- c#初学-多线程中lock用法的经典实例
本文转载自:http://www.cnblogs.com/promise-7/articles/2354077.html 一.Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被 ...
- 《C# 并发编程 · 经典实例》读书笔记
前言 最近在看<C# 并发编程 · 经典实例>这本书,这不是一本理论书,反而这是一本主要讲述怎么样更好的使用好目前 C#.NET 为我们提供的这些 API 的一本书,书中绝大部分是一些实例 ...
- 多线程中lock用法的经典实例
多线程中lock用法的经典实例 一.Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断.它可以把一段代码定义为互斥段(critical section),互斥段在一 ...
随机推荐
- BZOJ 2141 排队(树状数组套主席树)
解法很多的题,可以块套树状数组,可以线段树套平衡树.我用的是树状数组套主席树. 题意:给出一段数列,m次操作,每次操作是交换两个位置的数,求每次操作后的逆序对数.(n,m<=2e4). 对于没有 ...
- BZOJ 1483 梦幻布丁(链表+启发式合并)
给出一个长度为n的序列.支持两种操作: 1.把全部值为x的修改成y.2.询问序列有多少连续段. 我们可以对于每个值建立一个链表.对于操作1,则可以将两个链表合并. 对于操作2,只需要在每次合并链表的时 ...
- (转)rabbitmq的web管理界面无法使用guest用户登录
转至http://www.cnblogs.com/mingaixin/p/4134920.html 安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的 ...
- Contest 6
A:容易发现这要求所有子集中元素的最高位1的位置相同,并且满足这个条件也是一定合法的.统计一下即可. #include<iostream> #include<cstdio> # ...
- 解题:BOI 2008 Elect
题面 做背包时可以通过排序来使得转移满足某种限制或是让我们判断一个状态是否有贡献 这个题将人数从大到小排序后做背包,这样每次那个最小的党加入而使得答案合法时之前的党也都是合法的 #include< ...
- 【CF375C】Circling Round Treasures
Portal --> CF375C Solution 一个有趣的事情:题目中有很大的篇幅在介绍如何判断一个位置在不在所围的多边形中 那么..给了方法当然就是要用啊 首先是不能包含\('B'\ ...
- 随机抽样一致性算法(RANSAC)转载
这两天看<计算机视觉中的多视图几何>人都看蒙了,转载一些干货看看 转自王先荣 http://www.cnblogs.com/xrwang/archive/2011/03/09/ransac ...
- MFC中CListCtrl类依靠CImageList贴图并显示不同图像
只介绍主要方法,函数的具体参数可在MSDN上查阅 ------------------------------------------- CListCtrl m_ListCtrl; CImag ...
- 用python的turtle画图
画5个红色的同心圆代码如下: import turtle turtle.pencolor("red") # 设置画笔的颜色 turtle.pensize() # 设置画笔的宽度 t ...
- C++ ------ 互斥锁、原子操作的性能测试
atomic原子操作:是在新标准C++11,引入了原子操作的概念,并通过这个新的头文件提供了多种原子操作数据类型,例如,atomic_bool,atomic_int等等 测试程序 #include & ...