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

时间:2016-01-06 13:12:56

标签: php count scandir

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

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

但这不起作用。有什么问题?

3 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分:1)

如果您在文件文件夹中有一些文件,则以下是解决方案。

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

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

的文件

答案 2 :(得分:1)

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

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

然后计算并删除...元素

相关问题