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生成唯一的促销/优惠/折扣码(附源码)
Dec 28 PHP
PHP中$_SERVER的详细参数与说明介绍
Oct 26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
Jun 23 PHP
PHP中使用Memache作为进程锁的操作类分享
Mar 30 PHP
typecho插件编写教程(六):调用接口
May 28 PHP
php判断当前操作系统类型
Oct 28 PHP
thinkphp命名空间用法实例详解
Dec 30 PHP
PHP中__autoload和Smarty冲突的简单解决方法
Apr 08 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
May 27 PHP
redis+php实现微博(二)发布与关注功能详解
Sep 23 PHP
php的无刷新操作实现方法分析
Feb 28 PHP
如何运行/调试你的PHP代码
Oct 23 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
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
JS 新增Cookie 取cookie值 删除cookie 举例详解
2014/10/10 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
基于javascript实现图片左右切换效果
2016/01/25 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
2016/09/01 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
2016/12/14 Javascript
JavaScript实现各种排序的代码详解
2017/08/28 Javascript
原生js实现简单的焦点图效果实例
2017/12/14 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
2021/01/19 Vue.js
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
python黑魔法之编码转换
2016/01/25 Python
Python注释详解
2016/06/01 Python
python os.listdir()乱码解决方案
2021/01/31 Python
html5记忆翻牌游戏实现思路及代码
2013/07/25 HTML / CSS
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
英国工作场所设备购买网站:Slingsby
2019/05/03 全球购物
戴尔荷兰官方网站:Dell荷兰
2020/10/04 全球购物
.NET现在共支持多少种语言
2014/02/26 面试题
期终自我鉴定
2014/02/17 职场文书
班干部演讲稿
2014/04/24 职场文书
项目经理任命书内容
2014/06/06 职场文书
松材线虫病防治方案
2014/06/15 职场文书
国贸专业求职信
2014/06/28 职场文书
团代会开幕词
2015/01/28 职场文书
庭外和解协议书
2016/03/23 职场文书
springboot+zookeeper实现分布式锁
2022/03/21 Java/Android
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript