0

我正在尝试创建 php 脚本来扫描目录并删除该目录中的文件。我的扫描文件扩展名有问题,无法正常工作

<?php 
 if ($handle = opendir(''))
 {
    echo " Directory handle: $handle \n";
    echo "Entries: \n";


    while (false !== ($entry = readdir($handle))) 
    {
        echo" $entry :\n";
        $file_parts = pathinfo($entry);

        switch ($file_parts['extension']) 
        {
            case 'dmg':
                echo "dmg";
                break;

            default:
                echo "no file";
                break;

        }


    }

    closedir($handle);

}


?>

注意:未定义的索引:第 13 行 /Applications/MAMP/htdocs/dir.php 中的扩展名

4

2 回答 2

1

例如,如果路径没有扩展名或发生某些错误,则会导致此错误。

如果您想检索文件的文件类型,那么当您可以这样做时,这似乎是一种迂回的方式

switch(filetype($dir.$file)){
      case 'dmg' ://And so on
}

这里$dir将是/Users/username/Downloads

于 2013-03-24T02:08:10.857 回答
1

未定义索引意味着它不存在于数组中。

来自文档:

如果未传递 options 参数,则返回包含以下元素的关联数组:目录名、基本名、扩展名(如果有)和文件名。

你的文件有扩展名吗?

另外,输入“。” (点)在你的dir而不是空白处。

您可以使用var_dump( $file_parts );它来查看它是什么。

于 2013-03-24T02:08:16.530 回答