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


Count array elements returned by scandir(); PHP

我在文件夹"files"中有一些文件夹。我想通过我的php代码返回这个文件夹的计数:

$x = count(scandir('/files'));
echo $x;

但这是行不通的。怎么了?

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

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

尽量不要使用/files。它将查找名为files

的文件

试试这个:

$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;
}

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

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

蚂蚁然后计数并去除...元素