2012-08-03 164 views
-5

我想隨機化背景圖片並在其上生成一些文本。 因此,這裏是一塊我的代碼:警告:imagecreatefromjpeg(.jpg)無法打開流:沒有這樣的文件或目錄

$background=$option.".jpg"; 
$opt="0,1,2,3,4,5,6,7"; 
$opt=explode(",",$opt); 
$option=$opt[rand(0,7)]; 

$im = imagecreatefromjpeg ($background); 

請告訴我爲什麼而蘭特得到這個錯誤?!?

圖片是數字0-7。

+1

你不會在'$ background'之前創建'$ option'嗎?在另一個說明中..你是指的是正確的目錄? – Bono 2012-08-03 17:56:13

+4

這不是一個神祕的錯誤消息,這裏是關鍵部分:**沒有這樣的文件或目錄**。 – nickb 2012-08-03 17:56:32

+1

在使用'imagecreatefromjpeg'之前,使用'echo'來了解$ background的值。並閱讀錯誤信息! – Jocelyn 2012-08-03 17:57:42

回答

2

因爲你試圖使用$選項變量之前您實際上已經將其設置爲你想要什麼你收到此錯誤。

$background=$option.".jpg"; 
$opt="0,1,2,3,4,5,6,7"; 
$opt=explode(",",$opt); 
$option=$opt[rand(0,7)]; 

應該是:

$opt="0,1,2,3,4,5,6,7"; 
$opt=explode(",",$opt); 
$option=$opt[rand(0,7)]; 
$background=$option.".jpg"; 

另外,爲什麼用字符串麻煩?爲什麼不使用這個:

$background=rand(0,7).".jpg"; 
+1

爲什麼downvote? – 2012-08-03 18:00:09

+0

不,他得到它是因爲:_沒有這樣的文件或目錄_ – Bono 2012-08-03 18:00:17

+0

@bono $ backround變量導致「.jpg」,因爲沒有設置$ option,請檢查問題標題。 – 2012-08-03 18:01:17

0

如果你肯定你的腳本有正確的文件路徑(echo $背景),它可能是一個權限問題。確保您運行的任何Web服務器都有權讀取相關文件。

相關問題