Php 显示带有前缀id的所有文件

Php 显示带有前缀id的所有文件,php,Php,我有用户文件夹/文件夹名称,并且有名称前缀为的文件 示例此模式id\u radom。示例 5__1490952185fed525d92.24525311.jpg 15__4658521860030a66d0.90328377.jpg 15__6654521861778060e1.31100475.jpg 15__6654521861778060e1.31100475.jpg 我想用php显示所有这些图像(id=15) 我正在努力: $path = "uploads/registered_fil

我有用户文件夹/文件夹名称,并且有名称前缀为的文件 示例此模式
id\u radom。示例

5__1490952185fed525d92.24525311.jpg
15__4658521860030a66d0.90328377.jpg
15__6654521861778060e1.31100475.jpg
15__6654521861778060e1.31100475.jpg
我想用php显示所有这些图像(
id=15

我正在努力:

$path = "uploads/registered_files/".$_SESSION['user_data']['username'];
$a = glob("/".$path."/".$article->article_id."__",GLOB_BRACE);
print_r($a);
但是我得到了空的
array()

/“$path.”/“$article->article\u id.”“\uuuu”
指向文件系统的根,而不是网站的根。这可能是问题所在


尝试删除第一个/或在其前面加上指向网站根目录的绝对路径。

解决方案可能如下所示:

if (false === ($handle = opendir($path))) {
    //catch error here
}

$images = array();
while (false !== ($file = readdir($handle))) {
    preg_match('/^15__.*/', $file)) and $images[] = $file;
}
closedir($handle);

foreach ($images as $image) {
    echo '<img src="',$path,DIRECTORY_SEPARATOR,$image,'"/>';
}
if(false==($handle=opendir($path))){
//在这里捕捉错误
}
$images=array();
while(false!=($file=readdir($handle))){
preg_match('/^15'.*/',$file))和$images[]=$file;
}
closedir($handle);
foreach($images作为$image){
回声';
}
使用
glob()
函数。
glob()
对于包含大量文件的目录来说,这是一个内存太高的解决方案。