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中文字符截取防乱码
Mar 28 PHP
PHP XML备份Mysql数据库
May 27 PHP
PHP 程序员也要学会使用“异常”
Jun 16 PHP
ThinkPHP实现将本地文件打包成zip下载
Jun 26 PHP
初识Laravel
Oct 30 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
Mar 18 PHP
php读取csc文件并输出
May 21 PHP
php验证码生成代码
Nov 11 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
Dec 19 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
Oct 23 PHP
php框架CodeIgniter使用redis的方法分析
Apr 13 PHP
PHP设计模式之原型设计模式原理与用法分析
Apr 25 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的人气开发框架Laravel
2015/10/15 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
2018/04/09 PHP
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
javascript实现C语言经典程序题
2015/11/29 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
Python日志模块logging简介
2015/04/13 Python
python基于multiprocessing的多进程创建方法
2015/06/04 Python
Python中线程编程之threading模块的使用详解
2015/06/23 Python
Python工程师面试题 与Python基础语法相关
2016/01/14 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
2017/07/25 Python
详解django中使用定时任务的方法
2018/09/27 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
django中media媒体路径设置的步骤
2019/11/15 Python
使用Tkinter制作信息提示框
2020/02/18 Python
利用Python计算KS的实例详解
2020/03/03 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
html svg生成环形进度条的实现方法
2019/09/23 HTML / CSS
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
100%羊绒:NakedCashmere
2020/08/26 全球购物
过滤器的用法
2013/10/08 面试题
兰兰过桥教学反思
2014/02/08 职场文书
幼儿园教师工作感言
2014/02/15 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
作风转变年心得体会
2014/10/22 职场文书
2015年社区工作总结
2015/04/08 职场文书
小学语文教师研修日志
2015/11/13 职场文书
Android studio 简单计算器的编写
2022/05/20 Java/Android
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers