在 Codeigniter 上,我正在使用 phpThumb 来生成图片。我没有使用内置的CI图像库,因为它无法执行phpThumb的“缩放裁剪”功能,我非常需要(能够创建相同大小的缩略图,无论其原始大小/比例如何,必要时进行缩放和裁剪。
除了我的图片'src
看起来如此丑陋外,一切都运转良好:
<img src="lib/phpThumb.php?src=../../upload/photo/file.jpg&w=100&h=100&zc=1" />
我希望让它看起来像这样:
<img src="photo/display/file.jpg" />
将phpThumb包装在CI控制器photo
中,方法为display($filename) {}
我能够使用内置的CI图像库来做到这一点,但我对如何使用phpThumb感到茫然。
有什么建议吗?
答案 0 :(得分:1)
如果您使用的是apache Web服务器,那么如果请求带有.jpg扩展名的网址,则apache会尝试提供图片。所以你可以这两种方式:
1)更改.htaccess文件,告诉apache将文件夹中特定图像名称的所有请求路由到执行phpThumb渲染的CI应用程序中的控制器/方法。
或者,更好的是
2)让phpThumb将图像保存到服务器上的某个位置,而不是动态呈现它们。然后你可以访问phpThumb保存到的文件名。
答案 1 :(得分:0)
我发现了一个不同的PHP缩略图库(也称为PHPThumb)并使用它:https://github.com/masterexploder/PHPThumb/wiki
这是我的CodeIgniter类:
class Photo extends CI_Controller {
function __construct() {
parent::__construct();
}
function display($filename) {
require_once('./lib/PHPThumb/ThumbLib.inc.php');
$thumb = PhpThumbFactory::create('./upload/photo/' . $filename);
$thumb->adaptiveResize(100, 100);
$thumb->show();
}
}
现在我的img
看起来更好了:
<img src="photo/display/file.jpg" />