主要能兼容: 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