用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 相关文章推荐
PHP4和PHP5共存于一系统
Nov 17 PHP
php调用mysql存储过程
Feb 14 PHP
PHP伪静态写法附代码
Jun 20 PHP
PHP 小心urldecode引发的SQL注入漏洞
Oct 27 PHP
php中CI操作多个数据库的代码
Jul 05 PHP
PHP中的函数-- foreach()的用法详解
Jun 24 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
Feb 14 PHP
PHP批量查询WordPress留言者E-mail地址实现方法
Feb 15 PHP
PHP关联数组实现根据元素值删除元素的方法
Jun 26 PHP
PHP变量赋值、代入给JavaScript中的变量
Jun 29 PHP
不常用但很实用的PHP预定义变量分析
Jun 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
是否存在第一台收音机的说法
2021/03/01 无线电
PHP学习 变量使用总结
2011/03/24 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
PHP查询分页的实现代码
2017/06/09 PHP
关于COOKIE个数与大小的问题
2011/01/17 Javascript
javascript打印输出json实例
2013/11/11 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
2017/02/22 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
jQuery实现上下滚动公告栏详细代码
2018/11/21 jQuery
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
Vue+Openlayers自定义轨迹动画
2020/09/24 Javascript
在vue中使用jsonp进行跨域请求接口操作
2020/10/29 Javascript
python实现得到一个给定类的虚函数
2014/09/28 Python
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
YSL圣罗兰美妆官方旗舰店:购买YSL口红
2018/04/16 全球购物
世界汽车零件:World Car Parts
2019/09/04 全球购物
Nixon手表英国官网:美国尼克松手表品牌
2020/02/10 全球购物
自动化职业生涯规划书范文
2014/01/03 职场文书
《纸船和风筝》教学反思
2014/02/15 职场文书
个人考核材料
2014/05/15 职场文书
竞聘上岗演讲稿
2014/05/16 职场文书
护士节活动总结
2014/08/29 职场文书
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers