【问题标题】:PHP different locations for images and thumbs图像和拇指的 PHP 不同位置
【发布时间】:2013-04-20 05:21:41
【问题描述】:

我找到了一些最有效的解决方案,但没有一个可以 100% 解决问题 我正在寻找的代码将在一个目录中查看我的所有专辑并拉出图像并拉出我在另一个文件夹中的拇指并像这样回显一个字符串。

echo '<a href="',$img,'" rel="shadowbox"><img src="',$img,'" /></a>';

问题是我的 href 图像在我的图像文件夹中,而我的 src(缩略图)在另一个目录中。我正在使用 shadowbox 并希望脚本回显一个允许同时扫描两个目录的搅拌。

下面是我正在使用的扫描目录但不会返回相应输入代码的内容缩略图驻留在另一个目录中

//path to directory to scan. i have included a wildcard for a subdirectory
$directory = "gallery_uploads/*/";

//get all image files with a .jpg extension.
$images = glob("" . $directory . "*.jpg");

$imgs = '';
// create array
foreach($images as $image){ $imgs[] = "$image"; }


//display images
foreach ($imgs as $img) {
     "<a href='$img' rel='shadowbox'><img src='$img' /> ";


     echo'<a href="',$img,'" rel="shadowbox"><img src="',$img,'" /></a>';

【问题讨论】:

  • 使用数据库来引用图像,一列用于拇指,另一列用于完整图像。
  • 缩略图的文件名与全图的名称有关系吗?是的,@Daryl Gill 有一个非常有效的观点。使用数据库或其他类型的存储,如 XML。

标签: php


【解决方案1】:

这对我有用。不过,您必须确保您的图像在每个目录中具有相同的名称。

让您的上传者保存原始图像非常简单,然后将调整大小的同名图像保存在缩略图目录中。

$gallery_up_dir = "gallery_uploads";
$gallery_thumb_dir = "gallery_thumbs";
$directory = "$gallery_up_dir/*/";

// or get all image files with a .jpg, .JPG, .png, .PNG extension.
$extensions_array = array('jpg', 'JPG', 'png', 'PNG');


$imageArray = array();
foreach($extensionsArray as $ext){
    $images = glob("" . $directory . "*.$ext");

    // fill up the array
    foreach($images as $image){ 
        $imageArray[] = "$image"; 
    }
}

//display images
foreach ($imageArray as $img) {

     echo '<a href="',$img,'" rel="shadowbox"><img src="', 
           str_replace($gallery_up_dir,$gallery_thumb_dir,$img) ,'" /></a>';

}

【讨论】:

  • 效果很好。现在我唯一需要知道的另一件事是如何让它在与 jpg 相同的目录中扫描 png 文件。
  • 另外,当我上传文件时,它会将我的 png 转换为缩略图和常规,但我失去了透明度?
  • 透明度问题是另一个问题。将其与您的转换代码的 sn-p 一起发布到站点。如果你有这个问题,肯定其他人也会有,或者可能已经有。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-16
  • 2015-06-15
  • 1970-01-01
  • 2022-01-27
  • 2013-02-02
相关资源
最近更新 更多