温馨提示×

php readdir 如何处理文件系统错误

PHP
小樊
81
2024-11-27 11:59:47
栏目: 编程语言

在 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() 函数关闭目录。

0