在PHP開發(fā)中,有時(shí)候我們需要操作文件或文件夾,PHP提供了dir方法可以幫助我們快速地讀取文件目錄的內(nèi)容。dir方法是一個(gè)用于讀取指定路徑下的所有文件和文件夾的方法,本文將重點(diǎn)介紹此方法的使用以及常見應(yīng)用場(chǎng)景。
使用dir方法讀取路徑下的所有文件和文件夾
使用dir方法讀取一個(gè)路徑下的所有文件和文件夾內(nèi)容是PHP開發(fā)中最常見的應(yīng)用場(chǎng)景之一,這里我們來看一個(gè)例子:
$dir = "./folder";
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
echo "filename: " . $file . "
"; } closedir($dh); } } 以上代碼將輸出指定路徑下的所有文件和文件夾名稱,其中$dir代表待讀取的文件目錄,is_dir()函數(shù)用于判斷指定文件路徑是否是一個(gè)目錄,opendir()函數(shù)用于打開文件目錄。readdir()函數(shù)用于讀取文件目錄內(nèi)容,當(dāng)沒有更多的文件可讀時(shí)返回false。closedir()函數(shù)用于關(guān)閉文件目錄。 查找指定路徑下的某種類型文件 如果我們只需要獲取某種類型的文件名,可以通過判斷文件名的后綴來實(shí)現(xiàn)。下面是一個(gè)例子: $dir = "./folder"; if (is_dir($dir)){ if ($dh = opendir($dir)){ while (($file = readdir($dh)) !== false){ if (strpos($file, ".txt") !== false) { echo "filename: " . $file . "
"; } } closedir($dh); } } 以上代碼只會(huì)輸出項(xiàng)目中.txt后綴的文件名。 在指定路徑下查找指定名稱的文件 我們還可以通過指定查找的文件名稱來查找文件。如下所示: $dir = "./folder"; if (is_dir($dir)){ if ($dh = opendir($dir)){ while (($file = readdir($dh)) !== false){ if ($file === "test.txt") { echo "filename: " . $file . "
"; } } closedir($dh); } } 以上代碼將指定路徑下的test.txt文件輸出。 指定路徑下查找所有文件的信息 有時(shí)候我們希望查看指定目錄的所有文件信息,包括文件名、最后修改時(shí)間、文件大小等,這時(shí)候,我們可以使用dir方法的stat()函數(shù)來獲取文件信息數(shù)據(jù)。下面代碼示例輸出指定路徑下的文件修改時(shí)間和大小: $dir = './folder'; $result = array(); if ($handle = opendir($dir)) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { $result[$entry] = stat($dir . '/' . $entry); } } closedir($handle); } foreach ($result as $file =>$data) { echo "文件名:" . $file . "
"; echo "最后修改時(shí)間:" . date("Y-m-d H:i:s", $data['mtime']) . "
"; echo "文件大小:" . $data['size'] . "
"; } 以上代碼將輸出指定路徑下的所有文件的名稱、最后修改時(shí)間和文件大小。 總結(jié) dir方法是PHP開發(fā)中非常常用的方法,可以幫助我們快速地讀取文件目錄的內(nèi)容。本文講述了dir方法的常見使用和應(yīng)用場(chǎng)景,希望可以為大家的開發(fā)提供幫助。
"; } closedir($dh); } } 以上代碼將輸出指定路徑下的所有文件和文件夾名稱,其中$dir代表待讀取的文件目錄,is_dir()函數(shù)用于判斷指定文件路徑是否是一個(gè)目錄,opendir()函數(shù)用于打開文件目錄。readdir()函數(shù)用于讀取文件目錄內(nèi)容,當(dāng)沒有更多的文件可讀時(shí)返回false。closedir()函數(shù)用于關(guān)閉文件目錄。 查找指定路徑下的某種類型文件 如果我們只需要獲取某種類型的文件名,可以通過判斷文件名的后綴來實(shí)現(xiàn)。下面是一個(gè)例子: $dir = "./folder"; if (is_dir($dir)){ if ($dh = opendir($dir)){ while (($file = readdir($dh)) !== false){ if (strpos($file, ".txt") !== false) { echo "filename: " . $file . "
"; } } closedir($dh); } } 以上代碼只會(huì)輸出項(xiàng)目中.txt后綴的文件名。 在指定路徑下查找指定名稱的文件 我們還可以通過指定查找的文件名稱來查找文件。如下所示: $dir = "./folder"; if (is_dir($dir)){ if ($dh = opendir($dir)){ while (($file = readdir($dh)) !== false){ if ($file === "test.txt") { echo "filename: " . $file . "
"; } } closedir($dh); } } 以上代碼將指定路徑下的test.txt文件輸出。 指定路徑下查找所有文件的信息 有時(shí)候我們希望查看指定目錄的所有文件信息,包括文件名、最后修改時(shí)間、文件大小等,這時(shí)候,我們可以使用dir方法的stat()函數(shù)來獲取文件信息數(shù)據(jù)。下面代碼示例輸出指定路徑下的文件修改時(shí)間和大小: $dir = './folder'; $result = array(); if ($handle = opendir($dir)) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { $result[$entry] = stat($dir . '/' . $entry); } } closedir($handle); } foreach ($result as $file =>$data) { echo "文件名:" . $file . "
"; echo "最后修改時(shí)間:" . date("Y-m-d H:i:s", $data['mtime']) . "
"; echo "文件大小:" . $data['size'] . "
"; } 以上代碼將輸出指定路徑下的所有文件的名稱、最后修改時(shí)間和文件大小。 總結(jié) dir方法是PHP開發(fā)中非常常用的方法,可以幫助我們快速地讀取文件目錄的內(nèi)容。本文講述了dir方法的常見使用和應(yīng)用場(chǎng)景,希望可以為大家的開發(fā)提供幫助。