php – scandir返回[0] =>.和[1] => ..在数组中
发布时间:2020-12-13 21:54:58 所属栏目:PHP教程 来源:网络整理
导读:我有一个简单的 PHP脚本与这段代码: $files = scandir($dir); print_r($files); 在我的阵列中注意到我: [0] = . [1] = .. [2] = assets.php [3] = loader.php 这是我的服务器上的错误还是预期的行为,它们是什么?如果是后者有什么方法可以将它们从扫描中排
我有一个简单的
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"; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |