繁体   English   中英

如何从缩略图链接到全尺寸图像? 同一目录,不同文件名

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM