gpt4 book ai didi

scandir - php scandir 产生额外的元素(2 点)

转载 作者:行者123 更新时间:2023-12-03 21:30:34 25 4
gpt4 key购买 nike

你好,

我在名为 content 的目录中有以下文件:仅 index.php、page1.php、page2.php 和 page3.php。

然后我有这个代码:

 $column = scandir("content");
foreach ($column as $value) {
$stvalue = str_replace(".php", "", $value);
echo "<div>$stvalue</div>";
}

尽管如此,这就是我得到的:
<div>.</div>
<div>..</div>
<div>index</div>
<div>page1</div>
<div>page2</div>
<div>page3</div>

前两个元素是什么?我没有这样命名的文件,所以我不明白。

谢谢你。

最佳答案

. - 是引用当前目录的特殊目录。

.. - 也是一个特殊目录,它引用父目录。

要删除特殊目录,我可以想到一些选项:

1.

foreach(glob("*.php") as $filename) {
echo "<div>$filename</div>";
}

2.
$files = array_diff(scandir("content"), array('..', '.'));
foreach($files as $file) { ... }

3.
foreach ($files as $file) {    
if($file != '.' and $file != '..') { ... }
}

以上都是备选方案。您不需要使用 scandir()如果您使用 glob()反之亦然。 glob() - 期待一个模式。也可以为它提供这样的路径: glob("[path]/*.php") - 这将列出位于路径中的任何 php 文件。 glob()文档可以在这里找到 PHP - glob()

关于scandir - php scandir 产生额外的元素(2 点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36907031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com