2013-04-26 49 views
0

我有一個視圖,顯示從CakeResponse::file圖像。我正在使用Media插件將保存基本名稱的映像上載到數據庫,但是我使用.htaccess阻止訪問媒體目錄,因此我需要爲映像提供響應。我使用Html助手來打印img標籤。CakePHP調整圖像從CakeResponse與Timthumb

圖像/ view.ctp

echo $this->Html->image(FULL_BASE_URL.'/Images/imgView/'.$image['Image']['basename']); 

Images是我的控制器和imgView是發送該響應的動作:

ImagesController.php

public function imgView($file) { 
    $this->response->file(WWW_ROOT.'media/transfer/img/'.$file); 
    return $this->response; 
} 

這工作很好,但我想做的是調整從CakeResponse::file動態使用Timthumb發送的圖像,但到目前爲止我還沒有任何運氣,這是我在/app/webroot的根中嘗試過timthumb.php。

圖片/ view.ctp

echo $this->Html->image('/timthumb.php?src='.FULL_BASE_URL. '/Images/imgView/'.$image['Image']['basename'].'&h=250&w=250'); 

這只是返回一個無效的圖像錯誤,有什麼建議?

+0

您是否嘗試保存縮放的圖像並將其在**文本編輯器**中打開?生成的圖像可能包含PHP生成的錯誤消息。通過在文本編輯器中打開文件,您將能夠看到該錯誤。 – thaJeztah 2013-04-26 21:03:43

+0

嘿thaJeztah,我得到「請求的URL /timthumb.php未在此服務器上找到。」然而,我有它在webroot,所以我不知道什麼問題。 – dcd0181 2013-04-26 21:06:36

+0

我並不熟悉timthump腳本,但看着你的代碼,似乎那個腳本會嘗試通過http請求(它被你的.htaccess阻止)獲取* original *圖像,因此可能會拋出一個404錯誤? – thaJeztah 2013-04-26 21:10:31

回答

0

您可以嘗試使用CakePHP的TimthumbPlugin。它包裝timthumb庫,並提供一個易於使用的幫手。