用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 删除无限级目录与文件代码共享
Nov 22 PHP
PHP写UltraEdit插件脚本实现方法
Dec 26 PHP
PHP批量上传图片的具体实现方法介绍.
Feb 26 PHP
CMS中PHP判断系统是否已经安装的方法示例
Jul 26 PHP
PHP中require和include路径问题详解
Dec 25 PHP
DOM基础及php读取xml内容操作的方法
Jan 23 PHP
Laravel实现构造函数自动依赖注入的方法
Mar 16 PHP
Symfony2学习笔记之系统路由详解
Mar 17 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
Jun 30 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
PHP XML Expat解析器知识点总结
Feb 15 PHP
thinkphp5 模型实例化获得数据对象的教程
Oct 18 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执行sql语句的写法
2009/03/10 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
PHP实现指定字段的多维数组排序函数分享
2015/03/09 PHP
yii分页组件用法实例分析
2015/12/28 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
2020/05/25 PHP
Cookie 注入是怎样产生的
2009/04/08 Javascript
jquery tab标签页的制作
2010/05/10 Javascript
使用JS画图之点、线、面
2015/01/12 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
利用Node.JS实现邮件发送功能
2016/10/21 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
JavaScript实现购物车基本功能
2017/07/21 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
浅析vue.js数组的变异方法
2018/06/30 Javascript
解决Vue router-link绑定事件不生效的问题
2020/07/22 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
2018/01/10 Python
python实现机器学习之元线性回归
2018/09/06 Python
python按照多个条件排序的方法
2019/02/08 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
2020/04/02 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
自荐信包含哪些内容
2013/10/30 职场文书
市场营销工作计划书
2014/05/06 职场文书
运动会广播稿100字
2014/09/14 职场文书
2014年标准化工作总结
2014/12/17 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
合同补充协议书
2016/03/24 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书