用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 相关文章推荐
PHP合并数组+与array_merge的区别分析
Aug 01 PHP
利用curl 多线程 模拟 并发的详解
Jun 14 PHP
PHP自动生成后台导航网址的最佳方法
Aug 27 PHP
php遍历目录输出目录及其下的所有文件示例
Jan 27 PHP
PHP判断一个gif图片是否为动态图片的方法
Nov 19 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
Mar 19 PHP
php通过获取头信息判断图片类型的方法
Jun 26 PHP
php实现通过cookie换肤的方法
Jul 13 PHP
Zend Framework上传文件重命名的实现方法
Nov 25 PHP
PHP下 Mongodb 连接远程数据库的实例代码
Aug 30 PHP
php抽象类和接口知识点整理总结
Aug 02 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
Dec 02 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
Linux环境下搭建php开发环境的操作步骤
2013/06/17 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
PHP实现的curl批量请求操作示例
2018/06/06 PHP
PHP函数积累总结
2019/03/19 PHP
CSS常用网站布局实例
2008/04/03 Javascript
神奇的7个jQuery 3D插件整理
2011/01/06 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
2012/08/17 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
2013/01/11 Javascript
JavaScript操作DOM元素的childNodes和children区别
2015/04/01 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
vue实现路由不变的情况下,刷新页面操作示例
2020/02/02 Javascript
Python实现把数字转换成中文
2015/06/29 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
Miller Harris官网:英国小众香水品牌
2020/09/24 全球购物
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
教师查摆问题及整改措施
2014/10/11 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
个人售房合同协议书
2016/03/21 职场文书
2016年法制宣传月活动总结
2016/04/01 职场文书
如何写好开幕词?
2019/06/24 职场文书
历史名人教你十五个读书方法,赶快Get起来!
2019/07/18 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
Lombok的详细使用及优缺点总结
2021/07/15 Java/Android
golang生成vcf通讯录格式文件详情
2022/03/25 Golang
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript