0

我目前正在使用这个库来生成缩略图

http://phpthumb.gxdlabs.com/

我想要做的是,以缩略图的形式显示我得到的所有图像,因此它们具有相同的大小等。我所做的是

$getAllImages = glob("images/profile/" . $db->getUserID($_SESSION['username']) . "/*.*");
$options = array('resizeUp' => true, 'jpegQuality' => 80);
$arr = array();
for($i = 0; $i < sizeof($getAllImages); $i++)
{
    $thumb = PhpThumbFactory::create($getAllImages[$i], $options);
    array_push($arr, $thumb);
}
$smarty->assign('images', $arr);

我猜错误很明显,$thumb是一个对象,smarty 不能使用。我现在的聪明代码是这个

{foreach from=$images item=res}
<div id={$res} class="imageShow">
<a href="{$res}" class="fancybox" rel="gallery"><img src="{$res}" ></a><br>
<input type="button" name="activatePic" id="activatePic" onclick="activatePic('{$res}' , {$userid})" value="Use as profile picture">
</div>
{/foreach}

这是我收到的错误消息

 Catchable fatal error: Object of class GdThumb could not be converted to string in F:\xampp\htdocs\FinalYear\smarty\templates_c\11edc15b4981ef4097a5734dbbaa613df53386a9.file.myPhotos.html.php on line 119

如何转换或使用 $thumb 变量以填充数组并在 foreach 循环的 html 页面中使用它?

4

1 回答 1

0

您正在尝试在 html 代码中间输出图像。我认为你不能用这个库来做到这一点,或者即使你可以,这也会浪费资源和带宽。如果您按照 https://github.com/masterexploder/PHPThumb/wiki/Basic-Usage#showing-images上的说明进行操作,那么您的 smarty 代码应该类似于:

<img src="show_image.php?file={$path_and_original_image_name_here|escape:'url'}"/>

它仍然不是最好的方法(您可能应该添加限制、缓存、更多参数......)但这是一个开始

于 2013-05-08T09:21:34.190 回答