用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面向对象全攻略 (十六) 对象的串行化
Sep 30 PHP
php引用地址改变变量值的问题
Mar 23 PHP
php利用腾讯ip分享计划获取地理位置示例分享
Jan 20 PHP
php格式化日期和时间格式化示例分享
Feb 24 PHP
通过curl模拟post和get方式提交的表单类
Apr 23 PHP
PHP防范SQL注入的具体方法详解(测试通过)
May 09 PHP
PHP给文字内容中的关键字进行套红处理
Apr 12 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
Apr 23 PHP
[原创]php正则删除html代码中class样式属性的方法
May 24 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
Laravel创建数据库表结构的例子
Oct 09 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 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
?繁体转换的class
2006/10/09 PHP
PHP实现图片简单上传
2006/10/09 PHP
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
php计算两个整数的最大公约数常用算法小结
2015/03/05 PHP
Mac系统完美安装PHP7详细教程
2017/06/06 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
JS中的substring和substr函数的区别说明
2013/05/07 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
js实现简单的选项卡效果
2017/02/23 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
javascript中的相等操作符(==与===区别)
2019/12/21 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
python socket 超时设置 errno 10054
2014/07/01 Python
Python中优化NumPy包使用性能的教程
2015/04/23 Python
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
python 第三方库的安装及pip的使用详解
2017/05/11 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
小饰品店的创业计划书范文
2013/12/28 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
农村党员干部承诺书
2015/05/04 职场文书
新闻稿格式范文
2015/07/18 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
nginx安装以及配置的详细过程记录
2021/09/15 Servers
如何利用python实现Simhash算法
2022/06/28 Python