【问题标题】:PHP Count how many files in directory [duplicate]PHP计算目录中有多少文件[重复]
【发布时间】:2017-05-15 21:24:18
【问题描述】:

我在这里寻找一些答案,但没有一个对我有用,我现在所拥有的是

$directory = 'api\config\\';
$filecount = 0;
$files = glob($directory . '*.ini');

if ( $files !== false )
{
$filecount = count( $files );
echo $filecount;
}

问题是 $filecount 总是 0

我正在使用 php 5.6(我正在使用的设施需要)。 我要使用的目录(..\api\config)。

任何想法为什么这对我不起作用?

【问题讨论】:

  • 因为你的目录定义有误? 'api\config\\';
  • 为什么会有多个反斜杠? $directory = 'api\config\\'
  • @JayBlanchard 此问题中描述的问题似乎与您链接到的问题不重复。
  • @JayBlanchard 我在不是我要查找的内容之前查看了该问题我想计算特定类型的文件 *.ini。那里的一个答案指出了这一点,但这对我不起作用,这就是我问的原因。
  • @user3382285 - 骗子中的最后一个链接显示了如何计算 JPEG,但也可用于 INI 文件。事实上,你的代码看起来很像那个代码,除了目录定义。

标签: php glob


【解决方案1】:

您忘记转义第一个反斜杠。使用这个:

$directory = 'api\\config\\';

有助于将来调试的一件事是尝试输出 (echo) 您的 $directory,以确保将目录值正确传递给您的函数。

【讨论】:

  • 如果....我只是在这里吐个屁.... OP 在 Linux 上?
  • 当我使用 echo 时打印出来 (api\config) 这听起来正确吗?
  • 人们正在他们的机器上安装您的 PHP 应用程序@user3382285?然后你应该有一个定义某些目录的设置脚本。
  • @user3382285 如果绝对路径有效,但相对路径无效,那么您的脚本可能没有从您认为的位置运行。您可以使用 PHP 的 getcwd() 获取脚本的当前工作目录(输出它),然后从那里整理出您的相对位置。您甚至可以使用chdir 来测试让您的脚本导航到您的 api\config 文件夹,以确保您的相对位置正确。如果这不能帮助您自行解决问题,请在此处返回您的 getcwd() 的结果。
  • @user3382285 您重复的 dirname() 类似于添加“..\”。因此,不需要这样做,并且因为您的脚本已经在 api 文件夹中的文件夹中,请使用此路径:$directory = '..\\config\\';。第一个 `..\` 会将你的 cwd 带到一个目录(到你的 api 文件夹),然后进入你的配置文件夹。
猜你喜欢
  • 2012-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-04
  • 2012-04-01
  • 2015-06-27
  • 1970-01-01
相关资源
最近更新 更多