Laravel文件列表&按筛选的文件名计数

时间:2015-12-15 19:27:25

标签: php file laravel directory-listing

我想计算按名称过滤的文件数量。我写了以下代码:

<?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- ”的文件名?此文件名的示例:“machine-parts-103 - ”的“Total File:2”。感谢...

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

我解决了这个问题。谢谢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>