用PHP实现维护文件代码


Posted in PHP onJune 14, 2007

PHP有很多与文件系统相关的函数,不仅可以帮助你打开文件,还可以显示目录内容、移动文件等。很多人甚至使用PHP写出了基于Web的文件管理器。

首先需要提醒一些关于文件路径的东西:在Windows你可以在文件路径中使用斜线“/”或反斜线“\”,而其他操作系统仅使用”/”。出于兼容性考虑,以下实例使用“/”的表示方法:

下面的简单脚本显示了一个基本的目录列表。注释在代码中并解释了每一步:

<? /* 在变量 $dir_name中给出希望访问的目录完整路径*/

$dir_name = "/home/me/"; 

/* 创建句柄,打开给定目录的结果*/

$dir = opendir($dir_name); 

/* 启动一段文本添加到将要放置列表元素(文件名)的地方 */

$file_list = "<ul>"; 

/* 使用while语句,读取所打开目录的所有元素。如果文件名既非“.”及“..”则在列表中输出文件名*/

while ($file_name = readdir($dir)) { 

if (($file_name != ".") && ($file_name != "..")) { 

$file_list .= "<li>$file_name"; 

/* 终结列表 */

$file_list .= "</ul>"; 

/* 关闭打开的目录句柄并结束PHP代码段*/

closedir($dir); 

?> 

<!-- Start your HTML --> 

<HTML>

<HEAD>

<TITLE>Directory Listing</TITLE>

</HEAD>

<BODY>

<!-- Use PHP to print the name of the directory you read --> 

<P>Files in: <? echo "$dir_name"; ?></p> 

<!-- Use PHP to print the directory listing -->

<? echo "$file_list"; ?> 

</BODY>

</HTML> 

恭喜,这时已经有了一个目录列表。需要记住,要读取目录或文件(马上你会见到)中的内容用户所在的PHP运行平台必须至少对目录或文件有read权限。

以下例子为如何复制文件:

<? /* 将需要复制的文件路径放入变量$original,复制的目标路径放入变量$copied */

$original = "/home/me/mydatabasedump";

$copied = "/archive/mydatabasedumo_1010"; 

/* 使用函数copy() 复制源文件至目的地,或以输出错误信息结束*/

@copy($original, $copied) or die("Couldn't copy file."); 

?> 

示例脚本是备份系统的第一步。当脚本运行时,出于安全考虑它先将数据库复制到不同地点。通过对crontab的修改,你可以在选定时间执行此文件而无需用户介入。

假设系统上已有Lynx,你可以创建crontab入口以运行Lynx并访问文件。访问文件将运行脚本并创建复制文件。以下例子将在早晨5点运行脚本,然后关闭Lynx:

0 5 * * * [username] lynx -dump http://localhost/copyfile.php 1>/dev/null 2>&1 

如果你运行的是PHP的CGI版本,你可以跳过Lynx部分并参考二进制文件:

0 5 * * * [username] php /path/to/copyfile.php 1>/dev/null 2>&1 

PHP 相关文章推荐
不用数据库的多用户文件自由上传投票系统(2)
Oct 09 PHP
PHP+MySQL5.0中文乱码解决方法
Nov 20 PHP
PHP 创建文件(文件夹)以及目录操作代码
Mar 04 PHP
php设置编码格式的方法
Mar 05 PHP
浅析十款PHP开发框架的对比
Jul 05 PHP
PHP检测移动设备类mobile detection使用实例
Apr 14 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
PHP代码实现爬虫记录――超管用
Jul 31 PHP
php中请求url的五种方法总结
Jul 13 PHP
php设计模式之策略模式应用案例详解
Jun 17 PHP
基于PHP实现微信小程序客服消息功能
Aug 12 PHP
PHP实现文件上传与下载
Aug 28 PHP
用PHP实现的随机广告显示代码
Jun 14 #PHP
PHP生成月历代码
Jun 14 #PHP
用PHP实现图象锐化代码
Jun 14 #PHP
PHP静态新闻列表自动生成代码
Jun 14 #PHP
discuz安全提问算法
Jun 06 #PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
Jun 06 #PHP
phpMyAdmin下载、安装和使用入门教程
May 31 #PHP
You might like
浅谈PHP eval()函数定义和用法
2016/06/21 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
初窥JQuery(二) 事件机制(1)
2010/11/25 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
2014/12/15 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
Python实现遍历windows所有窗口并输出窗口标题的方法
2015/03/13 Python
使用Python中的tkinter模块作图的方法
2017/02/07 Python
利用Python在一个文件的头部插入数据的实例
2018/05/02 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
jupyter notebook中美观显示矩阵实例
2020/04/17 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
微软加拿大官方网站:Microsoft Canada
2019/04/28 全球购物
Shell如何接收变量输入
2012/09/24 面试题
Java程序员面试题
2016/09/27 面试题
学术会议邀请函范文
2014/01/22 职场文书
电台编导求职信
2014/05/06 职场文书
2014年终个人总结报告
2015/03/09 职场文书
jquery插件实现搜索历史
2021/04/24 jQuery
django学习之ajax post传参的2种格式实例
2021/05/14 Python