在 PHP 中,使用 readdir()
函數讀取目錄句柄中的條目時,可能會遇到文件系統錯誤
<?php
$directory = 'path/to/your/directory';
// 打開目錄
$dir = opendir($directory);
if (!$dir) {
// 處理打開目錄失敗的情況
echo "Error: Unable to open directory '$directory'";
exit;
}
while (($entry = readdir($dir)) !== false) {
// 檢查是否有讀取錯誤
if ($entry === '.' || $entry === '..') {
continue; // 跳過 "." 和 ".." 目錄項
}
// 嘗試讀取文件信息
$fileInfo = stat($directory . '/' . $entry);
if ($fileInfo === false) {
// 處理讀取文件信息失敗的情況
echo "Error: Unable to read file info for '$entry'";
continue;
}
// 處理文件信息
echo "Filename: $entry\n";
echo "Size: " . $fileInfo['size'] . " bytes\n";
echo "Last modified: " . date('Y-m-d H:i:s', $fileInfo['mtime']) . "\n";
}
// 關閉目錄
closedir($dir);
?>
在這個示例中,我們首先使用 opendir()
函數打開目錄。如果打開失敗,我們輸出錯誤信息并退出。然后,我們使用 readdir()
函數讀取目錄中的每個條目。對于每個條目,我們使用 stat()
函數嘗試獲取文件信息。如果獲取文件信息失敗,我們輸出錯誤信息并跳過該條目。否則,我們可以處理文件信息。最后,我們使用 closedir()
函數關閉目錄。