【问题标题】:wrap phpThumb in a CodeIgniter controller method将 phpThumb 包装在 CodeIgniter 控制器方法中
【发布时间】:2016-08-28 05:14:30
【问题描述】:

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" />

通过使用 display($filename) {} 方法将 phpThumb 包装在 CI 控制器 photo

我可以使用内置的 CI 图像库来做到这一点,但我不知道如何使用 phpThumb。

有什么建议吗?

【问题讨论】:

    标签: php codeigniter phpthumb


    【解决方案1】:

    如果您使用的是 apache 网络服务器,那么 apache 将在请求带有 .jpg 扩展名的 url 时尝试提供图像。所以你可以通过两种方式做到这一点:

    1) 更改您的 .htaccess 文件,以告诉 apache 将所有请求路由到文件夹中的特定图像名称到您的 CI 应用程序中执行 phpThumb 渲染的控制器/方法。

    或者,更好

    2) 让 phpThumb 将图像保存到服务器上的某个位置,而不是动态呈现它们。然后你就可以访问phpThumb保存到的文件名了。

    【讨论】:

      【解决方案2】:

      我找到了一个不同的 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" />

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-18
        • 1970-01-01
        • 2019-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多