Laravel 按过滤后的文件名列出和计数文件

Laravel File Listing & Counting by Filtered File Names

我想统计按名称过滤的文件数。我写了下面的代码:

<?php
    $directory = Config::get('app.app_working_directory')."/".$form_constant["dir"];
    foreach(File::allFiles($directory) as $file)
    {
        if (starts_with($file->getFilename(), $file_tag."-".$id)) {
?>
                        {{HTML::image($form_constant["dir"].'/'.$file->getFilename(), $id, array('class' => 'col-md-3 img-thumbnail img-responsive'))}}
<?php
        }
    }
?>

但这只是为了列出目录中的文件。我存储的文件是这样的:

machine-parts-103-09122015150511.jpg
machine-parts-103-09122015150515.jpg
machine-parts-1072-09122015143157.jpg

格式:machine-part-$id-microtime()。我怎么能算得上是一个以 "machine-part-$id-" 开头的文件名?此文件名的示例:"Total File:2" for "machine-parts-103-"。谢谢...

您可以使用 glob 函数来计算与通配符匹配的文件数量,如下所示:

glob("/path/to/directory/machine-parts-103-*.jpg");

这将为您 return 一个数组,其中包含与该模式匹配的所有文件名,您可以计算数组中的项目数。

我解决了这个问题。谢谢oscar.rpr。我的代码:

<?php
    $directory = Config::get('app.app_working_directory').'/'.$table_constant["dir"];
    $file_count = count(glob($directory.'/'.$file_tag.'-'.$default_table_data->$table_constant["column"].'-*'));
?>
<td>{{$file_count}}</td>