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 8小时时间差的解决方法小结
Dec 22 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
PHPMailer的主要功能特点和简单使用说明
Feb 17 PHP
PHP实现抓取HTTPS内容
Dec 01 PHP
使用ltrace工具跟踪PHP库函数调用的方法
Apr 25 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
May 12 PHP
php求数组全排列,元素所有组合的方法总结
Mar 14 PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
Laravel5.7框架安装与使用学习笔记图文详解
Apr 02 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
Jul 26 PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 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-redis中文文档介绍
2013/02/07 PHP
关于zend studio 出现乱码问题的总结
2013/06/23 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
PHP实现QQ登录实例代码
2016/01/14 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
javascript 循环调用示例介绍
2013/11/20 Javascript
js 获取、清空input type="file"的值(示例代码)
2013/12/24 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
浅谈javascript中createElement事件
2014/12/05 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
2016/05/31 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
2016/06/01 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
如何使用Bootstrap创建表单
2017/03/29 Javascript
JS图片预加载插件详解
2017/06/21 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
bootstrap下拉框动态赋值方法
2018/08/10 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
Python中endswith()函数的基本使用
2015/04/07 Python
Python中字符串对齐方法介绍
2015/05/21 Python
Python基础篇之初识Python必看攻略
2016/06/23 Python
python异常触发及自定义异常类解析
2019/08/06 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
售后客服个人自我评价
2014/09/14 职场文书
世界名著读书笔记
2015/06/25 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
2019年手机市场的调研报告2篇
2019/10/10 职场文书
python blinker 信号库
2022/05/04 Python