我正在尝试创建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中的扩展名
答案 0 :(得分:1)
如果例如路径没有扩展名或发生某些错误,则会导致此错误。
如果您想要检索文件的文件类型,那么当您可以这样做时,这似乎是一种迂回的方式
switch(filetype($dir.$file)){
case 'dmg' ://And so on
}
此处$dir
为/Users/username/Downloads
答案 1 :(得分:1)
未定义的索引意味着它不存在于数组中。
来自docs:
如果未传递options参数,则包含的关联数组 返回以下元素:dirname,basename,extension(如果有)和filename。
您的文件是否有扩展名?
另外,把'。' (点)在dir
而不是空白处。
您可以使用var_dump( $file_parts );
来查看它是什么。