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