用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 相关文章推荐
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
劣质的PHP代码简化
Feb 08 PHP
php下关于Cannot use a scalar value as an array的解决办法
Aug 08 PHP
基于empty函数的输出详解
Jun 17 PHP
php中hashtable实现示例分享
Feb 13 PHP
PHP中把数据库查询结果输出为json格式简单实例
Apr 09 PHP
WordPress中使主题支持小工具以及添加插件启用函数
Dec 22 PHP
PHP使用Pear发送邮件(Windows环境)
Jan 05 PHP
WordPress中调试缩略图的相关PHP函数使用解析
Jan 07 PHP
浅谈PHP正则中的捕获组与非捕获组
Jul 18 PHP
PHP互换两个变量值的方法(不用第三变量)
Nov 14 PHP
php动态读取数据清除最右边距的方法
Apr 12 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程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
模拟flock实现文件锁定
2007/02/14 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
js控制的遮罩层实例介绍
2013/05/29 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
轻松创建nodejs服务器(8):非阻塞是如何实现的
2014/12/18 NodeJs
Js+php实现异步拖拽上传文件
2015/06/23 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
jQuery简单实现列表隐藏和显示效果示例
2016/09/12 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
2020/11/09 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
python 解析XML python模块xml.dom解析xml实例代码
2014/02/07 Python
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
Python如何生成树形图案
2018/01/03 Python
Django密码系统实现过程详解
2019/07/19 Python
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
世界上最好的足球商店:Unisport
2019/03/02 全球购物
工业设计专业个人求职信范文
2013/12/28 职场文书
甜点店创业计划书
2014/01/27 职场文书
教师一岗双责责任书
2014/04/16 职场文书
垃圾桶标语
2014/06/24 职场文书
小学生2014国庆节演讲稿:祖国在我心中
2014/09/21 职场文书
自愿离婚协议书范本
2015/01/26 职场文书
我的1919观后感
2015/06/03 职场文书
外出考察学习心得体会
2016/01/18 职场文书
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript
关于html选择框创建占位符的问题
2021/06/09 HTML / CSS
python中的sys模块和os模块
2022/03/20 Python