PHP目录处理

来源:互联网 发布:samba for linux 编辑:程序博客网 时间:2024/05/27 20:10
目录也是文件,是一种特殊的文件。要浏览目录下的文件,首先也要打开目录,浏览完毕后,同样要关闭目录。就这点说,两者没有什么分别,都要经过3步,即打开目录、浏览目录和关闭目录。

打开目录
打开目录和打开文件类似,但打开的文件如果不存在,在自动创建一个新文件;而打开的目录如果不正确,则一定会报错。
在PHP中使用opendir()函数打开目录。语法如下:
resource opendir(string path)
参数path是一个合法的目录零,成功执行后返回目录的指针;如果path不是有个合法的目录或者因为权限、文件系统错误而不能打开目录,opendir()函数将返回false,并产生一个E_WARNING级别的错误信息。可以在opendir()前面加上个"@"符号来抑制错误信息的输出。


浏览目录
在PHP中浏览目录中的文件使用的是scandir()函数。语法如下:
array scandir(string directory[,int sorting_order])
该函数返回一个数组,包含directory中的所有文件和目录。参数sorting_order指定排列顺序,默认按字母升序排列,如果应用参数sorting_order,则变为降序排列。
例如:
浏览根目录下的所有文件


$path="../test";if( is_dir($path) ) {$dir=scandir($path);foreach ($dir as $value) {echo $value."<br>";    }}else{echo "目录路径错误";}

运行结果为:
.
..
.idea
15-test
CSDN
count.txt
index1.php
num
phpyudingyichangliang.php
test.js
test.php
test.txt
upfile


操作目录
因为目录是特殊的文件,所以对文件的操作处理函数(如重命名等)一般也试用与目录。PHP也为目录本身提供了一些特殊的操作函数。
下表列出了一些常用的目录操作函数:
函数原型
函数说明
举例
bool mkdir(string pathname)
新建一个指定的目录
mkdir("temp")
bool rmdir(string dirname)
删除所指定的目录,该目录必须是空的
rmdir("temp")
string getcwd(void)
获取当前工作的目录
getcwd()
bool chdir(string directory)
改变当前目录为diretory
echo getcwd().'<br>';
chdir('../');
echo getcwd().'<br>';
float disk_free_space(string directory)
返回目录中可用空间(bytes)。
被检查的文件必须通过服务器的文件系统。
disk_free_space('D:\\wampserver');
float disk_total_space(string directory)
返回目录的总空间大小(bytes)
disk_total_space('D:\\wampserver');
string readdir(resource handle)
返回目录中下一个文件的文件名(使用此函数时,目录必须是使用opendir()函数打开的)在PHP5之前,都是使用这个函数来浏览目录的
while(false!==($path==readdir($handle))){
    echo $pah;
}
void rewinddir(resource handle)
将指定的目录重新指到目录的开头
rewinddir($handle)



关闭目录
PHP中通过closedir()函数关闭目录。语法如下
void closedir(resource handle)
参数handle为使用opendir()函数打开的一个目录所返回的目录指针
例如,下面是一个打开和关闭目录的流程代码:
$path="../";if(is_dir($path)){if($dire=opendir($path))echo $dire;}else{echo "路径错误";exit();}//....  //其他操作closedir($dire);

运行结果为:
Resource id #2
注:is_dir()函数用于判断当前路径是否是一个合法的目录。如果合法,返回true,否则返回false。





4 0
原创粉丝点击