用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 相关文章推荐
中国站长站 For Dede4.0 采集规则
May 27 PHP
PHP循环获取GET和POST值的代码
Apr 09 PHP
PHP获取用户的浏览器与操作系统信息的代码
Sep 04 PHP
浅析php中json_encode()和json_decode()
May 25 PHP
PHP实现更新中间关联表数据的两种方法
Sep 01 PHP
对PHP PDO的一些认识小结
Jan 23 PHP
通过php删除xml文档内容的方法
Jan 23 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
Jan 18 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
Oct 22 PHP
如何在PHP中使用数组
Jun 09 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 无法加载mcrypt.dll的解决办法
2013/04/03 PHP
php 5.6版本中编写一个PHP扩展的简单示例
2015/01/20 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
js 面向对象的技术创建高级 Web 应用程序
2010/02/25 Javascript
IE6,IE7下js动态加载图片不显示错误
2010/07/17 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
JavaScript中的noscript元素属性位置及作用介绍
2013/04/11 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
JavaScript极简入门教程(二):对象和函数
2014/10/25 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
浅谈js键盘事件全面控制
2016/12/01 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
layui table复选框禁止某几条勾选的实例
2019/09/20 Javascript
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
小程序实现列表展开收起效果
2020/07/29 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
详解Python中的join()函数的用法
2015/04/07 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
2018/06/13 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
2020/06/15 Python
Pytorch 使用CNN图像分类的实现
2020/06/16 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
利用css3制作3D样式按钮实现代码
2013/03/18 HTML / CSS
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
JAVA高级程序员面试题
2013/09/06 面试题
厨师长岗位职责
2014/03/02 职场文书
答谢会策划方案
2014/05/12 职场文书
Python 中的Sympy详细使用
2021/08/07 Python