PHP函数库分类十四.docx
《PHP函数库分类十四.docx》由会员分享,可在线阅读,更多相关《PHP函数库分类十四.docx(8页珍藏版)》请在冰豆网上搜索。
PHP函数库分类十四
PHP函数库分类十四
4.Directories
(一)
·chdir -改变目录
chdir — 改变目录
说明
bool chdir ( string $directory )
将PHP的当前目录改为 directory。
参数
directory
新的当前目录
返回值
成功时返回 TRUE,或者在失败时返回 FALSE.
范例
Example#1 chdir() 例子
php
// current directory
echo getcwd() . "";
chdir('public_html');
// current directory
echo getcwd() . "";
?
>
以上例程的输出类似于:
/home/vincent
/home/vincent/public_html
注释
Note:
当启用安全模式时,PHP会在执行脚本时检查被脚本操作的目录是否与被执行的脚本有相同的UID(所有者)。
·chroot -改变根目录
chroot — 改变根目录
说明
bool chroot ( string $directory )
将当前进程的根目录改变为 directory。
本函数仅在系统支持且运行于CLI,CGI或嵌入SAPI版本时才能正确工作。
此外本函数还需要root权限。
参数
directory
新目录
返回值
成功时返回 TRUE,或者在失败时返回 FALSE.
注释
Note:
此函数未在Windows平台下实现。
·closedir -关闭目录句柄
closedir — 关闭目录句柄
说明
void closedir ( resource $dir_handle )
关闭由 dir_handle 指定的目录流。
流必须之前被 opendir() 所打开。
参数
dir_handle
目录句柄的 resource,之前由 opendir() 所打开的。
范例
Example#1 closedir() 例子
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);
}
}
?
>
·getcwd -取得当前工作目录
getcwd — 取得当前工作目录
说明
string getcwd ( void )
取得当前工作目录。
返回值
成功则返回当前工作目录,失败返回 FALSE。
在某些Unix的变种下,如果任何父目录没有设定可读或搜索模式,即使当前目录设定了,getcwd() 还是会返回 FALSE。
有关模式与权限的更多信息见 chmod()。
范例
Example#1 getcwd() 例子
php
// current directory
echo getcwd() . "";
chdir('cvs');
// current directory
echo getcwd() . "";
?
>
以上例程的输出类似于:
/home/didou
/home/didou/cvs
·opendir -打开目录句柄
opendir — 打开目录句柄
说明
resource opendir ( string $path [, resource $context ])
打开一个目录句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 调用中。
参数
path
要打开的目录路径
context
context 参数的说明见手册中的 StreamsAPI 一章。
返回值
如果成功则返回目录句柄的 resource,失败则返回 FALSE。
如果 path 不是一个合法的目录或者因为权限限制或文件系统错误而不能打开目录,opendir()返回 FALSE 并产生一个E_WARNING级别的PHP错误信息。
可以在 opendir() 前面加上“@”符号来抑制错误信息的输出。
更新日志
版本
说明
5.0.0
path 支持 ftp:
// URLwrapper
4.3.0
path 可以是任何支持目录列表的URL,不过在PHP4中只有 file:
// URLwrapper支持此功能
范例
Example#1 opendir() 例子
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) . "";
}
closedir($dh);
}
}
?
>
以上例程的输出类似于:
filename:
.:
filetype:
dir
filename:
..:
filetype:
dir
filename:
apache:
filetype:
dir
filename:
cgi:
filetype:
dir
filename:
cli:
filetype:
dir
·readdir -从目录句柄中读取条目
readdir — 从目录句柄中读取条目
说明
string readdir ( resource $dir_handle )
返回目录中下一个文件的文件名。
文件名以在文件系统中的排序返回。
参数
dir_handle
目录句柄的 resource,之前由 opendir() 打开
返回值
成功则返回文件名,失败返回 FALSE。
范例
Example#1列出目录中的所有文件
请留意下面例子中检查 readdir() 返回值的风格。
这里明确地测试返回值是否全等于(值和类型都相同——更多信息参见比较运算符)FALSE,否则任何目录项的名称求值为 FALSE 的都会导致循环停止(例如一个目录名为“0”)。
php
// 注意在 4.0.0-RC2 之前不存在 !
== 运算符
if ($handle = opendir('/path/to/files')) {
echo "Directory handle:
$handle ";
echo "Files:
";
/* 这是正确地遍历目录方法 */
while (false !
== ($file = readdir($handle))) {
echo "$file ";
}
/* 这是错误地遍历目录的方法 */
while ($file = readdir($handle)) {
echo "$file ";
}
closedir($handle);
}
?
>
Example#2列出当前目录的所有文件并去掉 . 和 ..
php
if ($handle = opendir('.')) {
while (false !
== ($file = readdir($handle))) {
if ($file !
= "." && $file !
= "..") {
echo "$file ";
}
}
closedir($handle);
}
?
>
·rewinddir -倒回目录句柄
rewinddir — 倒回目录句柄
说明
void rewinddir ( resource $dir_handle )
将 dir_handle 指定的目录流重置到目录的开头。
参数
dir_handle
目录句柄的 resource,之前由 opendir() 打开
·scandir -列出指定路径中的文件和目录
scandir — 列出指定路径中的文件和目录
说明
array scandir ( string $directory [, int $sorting_order [, resource $context ]])
返回一个 array,包含有 directory 中的文件和目录。
参数
directory
要被浏览的目录
sorting_order
默认的排序顺序是按字母升序排列。
如果使用了可选参数 sorting_order(设为1),则排序顺序是按字母降序排列。
context
context 参数的说明见手册中的 StreamsAPI 一章。
返回值
成功则返回包含有文件名的 array,如果失败则返回 FALSE。
如果 directory 不是个目录,则返回布尔值 FALSE 并生成一条 E_WARNING 级的错误。
范例
Example#1一个简单的 scandir() 例子
php
$dir = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);
print_r($files1);
print_r($files2);
?
>
以上例程的输出类似于:
Array
(
[0]=>.
[1]=>..
[2]=>bar.php
[3]=>foo.txt
[4]=>somedir
)
Array
(
[0]=>somedir
[1]=>foo.txt
[2]=>bar.php
[3]=>..
[4]=>.
)
Example#2 scandir() 在PHP4中的实现
php
$dir = "/tmp";
$dh = opendir($dir);
while (false !
== ($filename = readdir($dh))) {
$files[] = $filename;
}
sort($files);
print_r($files);
rsort($files);
print_r($files);
?
>
以上例程的输出类似于:
Array
(
[0]=>.
[1]=>..
[2]=>bar.php
[3]=>foo.txt
[4]=>somedir
)
Array
(
[0]=>somedir
[1]=>foo.txt
[2]=>bar.php
[3]=>..
[4]=>.
)
注释
Tip
如已启用fopen包装器,在此函数中,URL可作为文件名。
关于如何指定文件名详见fopen()。
各种wapper的不同功能请参见SupportedProtocolsandWrappers,注意其用法及其可提供的预定义变量。