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()
对于包含大量文件的目录来说,这是一个内存太高的解决方案。