使用zend框架在上传图像时生成缩略图

时间:2011-07-12 11:24:57

标签: php zend-framework image-manipulation

我又回到了zend框架中的一个问题。有人可以解释一下,如何在上传图像后在zend框架中生成缩略图。

谢谢!

2 个答案:

答案 0 :(得分:2)

不是纯粹的Zend Framework答案,但最近我发现自己像疯了一样作弊,如下所示。

我在可访问网络的文件夹中的某处安装phpThumb,例如:

http://example.com/img/t/phpThumb.php

我确保将phpThumb配置为使用缓存文件夹:

/path/to/myapp/public/img/t/cache

chmod是网络服务器可写的。

然后我有一个phpThumb view-helper,允许我用一些resize参数调用原始图像:

<img src="<?php $view->phpThumb($origImgUrl, $desiredWidth, $desiredHeight) ?>">

所有视图帮助器真正做的是将src url转换为通过我的phpThumb安装运行的url,确保添加cool(!)zoom-center参数:

<img src="/img/t/phpThumb.php?src=origUrl&w=200&h=150&zc=1">

使用这些调整大小参数对此图像的第一次调用会导致完整的GD / ImageMagick驱动的调整大小,从而获得完整的性能。但随后对该图像的调用将从缓存中拉出。不如对真正静态图像的请求那么好,但通常可以接受我的相对低容量的用途。

这在设计/开发过程中特别有用,因为我不确定我想要一些前端,令人眼前一亮的图像。因此,我可以在public/img/someBigImage.png中隐藏一个相对较大的图像(例如640x480),然后随意调整大小。

这是一个黑客 - 可能更好地在上传时执行此调整大小,正如您实际要求的那样 - 但我必须承认我已经在一些地方使用过它。不要告诉任何人。 ; - )

答案 1 :(得分:2)

Zend本身似乎不会提供此功能http://framework.zend.com/wiki/display/ZFPROP/Zend_Image+-+Eric+Potvin并建议使用http://www.imagemagick.org/script/index.php。 然后你可以自由地使用自己的方式