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 相关文章推荐
PHP开发框架laravel安装与配置教程
Mar 13 PHP
php有效防止同一用户多次登录
Nov 19 PHP
php pthreads多线程的安装与使用
Jan 19 PHP
Symfony2框架学习笔记之表单用法详解
Mar 18 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
谈谈php对接芝麻信用踩的坑
Dec 01 PHP
php插件Xajax使用方法详解
Aug 31 PHP
PHP实现 APP端微信支付功能
Jun 22 PHP
php使用环形链表解决约瑟夫问题完整示例
Aug 07 PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 PHP
PHP7新特性
Mar 09 PHP
PHP动态图像的创建
Oct 09 #PHP
两种php调用Java对象的方法
Oct 09 #PHP
提升PHP执行速度全攻略(上)
Oct 09 #PHP
PHP的一个完整SMTP类(解决邮件服务器需要验证时的问题)
Oct 09 #PHP
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
Oct 09 #PHP
动态网站web开发 PHP、ASP还是ASP.NET
Oct 09 #PHP
WINDOWS服务器安装多套PHP的另类解决方案
Oct 09 #PHP
You might like
以文本方式上传二进制文件的PHP程序
2006/10/09 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
PHP中使用imagick生成PSD文件缩略图教程
2015/01/26 PHP
PHP中的traits实现代码复用使用实例
2015/05/13 PHP
全面了解PHP中的全局变量
2016/06/17 PHP
PHP实现微信退款功能
2018/10/02 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
浅析js预加载/延迟加载
2014/09/25 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
详解JavaScript实现动态的轮播图效果
2019/04/29 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
2019/05/15 Javascript
layer 刷新某个页面的实现方法
2019/09/05 Javascript
Nuxt v-bind绑定img src不显示的解决
2019/12/05 Javascript
es6函数name属性功能与用法实例分析
2020/04/18 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
Linux下python3.7.0安装教程
2018/07/30 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
详解python 内存优化
2020/08/17 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
HTML5移动端开发中的Viewport标签及相关CSS用法解析
2016/04/15 HTML / CSS
使用layui实现左侧菜单栏及动态操作tab项的方法
2020/11/10 HTML / CSS
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
PHP如何设置和取得Cookie值
2015/06/30 面试题
super关键字的用法
2012/04/10 面试题
机械制造与自动化应届生求职信
2013/11/16 职场文书
公务员培的训心得体会
2014/09/01 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers