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 相关文章推荐
PHP4引用文件语句的对比
Oct 09 PHP
dedecms采集中可以过滤多行代码的正则表达式
Mar 17 PHP
ASP和PHP都是可以删除自身的
Apr 09 PHP
php中判断字符串是否全是中文或含有中文的实现代码
Sep 16 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 PHP
关于js和php对url编码的处理方法
Mar 04 PHP
总结PHP中数值计算的注意事项
Aug 14 PHP
详解yii2使用多个数据库的案例
Jun 16 PHP
php插件Xajax使用方法详解
Aug 31 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
Mar 06 PHP
php查看一个变量的占用内存的实例代码
Mar 29 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+SQLite存储方案
2010/09/04 PHP
php基础学习之变量的使用
2011/06/09 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
Jquery Ajax请求代码(2)
2011/01/07 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
2013/09/16 Javascript
JS的Document属性和方法小结
2013/09/17 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
js实现右键菜单功能
2016/11/28 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
基本DOM节点操作
2017/01/17 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
基于webpack4+vue-cli3项目实现换肤功能
2019/07/17 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
2020/12/11 Vue.js
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
Python命令启动Web服务器实例详解
2017/02/23 Python
python将unicode转为str的方法
2017/06/21 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
会计专业大学生职业生涯规划书
2014/02/11 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
社区班子对照检查材料
2014/08/27 职场文书
详解Java实现数据结构之并查集
2021/06/23 Java/Android
ElementUI实现el-form表单重置功能按钮
2021/07/21 Javascript