1 chdir() 函数改变当前的目录。
语法:chdir(directory);
directory 必需。规定新的当前目录。
例:
<?php
// Get current directory
echo getcwd() . "<br>";
// Change directory
chdir("images");
// Get current directory
echo getcwd();
?>
结果:
/home/php
/home/php/images
2 chroot() 函数改变当前进程的根目录为 directory,并把当前工作目录改为 “/”。
语法:chroot(directory);
directory 必需。规定新的根目录路径。
例:
// Change root directory
chroot("/path/to/chroot/");
// Get current directory
echo getcwd();
结果:/
3 closedir() 函数关闭目录句柄。
语法:closedir(dir_handle);
dir_handle 可选。指定之前由 opendir() 打开的目录句柄资源。如果该参数未指定,则使用最后一个由 opendir() 打开的链接。
例:
$dir = "/images/";
// Open a directory, and read its contents
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
echo "filename:" . $file . "<br>";
}
closedir($dh);
}
}
结果:
filename: cat.gif
filename: dog.gif
filename: horse.gif
4 dir() 函数返回 Directory 类的实例。该函数用于读取一个目录,包含如下:
给定的要打开的目录
dir() 的 handle 和 path 两个属性是可用的
handle 和 path 属性有三个方法:read()、rewind() 和 close()
语法:dir(directory,context);
directory必需。规定要打开的目录。
context可选。
例:
$d = dir(getcwd());
echo "Handle: " . $d->handle . "<br>";
echo "Path: " . $d->path . "<br>";
while (($file = $d->read()) !== false){
echo "filename: " . $file . "<br>";
}
$d->close();
结果:
Handle: Resource id #2
Path: /etc/php
filename: .
filename: ..
filename: ajax.gif
filename: books.xml
filename: cdcatalog.xml
filename: cd_catalog.xml
filename: default.html
filename: demo_array.html
filename: demo_array.htm
...
...
...
5 getchwd() 函数返回当前工作目录。
语法:getcwd();
例:echo getcwd()
结果:/home/php
6 opendir() 函数打开目录句柄。
语法:opendir(path,context);
path 必需。规定要打开的目录路径。
context 可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项。
例:
$dir = "/images/";
// Open a directory, and read its contents
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
echo "filename:" . $file . "<br>";
}
closedir($dh);
}
}
结果:
filename: cat.gif
filename: dog.gif
filename: horse.gif
7 readdir() 函数返回目录中下一个文件的文件名。
语法:readdir(dir_handle);
dir_handle 可选。指定之前由 opendir() 打开的目录句柄资源。如果该参数未指定,则使用最后一个由 opendir() 打开的链接。
例:
$dir = "/images/";
// Open a directory, and read its contents
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
echo "filename:" . $file . "<br>";
}
closedir($dh);
}
}
结果:
filename: cat.gif
filename: dog.gif
filename: horse.gif
8 rewinddir() 函数重置由 opendir() 创建的目录句柄。
语法:rewinddir(dir_handle);
dir_handle 可选。指定之前由 opendir() 打开的目录句柄资源。如果该参数未指定,则使用最后一个由 opendir() 打开的链接。
例:
$dir = "/images/";
// Open a directory, and read its contents
if (is_dir($dir)){
if ($dh = opendir($dir)){
// List files in images directory
while (($file = readdir($dh)) !== false){
echo "filename:" . $file . "<br>";
}
rewinddir();
// List once again files in images directory
while (($file = readdir($dh)) !== false){
echo "filename:" . $file . "<br>";
}
closedir($dh);
}
}
结果:
filename: cat.gif
filename: dog.gif
filename: horse.gif
filename: cat.gif
filename: dog.gif
filename: horse.gif
9 scandir() 函数返回指定目录中的文件和目录的数组。
语法:scandir(directory,sorting_order,context);
directory 必需。规定要扫描的目录。
sorting_order 可选。规定排列顺序。默认是 0,表示按字母升序排列。如果设置为 SCANDIR_SORT_DESCENDING 或者 1,则表示按字母降序排列。如果设置为 SCANDIR_SORT_NONE,则返回未排列的结果。
context 可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项。
例:
$dir = "/images/";
// Sort in ascending order - this is default
$a = scandir($dir);
// Sort in descending order
$b = scandir($dir,1);
print_r($a);
print_r($b);
结果:
Array
(
[0] => .
[1] => ..
[2] => cat.gif
[3] => dog.gif
[4] => horse.gif
[5] => myimages
)
Array
(
[0] => myimages
[1] => horse.gif
[2] => dog.gif
[3] => cat.gif
[4] => ..
[5] => .
)