[英]How to link to full size images from thumbnails? same directory, different file names
我有个/产品名/图像/文件夹,其包括两个全尺寸和缩略图,但是文件名是由一个字(原图VS拇指)不同。
$directory = "$company/$make/images/";
$images = glob($directory_name."*_thumb*");
foreach ($images as $image) {
echo '<a href="'.$image.'" target="_blank"><img src="'.$image.'"></a>';
}
因此,这很有效,但显然可以将拇指与自己联系起来。 如何更改链接以指向完整版?
/ images /中的示例文件名:
productname_1_thumb.jpg
productname_1_fullsize.jpg
productname_2_thumb.jpg
productname_2_fullsize.jpg
productname_3_thumb.jpg
productname_3_fullsize.jpg
etc etc
我是否应该只创建一个拇指目录并将其分开,使它简单一些? 这是对拇指和完整图像进行排序的更标准方法吗? 我不介意做,如果它是标准的做法是这样做的,而不是混为一谈他们都在同一个目录像我现在的。
将echo
线替换为:
echo '<a href="'.str_replace("_thumb", "_fullsize", $image).'" target="_blank"><img src="'.$image.'"></a>';
这是最简单的方法,但是唯一的限制是文件名中不能出现两次“ _thumb”,否则它们都将被替换。 如果是这样,您可以使用一个简单的正则表达式。
您需要创建一个数组,该数组在同一迭代中同时具有Thumb和Main图像。
范例 :
$images = array(
"productname_1_thumb.jpg" => "productname_1_fullsize.jpg",
"productname_2_thumb.jpg" => "productname_2_fullsize.jpg",
);
在拥有上述内容之后,您可以像这样遍历它们:
foreach($images as $key => $value){
echo '<a href="'.$key .'" target="_blank"><img src="'.$value.'"></a>';
}
即使我同意使用str_replace在_fullsize和_thumb之间进行更改也应该是最简单的方法。
尝试使用str_replace
$directory = "$company/$make/images/";
$images = glob($directory_name."*_thumb*");
foreach ($images as $image) {
$fullsize = str_replace('thumb','fullsize',$image);
echo '<a href="'.$fullsize.'" target="_blank"><img src="'.$image.'"></a>';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.