用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 相关文章推荐
手把手教你使用DedeCms的采集的图文教程
Mar 11 PHP
jq的get传参数在utf-8中乱码问题的解决php版
Jul 23 PHP
php Http_Template_IT类库进行模板替换
Mar 19 PHP
深入解析PHP中的(伪)多线程与多进程
Jul 01 PHP
mantis安装、配置和使用中的问题小结
Jul 14 PHP
PHP判断文章里是否有图片的简单方法
Jul 26 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
Mar 12 PHP
php通过asort()给关联数组按照值排序的方法
Mar 18 PHP
php对象和数组相互转换的方法
May 12 PHP
php中session定期自动清理的方法
Nov 12 PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 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
php定时计划任务的实现方法详解
2013/06/06 PHP
Parse正式发布开源PHP SDK
2014/08/11 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
2018/05/21 PHP
PHP使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
图片自动缩小 点击放大
2008/07/07 Javascript
jQuery实现文本展开收缩特效
2015/06/03 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
2016/01/10 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
JavaScript设计模式之构造函数模式实例教程
2018/07/02 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
[00:33]2018DOTA2亚洲邀请赛TNC出场
2018/04/04 DOTA
python实现bucket排序算法实例分析
2015/05/04 Python
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
如何在Python中编写并发程序
2016/02/27 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
2018/11/14 Python
美国高级音响品牌:Master&Dynamic
2018/07/05 全球购物
Chi Chi London官网:购买连衣裙和礼服
2020/10/25 全球购物
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
2014年大学生自我评价
2014/01/19 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
学习保证书100字
2015/02/26 职场文书
岗位聘任报告
2015/03/02 职场文书
CAD实训总结范文
2015/08/03 职场文书
HTML+CSS 实现顶部导航栏菜单制作
2021/06/03 HTML / CSS
python常见的占位符总结及用法
2021/07/02 Python
mysql sql常用语句大全
2022/06/21 MySQL