2009-04-16 38 views
2

當試圖保存GDPHP-GD imagejpeg無法打開

imagejpeg($tnImage, "../../img/thumbs/".$maxWidth."x".$maxHeight."_".$filename); 

我收到以下錯誤做了一個縮略圖:

警告:imagejpeg()[function.imagejpeg]:無法打開'../../img/thumbs/80x80_55865-drops.jpg'寫入:/home/user/workspace/stewart/server-side/libImg.php中沒有這樣的文件或目錄

/home/user/workspace/img/thumbs有燙髮issions設置爲0x777。

這裏有什麼問題?

+0

它無法找到該文件,但不應該是一個問題,因爲imagejpeg函數應該創建它,如果它不存在。您使用的是哪個版本的GD? – davethegr8 2009-04-16 20:39:25

回答

1

你從哪裏運行該文件?如果從server-side目錄的話,我想你錯過了 「../」

試試這個:

var_dump(realpath("../../img/thumbs/".$maxWidth."x".$maxHeight."_".$filename)); 
+0

var_dump(realpath(「../../ img/thumbs」));返回bool(false)。 – Gerardo 2009-04-16 17:43:10

+1

來自php.net: realpath()在失敗時返回FALSE,例如,如果該文件不存在。 檢查路徑,嘗試絕對路徑也許。 – Strae 2009-04-16 19:19:58

1

/home/user/workspace/stewart/server-side/ 

目錄

../../img/thumbs/ 

將等同於

/home/user/workspace/img/thumbs/ 

,所以你需要

../../../img/thumbs/ 
1

一種解決方法,這是提供imagejpeg與完整的文件路徑。

所以,你可以在config.php

define('APPLICATION_PATH', dirname(__FILE__)); 

然後在你的functions.php通話imagejpeg這樣的:

@imagejpeg($image, APPLICATION_PATH . '/uploads/myfile.jpg', $quality);