PHP开发文件系统实例讲解


Posted in PHP onOctober 09, 2006

PHP中有许多与文件系统有关的函数,这些函数不仅可以打开文件,还可以显示目录中的内容、移动文件和其他一些功能,许多人甚至用PHP开发基于互联网的文件资源管理器。

下面的脚本样例可以显示一个目录清单,注释已经包含在代码中:

<? /?把要读取的目录的全路径名存入一个名字为$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运行的系统上的用户必须至少有读取文件的权限。

下面是一个如何拷贝文件的例子:

<? /?把你要拷贝的源文件的全路径赋给一个名字为$original的变量中,把拷贝的文件的全路径赋予一个名字为$copied的变量中?/
$original = "/home/me/mydatabasedump";
$copied = "/archive/mydatabasedumo_1010";
/? 使用copy()函数拷贝源文件,如果拷贝没有完成则会显示一个错误信息?/
@copy($original, $copied) or die("Couldn't copy file.");
?>

这个例子是一个文件备份系统的原型。在这段脚本运行时,它把文件拷贝到一个不同的位置进行保存。稍微修改一下守护程序,就可以在一天中你指定的时刻执行它,而无需用户的干预。  

PHP 相关文章推荐
第二节--PHP5 的对象模型
Nov 16 PHP
用PHP 快速生成 Flash 动画的方法
Mar 06 PHP
php获取通过http协议post提交过来xml数据及解析xml
Dec 16 PHP
兼容ie6浏览器的php下载文件代码分享
Jul 14 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
Jan 27 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
Mar 01 PHP
php获取服务器操作系统相关信息的方法
Oct 08 PHP
php 使用redis锁限制并发访问类示例
Nov 02 PHP
Zend Framework路由器用法实例详解
Dec 11 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
PHP html_entity_decode()函数讲解
Feb 25 PHP
用PHP读取IMAP邮件
Oct 09 #PHP
php+oracle 分页类
Oct 09 #PHP
使用无限生命期Session的方法
Oct 09 #PHP
图象函数中的中文显示
Oct 09 #PHP
使用php+xslt在windows平台上
Oct 09 #PHP
配置PHP使之能同时支持GIF和JPEG
Oct 09 #PHP
PHP输出控制功能在简繁体转换中的应用
Oct 09 #PHP
You might like
用PHP实现的生成静态HTML速度快类库
2007/03/31 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
使用Apache的rewrite
2021/03/09 Servers
uploadify 3.0 详细使用说明
2012/06/18 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
JS开发中基本数据类型具体有哪几种
2017/10/19 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
JavaScript中.min.js和.js文件的区别讲解
2019/02/13 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
[08:44]和酒神一起战斗 DOTA2教你做大人
2014/03/27 DOTA
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
使用Python下载Bing图片(代码)
2013/11/07 Python
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
Python实现批量读取word中表格信息的方法
2015/07/30 Python
详解Python命令行解析工具Argparse
2016/04/20 Python
Python3.4 tkinter,PIL图片转换
2018/06/21 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
PyQt5实现五子棋游戏(人机对弈)
2020/03/24 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
django有哪些好处和优点
2020/09/01 Python
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
改作风抓落实促发展心得体会
2014/09/10 职场文书
2014年科研工作总结
2014/12/03 职场文书
先进教师个人总结
2015/02/11 职场文书
机器人总动员观后感
2015/06/09 职场文书
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python