我想计算按名称过滤的文件数量。我写了以下代码:
<?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”。感谢...
答案 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>