【问题标题】:Count number of files in folder in php在php中计算文件夹中的文件数
【发布时间】:2013-01-07 10:37:38
【问题描述】:
<?php 
$directory = '/var/www/ajaxform/';
if (glob($directory . '.jpg') != false)
{
    $filecount = count(glob($directory . '*.jpg'));
    echo $filecount;
}
else
{
    echo 0;
}
?>

此目录中有四个 jpg 图像,但它返回 0

【问题讨论】:

标签: php


【解决方案1】:

Glob 返回 array,出错时返回 false

试试这个:

$directory = '/var/www/ajaxform/';
$files = glob($directory . '*.jpg');

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

【讨论】:

  • 你有一个额外的括号。应该读作$filecount = count( $files );
  • 我在我的服务器上使用了这个,我必须删除$directory中的第一个/
【解决方案2】:

试试这个:

<?php 
$directory = '/var/www/ajaxform/';
if (glob($directory . '*.jpg') != false)
{
 $filecount = count(glob($directory . '*.jpg'));
 echo $filecount;
}
else
{
 echo 0;
}
?>

【讨论】:

    【解决方案3】:

    您的 glob 模式存在错误(在 if 中)。你少了一个 *:

    glob($directory . '*.jpg')
    

    应该工作

    【讨论】:

      【解决方案4】:

      最小化方法:

      function getImagesNo($path)
      {
        return ($files=glob($path.'*.jpg')) ? count($files) : 0;
      }
      

      【讨论】:

        【解决方案5】:

        根据 PHP 文档,glob 区分大小写。你的扩展是小写的吗?执行帐户是否有权访问 /var/www/ajaxform/?

        【讨论】:

          【解决方案6】:

          试试这个--

          if (glob($directory . "*.jpg") != false)
          $filecount = count(glob($directory . "*.jpg"));
          else
          $filecount = 0;
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-11-06
            • 2016-02-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-12-25
            • 2013-09-16
            • 2019-09-28
            相关资源
            最近更新 更多