兼容PHP5的PHP目录管理函数库


Posted in PHP onJuly 10, 2008

主要能兼容: PHP 5
一、chdir -- 改变目录
语法:bool chdir ( string directory )
返回值:整数
函数种类: 文件存取
内容说明:
将 PHP 的当前目录改为directory。directory:新的当前目录。返回值如果成功则返回 TRUE,失败则返回 FALSE。
例子讲解: 

 程序代码
<?php
// current directory
echo getcwd() . "\n";
chdir('public_html');
// current directory
echo getcwd() . "\n";
?>

输出结果为:
/home/vincent
/home/vincent/public_html

注意:循环语句中会出现“ Warning: chdir(): No such file or directory (errno 2) in ***** on line *”错误。

 程序代码
<?php
// current directory
echo getcwd() . "\n";
for($i=1; $i<=2; $i++){
chdir('whoist');
// current directory
echo getcwd() . "\n";
}
?>

二、dir -- directory 类
语法:new dir(string directory);
返回值:类
函数种类: 文件存取
内容说明:
这是一个类似面向对象的类别类,用来读取目录。当目录参数 directory 打开之后,有二个属性可用:handle 属性就像其它非类的函数所用的 readdir()、rewinddir() 及 closedir();path 属性则配置打开目录后的路径参数。本类有三个方法 (method):read、rewind 与 close。
class dir {
dir ( string directory )
string path
resource handle
string read ( void )
void rewind ( void )
void close ( void )
}
例子讲解: 

 程序代码
<?php
$d = dir("/etc/php5");
echo "Handle: " . $d->handle . "\n";
echo "Path: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
echo $entry."\n"; 
}
$d->close();
?>

输出结果为:
Handle: Resource id #2
Path: /etc/php5
.
..
apache
cgi
cli

注: read 方法返回的目录项的顺序依赖于系统。
注: 本函数定义了内部类 Directory,意味着不能再用同样的名字定义用户自己的类。

三、closedir -- 关闭目录句柄
语法:void closedir ( resource dir_handle )
返回值:无
函数种类: 文件存取
内容说明:
关闭由 dir_handle 指定的目录流。流必须之前被 opendir() 所打开。
例子讲解:

 程序代码
<?php
$dir = "/etc/php5/";
// Open a known directory, read directory into variable and then close
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        $directory = readdir($dh);
        closedir($dh);
    }
}
?>

四、opendir -- 打开目录句柄
语法:resource opendir ( string path [, resource context] )
返回值:整数
函数种类: 文件存取
内容说明:
本函数用来打开目录资料流。返回的整数是可供其它目录函数closedir(),readdir() 和 rewinddir() 操作的 handle。如果成功则返回目录句柄的resource,失败则返回 FALSE。
例子讲解:

 程序代码
<?php
$dir = "/etc/php5/";
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
   if ($dh = opendir($dir)) {
       while (($file = readdir($dh)) !== false) {
            echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
       }
        closedir($dh);
    }
}
?>

输出结果为:
filename: . : filetype: dir
filename: .. : filetype: dir
filename: apache : filetype: dir
filename: cgi : filetype: dir
filename: cli : filetype: dir

PHP 相关文章推荐
用libtemplate实现静态网页生成
Oct 09 PHP
PHP4实际应用经验篇(3)
Oct 09 PHP
php 攻击方法之谈php+mysql注射语句构造
Oct 30 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
Dec 19 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
Apr 24 PHP
php利用scws实现mysql全文搜索功能的方法
Dec 25 PHP
php实现Linux服务器木马排查及加固功能
Dec 29 PHP
php搜索文件程序分享
Oct 30 PHP
php简单的上传类分享
May 15 PHP
PHP弱类型语言中类型判断操作实例详解
Aug 10 PHP
Laravel中的Auth模块详解
Aug 17 PHP
PHP中define() 与 const定义常量的区别详解
Jun 25 PHP
php 防止单引号,双引号在接受页面转义
Jul 10 #PHP
功能齐全的PHP发送邮件类代码附详细说明
Jul 10 #PHP
使用PHP批量生成随机用户名
Jul 10 #PHP
用PHP与XML联手进行网站编程代码实例
Jul 10 #PHP
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 #PHP
PHP远程连接MYSQL数据库非常慢的解决方法
Jul 05 #PHP
[原创]效率较高的php下读取文本文件的代码
Jul 02 #PHP
You might like
PHP 动态随机生成验证码类代码
2010/04/09 PHP
如何突破PHP程序员的技术瓶颈分析
2011/07/17 PHP
全新的PDO数据库操作类php版(仅适用Mysql)
2012/07/22 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
2019/10/12 PHP
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
PHP实现本地图片上传和验证功能
2017/02/27 Javascript
Bootstrap笔记—折叠实例代码
2017/03/13 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
详解vue移动端日期选择组件
2018/02/22 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
利用jqgrid实现上移下移单元格功能
2018/11/07 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
2020/04/27 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
[01:04:30]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
对Python中range()函数和list的比较
2018/04/19 Python
Python selenium根据class定位页面元素的方法
2019/02/26 Python
Anaconda的安装及其环境变量的配置详解
2020/04/22 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
Python  Asyncio模块实现的生产消费者模型的方法
2021/03/01 Python
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
如何启动时不需输入用户名与密码
2014/05/09 面试题
应届生幼儿园求职信
2013/11/12 职场文书
弄虚作假心得体会
2014/09/10 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
教师节座谈会主持词
2015/07/03 职场文书
办公用品管理制度
2015/08/04 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
MySQL添加索引特点及优化问题
2022/07/23 MySQL
Springboot集成kafka高级应用实战分享
2022/08/14 Java/Android