2011-07-10 2 views
1

私はCakePHPフレームワークを使って既存のプロジェクトを再コーディングしています。さて、私の既存のコードでは、ファイルとサイズをとり、サイズ変更された生のイメージをブラウザに渡すPHPファイル(ちょうどthumb.phpと呼ばれる)があります。これは、例えば、画像タグにおいて又は他の目的のために利用することができる。この "thumbs.php"ファイルはヘッダー( 'Content-Type:image/jpeg')だけを使用します。生画像を出力する。とにかくCakePHP - 生のイメージヘッダを出力するためにコントローラの動作をどのように伝えますか?

、ここではアクションである: http://www.dosspirit.net/php/thumb.php?file=268-transport-tycoon-deluxe-3.png&size=640

(あなたは240あるいは1240と画像があなたのためにリサイズされます好きにサイズパラメータを変更することができます)。

ここで、cakephpでこの動作を再現したいと思います。

これまでのところ、私はこのセットアップ持っている:どのように私は、CakePHPのコントローラを伝えることができ、今http://www.domain/screenshot/view/268-transport-tycoon-deluxe-3.png/640

:上記のコードを見てみると

class ScreenshotController extends AppController { 
    public function view() { 
     (Some code to handle image scaling) 
    } 
} 

を、スクリーンショットへのURLは次のようになりますビューなどを経由する代わりにイメージヘッダーを出力するため、thumbs.phpファイルから機能を模倣していますか?任意の応答が高く評価され

、心から

、 - bakkelun

答えて

2

はまだCakePHPの中にPHPあります。あなたのアクションで同じことを行うことができます

public function view() { 
    header('…'); 
    echo $imageData; 
    exit(); 
} 

は、あなたが(overrideableユニットテストのための)出力生のヘッダにController::headerメソッドを使用する必要があり、と述べました。さらに良い方法は、Media Viewsを使ってイメージをCake Wayに出力することです(ファイルに書き込む必要があります)。

+0

お返事ありがとうございます。はい、まだ "普通のPHP"がありますが、私は "ケーキの道"を望んでいました。ファイルに書き込むことは「OK」です。キャッシュしたいのですが、画像データだけを出力するのはどうでしょうか? – Coreus

+0

@bakkelun私が書いたように、画像データを単に 'echo 'するか、' imagejpeg'など何でもしたいことを呼ぶことができます。他のPHPスクリプトと同じように出力されます。 – deceze

+0

よろしくお願いいたします。 – Coreus

関連する問題