PHP Glob 未返回所有/任何文件

问题描述 投票:0回答:2

我使用的是 WIN 10 机器。做一个小的 PHP 脚本供我自己使用(不上传)。

我的代码是:

    echo getcwd() . "<br />\n";
    $files=glob("*.txt");
    $log=1;
    krsort($files);
    reset($files);
    foreach($files as $ab => $ac);
    {
    $ac=trim($ac);
    echo "'$ab' '$ac'<br />\n";
    $got=trim($ac);
    }

目录路径是正确的,但是它返回一个文件(目录中有 3 x txt 文件)。

我将其更改为以下内容,应该显示所有文件 - 包括 PHP 脚本,但它仍然只显示 1 个文件然后停止。

     glob("*.*") 

我做错了什么愚蠢的事情 - 为什么它不通配所有文件(或所有 txt 文件)?

编辑 - PHP 版本 7.1.9

php glob
2个回答
0
投票

解决了。

它是:-

     foreach($files as $ab => $ac);
     {

应该是

    foreach($files as $ab => $ac)
    {

我在这里找到了答案:-

Foreach 仅显示数组中的最后一项

我不知道为什么会这样,但不需要的分号只显示数组的 1 个值/键。

(我需要更好的眼睛),但我想其他人也没有看到它。


0
投票

发生这种情况的原因是循环的 for 部分只是循环的开始。之后您可以编写一条语句,这将是所有运行的语句。如果你打开大括号,你就告诉它它正在循环整个部分。但如果你在末尾加一个分号,它只是重复分号。

© www.soinside.com 2019 - 2024. All rights reserved.