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

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

4

6 回答 6

31

Glob返回一个array,出错时返回false

尝试这个:

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

if ( $files !== false )
{
    $filecount = count( $files );
    echo $filecount;
}
else
{
    echo 0;
}
于 2013-01-07T10:43:24.930 回答
5

尝试这个:

<?php 
$directory = '/var/www/ajaxform/';
if (glob($directory . '*.jpg') != false)
{
 $filecount = count(glob($directory . '*.jpg'));
 echo $filecount;
}
else
{
 echo 0;
}
?>
于 2013-01-07T10:41:36.500 回答
3

最小化方法:

function getImagesNo($path)
{
  return ($files=glob($path.'*.jpg')) ? count($files) : 0;
}
于 2014-08-25T06:21:48.097 回答
3

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

glob($directory . '*.jpg')

应该管用

于 2013-01-07T10:40:29.207 回答
0

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

于 2013-01-07T10:42:17.240 回答
0

试试这个——

if (glob($directory . "*.jpg") != false)
$filecount = count(glob($directory . "*.jpg"));
else
$filecount = 0;
于 2013-01-07T10:43:13.713 回答