php – scandir返回[0] =>.和[1] => ..在数组中

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – scandir返回[0] =>.和[1] => ..在数组中脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的 PHP脚本与这段代码

$files  = scandir($dir);    
print_r($files);

在我的阵列中注意到我:

[0] => .
    [1] => ..
    [2] => assets.PHP
    [3] => loader.PHP

这是我的服务器上的错误还是预期的行为,它们是什么?如果是后者有什么方法可以将它们从扫描中排除?因为我希望只获取我从目录中创建的脚本文件而没有别的.有没有办法将它们从扫描中排除?

解决方法

不,这不是一个错误….是当前目录,…父目录

PHP Docs

用户提供的注释显示了一种排除它们的方法

$directory = '/path/to/my/directory';
$scanned_directory = array_diff(scandir($directory),array('..','.'));

如果您使用scandir之外的其他选项,例如SPL的DirectoryIterator,可以选择将它们排除(例如将它与RegexIterator结合使用),或者在迭代时测试它们:

$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if (!$fileinfo->isDot()) {
        echo $fileinfo->getFilename() . "\n";
    }
}

脚本宝典总结

以上是脚本宝典为你收集整理的php – scandir返回[0] =>.和[1] => ..在数组中全部内容,希望文章能够帮你解决php – scandir返回[0] =>.和[1] => ..在数组中所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: