加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

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

发布时间:2020-05-31 01:33:42 所属栏目:PHP 来源:互联网
导读:我有一个数组,我从scandir回来,但它包含“.”和“..”,我不想要它. 我的代码: $indir = scandir(../pages);$fileextensions = array(., php, html, htm, shtml);$replaceextensions = str_replace($fileextensions, , $indir); 我

我有一个数组,我从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] !== '.';
});

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读