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实现MVC开发得最简单的方法――模型
Apr 10 PHP
PHP 图片水印类代码
Aug 27 PHP
使用Apache的htaccess防止图片被盗链的解决方法
Apr 27 PHP
PHP获取网页标题的3种实现方法代码实例
Apr 11 PHP
smarty模板引擎之分配数据类型
Mar 30 PHP
PHP内核探索之解释器的执行过程
Dec 22 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
PHP生成制作验证码的简单实例
Jun 12 PHP
php一个文件搞定微信jssdk配置
Dec 12 PHP
PHP生成随机数的方法总结
Mar 01 PHP
php使用curl模拟多线程实现批处理功能示例
Jul 25 PHP
PHP如何防止用户重复提交表单
Dec 09 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获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
php中session与cookie的比较
2015/01/27 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
浅谈vuex之mutation和action的基本使用
2017/08/29 Javascript
浅谈函数调用的不同方式,以及this的指向
2017/09/17 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
Vue监听页面刷新和关闭功能
2019/06/20 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
Python基于PycURL实现POST的方法
2015/07/25 Python
Python数据分析之如何利用pandas查询数据示例代码
2017/09/01 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
2019/06/27 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
2019/08/23 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
Pytorch根据layers的name冻结训练方式
2020/01/06 Python
Python单链表原理与实现方法详解
2020/02/22 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
详解python对象之间的交互
2020/09/29 Python
css3 实现圆形旋转倒计时
2018/02/24 HTML / CSS
HTML5 Canvas 起步(1) - 基本概念
2009/05/12 HTML / CSS
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
P D PAOLA意大利官网:西班牙著名的珠宝首饰品牌
2019/09/24 全球购物
外企求职信范文分享
2013/12/31 职场文书
师德师风的心得体会
2014/09/02 职场文书
司机岗位职责
2015/02/04 职场文书
晚会开幕词范文
2016/03/04 职场文书
总结Pyinstaller打包的高级用法
2021/06/28 Python
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers