php – 在scandir数组中包含JUST文件?

前端之家收集整理的这篇文章主要介绍了php – 在scandir数组中包含JUST文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个数组,我从scandir回来,但它包含“.”和“..”,我不想要它.

我的代码

$indir = scandir('../pages');
$fileextensions = array(".","PHP","html","htm","shtml");
$replaceextensions = str_replace($fileextensions,"",$indir);

我在文件扩展名上进行字符串替换,从而导致[0]和[1]显示为空,但它们是“”.和“..”

array(4) {
[0]=>
string(0) ""
[1]=>
string(0) ""
[2]=>
string(4) "test"
[3]=>
string(4) "home"
}

我如何删除“.”和“..”从数组?

你可以使用 array_filter.
$indir = array_filter(scandir('../pages'),function($item) {
    return !is_dir('../pages/' . $item);
});

注意,这将过滤掉所有目录,只留下文件和符号链接.如果你真的只想排除只有以.开头的文件(和目录),那么你可以这样做:

$indir = array_filter(scandir('../pages'),function($item) {
    return $item[0] !== '.';
});

猜你在找的PHP相关文章