<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经典实例的更多相关文章

  1. 安卓手机文件管理器简单横向评比 - imsoft.cnblogs

      X-plore文件管理器 个人评价:安卓手机上管理文件的神器,所有文件一览无余,加上自己对软件常用功能的配置,管理文件无比方便.(本人一直使用)   Solid文件管理器 个人评价:用户体验真的很 ...

  2. Android 应用开发实例之文件管理器

    2013-07-02 10.2 文件管理器 能够浏览和管理手机/存储卡上的文件和文件夹,包括重命名.删除.新建.复制.粘帖等文件操作. 由于需要浏览大量的文件/文件夹,所以需要使用一个ListView ...

  3. 数据可视化(5)--jqplot经典实例

    本来想把实例也写到上篇博客里,最后发现太长了,拆成两篇博客了. 实例来源于官方文档:http://www.jqplot.com/tests/ 这篇博客主要是翻译了官方文档关于经典实例的解说,并在相应代 ...

  4. 免费的在线Web文件管理器:Net2FTP,Pydio,eXtplorer,KodExplorer–功能强大

    https://www.freehao123.com/web-ftp/ 经常有朋友在使用一些没有带文件管理器的空间时,苦于没有办法来解压上传的文件压缩包,而如果不先上传压缩包,直接上传文件夹的话耗费的 ...

  5. 《C#并发编程经典实例》笔记

    1.前言 2.开宗明义 3.开发原则和要点 (1)并发编程概述 (2)异步编程基础 (3)并行开发的基础 (4)测试技巧 (5)集合 (6)函数式OOP (7)同步 1.前言 最近趁着项目的一段平稳期 ...

  6. 【原】iOS学习之文件管理器(NSFileManager)和文件对接器(NSFileHandle)

    1.文件管理器(NSFileManager) 1> 主要作用及功能方法 主要作用:此类主要是对文件进行的操作(创建/删除/改名等)以及文件信息的获取. 功能方法: 2> 创建文件夹 创建所 ...

  7. c#初学-多线程中lock用法的经典实例

    本文转载自:http://www.cnblogs.com/promise-7/articles/2354077.html 一.Lock定义     lock 关键字可以用来确保代码块完成运行,而不会被 ...

  8. 《C# 并发编程 · 经典实例》读书笔记

    前言 最近在看<C# 并发编程 · 经典实例>这本书,这不是一本理论书,反而这是一本主要讲述怎么样更好的使用好目前 C#.NET 为我们提供的这些 API 的一本书,书中绝大部分是一些实例 ...

  9. 多线程中lock用法的经典实例

    多线程中lock用法的经典实例 一.Lock定义     lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断.它可以把一段代码定义为互斥段(critical section),互斥段在一 ...

随机推荐

  1. break,continue,return 的区别

    (1)break 跳出当前循环体 (2)continue 跳过当前循环体continue后面的代码,继续执行下一个循环 (3)return 和循环没关系,就是跳出该函数

  2. 第142天:Size Marks下载安装和使用方法

    Size Marks下载安装使用方法 一.下载安装 1.下载Size marks:链接: https://pan.baidu.com/s/1breyMf1 密码: fjsn 2. 复制 Size Ma ...

  3. 【bzoj3560】DZY Loves Math V 欧拉函数

    题目描述 给定n个正整数a1,a2,…,an,求 的值(答案模10^9+7). 输入 第一行一个正整数n. 接下来n行,每行一个正整数,分别为a1,a2,…,an. 输出 仅一行答案. 样例输入 3 ...

  4. MSSQL数据库分页存储过程

    create procedure [dbo].[p_splitpage] ), , , output, output as set nocount on declare @p1 int ,,@rowc ...

  5. 网络流24题之星际转移问题(洛谷P2754)

    洛谷 P2754 题目背景 none! 题目描述 由于人类对自然资源的消耗,人们意识到大约在 2300 年之后,地球就不能再居住了.于是在月球上建立了新的绿地,以便在需要时移民.令人意想不到的是,21 ...

  6. [HNOI2014]江南乐 博弈论

    题面 题面 题解 首先我们知道一个关于除法的重要性质:对于一个固定的\(i\),表达式\(\frac{i}{m}\)的取值只有根号个. 因此我们考虑如何优化SG函数的求解. 观察到在取值相同的同一段中 ...

  7. CF765F Souvenirs 解题报告

    CF765F Souvenirs 题意翻译 给出\(n(2 \le n \le 10^5 )\) ,一个长为\(n\)的序列\(a(0 \le a_i \le 10^9 )\). 给出\(m(1\le ...

  8. Spring切面之一

    为什么要使用AOP,在编写程序的时候,除了不必关心依赖的组件如何实现,在实际开发过程中,还需要将程序中涉及的公共问题集中解决.AOP是Aspect-Oriented Programming的简称,意思 ...

  9. Introducing my blog

    作为一名计算机专业的学生,在我的博客中我会记录以下几方面的内容: 1.在阅读各类专业书籍的过程中,遇到了一些自己通过很大努力才思考.解决出来的问题/知识/概念,我会通过我自己的讲解将这些问题较为全面. ...

  10. Virtual Box虚拟机下CentOS网络设置

    VirtualBox中有4中网络连接方式: a. NAT                          网络地址转换模式(Network Address Translation)b. Bridge ...