用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+MSSQL分页的例子
Oct 09 PHP
用PHP查询域名状态whois的类
Nov 25 PHP
php 防止单引号,双引号在接受页面转义
Jul 10 PHP
PHP数组交集的优化代码分析
Mar 06 PHP
使用PHP实现二分查找算法代码分享
Jun 24 PHP
php中current、next与reset函数用法实例
Nov 17 PHP
php计划任务之ignore_user_abort函数实现方法
Jan 08 PHP
PHP用反撇号执行外部命令
Apr 14 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
Jun 23 PHP
利用php_imagick实现复古效果的方法
Oct 18 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
Jun 07 PHP
Laravel 修改验证异常的响应格式实例代码详解
May 25 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
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
PHP里的中文变量说明
2011/07/23 PHP
PHP内置过滤器FILTER使用实例
2014/06/25 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
简单实现PHP留言板功能
2016/12/21 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
JavaScript flash复制库类 Zero Clipboard
2011/01/17 Javascript
js模拟点击事件实现代码
2012/11/06 Javascript
js获取select选中的option的text示例代码
2013/12/19 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
javascript实现input file上传图片预览效果
2015/12/31 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
2020/07/28 Javascript
vue.js指令v-for使用及索引获取
2016/11/03 Javascript
基于Vue实现timepicker
2017/04/25 Javascript
vuejs手把手教你写一个完整的购物车实例代码
2017/07/06 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
详解多页应用 Webpack4 配置优化与踩坑记录
2018/10/16 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
vue@cli3项目模板怎么使用public目录下的静态文件
2020/07/07 Javascript
Python的Flask框架中web表单的教程
2015/04/20 Python
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
Python的网络编程库Gevent的安装及使用技巧
2016/06/24 Python
python的staticmethod与classmethod实现实例代码
2018/02/11 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
基于Pytorch SSD模型分析
2020/02/18 Python
Python创建临时文件和文件夹
2020/08/05 Python
利用python查看数组中的所有元素是否相同
2021/01/08 Python
大学生村官事迹材料
2014/01/21 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
小学竞选班干部演讲稿
2014/08/20 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
会议简讯范文
2015/07/20 职场文书