區(qū)別:fopen()函數(shù)用于打開一個文件或URL;而opendir()函數(shù)用于打開目錄句柄。fopen()函數(shù)如果未找到指定的文件,則會自動創(chuàng)建這個文件;而opendir()函數(shù)如果未找到指定的目錄,則會直接拋出一個錯誤。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
fopen()函數(shù)用于打開一個文件或URL;opendir()函數(shù)用于打開目錄句柄。
打開目錄和打開文件雖然都是執(zhí)行打開的操作,但使用的函數(shù)是不同,而且對未找到指定文件的處理結果也不同。fopen() 函數(shù)如果未找到指定的文件,則會自動創(chuàng)建這個文件,而打開目錄的 opendir() 函數(shù)卻沒有那么勤勞和爽快,它會直接拋出一個錯誤。
opendir() 函數(shù)的語法格式如下所示:
opendir(string $path[, resource $context])
其中,參數(shù) $path 為要打開的目錄路徑,$context 為可選參數(shù),用來設定目錄句柄的環(huán)境,$context 是可修改目錄流行為的一套選項。
opendir() 函數(shù)如果執(zhí)行成功則返回目錄句柄的資源(resource),失敗則返回 FALSE。如果參數(shù) $path 不是一個合法的目錄或者因為權限限制或文件系統(tǒng)錯誤而不能打開目錄,opendir() 函數(shù)會返回 FALSE 并產(chǎn)生一個 E_WARNING 級別的 PHP 錯誤信息??梢栽?opendir() 前面加上@
符號來抑制錯誤信息的輸出。
示例:使用 opendir() 函數(shù)打開指定目錄
<?php $dir = './test/'; if(is_dir($dir)){ $info = opendir($dir); var_dump($info); } ?>
運行結果如下:
resource(3) of type (stream)
示例中我們用到了一個 is_dir() 函數(shù),該函數(shù)用來判斷給定的參數(shù)是不是一個目錄。
推薦學習:《PHP視頻教程》