我试图找出如何回显目录中包含与其文件名相同名称的所有图像。 我有文件正在上传到我的网络服务器。上传时,文件重命名为 108_2.jpg , 108_3.jpg ......等。
我想回显包含108文件名的所有图片。这就是我到目前为止所做的:
<img src="../uploads/<?PHP echo $_SESSION['propertyid'].'.jpg'; ?>" alt="photo" width="100" height="100" border="0" />
$_SESSION['propertyid']
将是&#34; 108 &#34;文件名的一部分。
答案 0 :(得分:0)
试试这个:
<?php
$files = glob('108*.jpg', GLOB_BRACE);
print_r($files);
答案 1 :(得分:0)
在使用循环显示前缀之前,您需要找出哪些文件具有该前缀。这样的事情可能会有所帮助:
$files_in_dir = glob('path/to/images/*');
$files_to_display = array();
// Get your session var
$prefix = $_SESSION['propertyid'];
// Get images you're after
foreach ($files_in_dir as $filename) {
if (substr($filename, 0, strlen($prefix)) === $prefix) {
$files_to_display[] = $filename;
}
}
// Output images
$format = '<img src="../uploads/%s" alt="photo" style="width: 100px; height: 100px: border: none;">';
foreach ($files_to_display as $filename) {
echo sprintf($format, $filename);
}
答案 2 :(得分:0)
使用glob()
获取图片。例如:
$id = (isset($_SESSION['id']) && $_SESSION['id']) ? $_SESSION['id'] : '108';
$path = 'upload/' . $id . '*';
foreach (glob($path) as $filename) {
echo '<img src="'.$filename.'">';
}
答案 3 :(得分:0)
这种方式应该成功。请注意路径,对于客户端和服务器可能不一样......
<?php
$path = "../uploads";
foreach (glob("$path/{$_SESSION['propertyid']}*") as $filename):
?>
<img src="<?php echo $path ?>/<?php echo $filename ?>" alt="photo" width="100" height="100" border="0" />
<?php endforeach ?>
答案 4 :(得分:0)
可能比这更实际,但应该这样做。
$imgCount = count(glob("../uploads/". $_SESSION['propertyid']."_*.jpg"));
for($i = 1; $i = $imgCount; $i++) {
$img = '../uploads/' . $_SESSION['propertyid'] . '_' . $i . '.jpg';
echo '<img src='. $img .' alt="photo" width="100" height="100" border="0" />'
}