对scandir()返回的数组元素进行计数;PHP

对scandir()返回的数组元素进行计数;PHP,php,count,scandir,Php,Count,Scandir,我在文件夹“文件”中有一些文件夹。我想通过php代码返回此文件夹的计数: $x = count(scandir('/files')); echo $x; 但这是行不通的。怎么了?试试这个: $directory = '/your/directory/path/'; $files = glob($directory . '*.*'); // returns an array on success and false on error. if ( $files !== false ) {

我在文件夹“文件”中有一些文件夹。我想通过php代码返回此文件夹的计数:

$x = count(scandir('/files'));
echo $x;
但这是行不通的。怎么了?

试试这个:

$directory = '/your/directory/path/';
$files = glob($directory . '*.*');   // returns an array on success and false on error.

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

如果您在files文件夹中有一些文件,下面是解决方案

  $directory = 'files/';
  $scanned_directory = array_diff(scandir($directory), array('..', '.'));//to remove dots
  $x = count($scanned_directory);
  echo $x;

尽量不要使用/文件。它将查找名为文件的文件

最好先检查目录是否存在:

$directory = '/your/directory/path/';
if(!is_dir($directory))
    die("direction not exists");

ant然后计数并删除
元素

var\u dump($x)的结果是什么?apache用户是否对“/files”文件夹具有所需的权限?“这不起作用”意味着什么?错误?数错了?空输出?