0

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

photoメソッドを使用してphpThumbをCIコントローラーでラップするdisplay($filename) {}

組み込みのCIイメージライブラリを使用してこれを行うことができましたが、代わりにphpThumbを使用する方法がわかりません。

助言がありますか?

4

2 に答える 2

1

Apache Webサーバーを使用している場合、拡張子が.jpgのURLが要求されると、apacheは画像を提供しようとします。したがって、これは2つの方法で実行できます。

1).htaccessファイルを変更して、フォルダー内の特定のイメージ名へのすべてのリクエストを、phpThumbレンダリングを実行するCIアプリのコントローラー/メソッドにルーティングするようにapacheに指示します。

または、さらに良い

2)phpThumbに、画像を動的にレンダリングするのではなく、サーバー上の場所に保存させます。次に、phpThumbが保存するファイル名にアクセスできます。

于 2012-03-01T11:37:58.700 に答える
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" />

于 2012-03-19T21:01:50.910 に答える