2014-03-25 291 views
0

我想使圖像生成的PHP文件,我用這個代碼>

<?php 
header('content-type: image/jpeg'); 
$email = '[email protected]'; 
$email_length = strlen($email); 
$font_size = 4; 
$image_height = imagefontheight($font_size); 
$image_width = imagefontheight($font_size) * $email_length; 
$image = imagecreate($image_width, $image_height); 
imagecolorallocate($image, 255, 255, 255); 
$font_color = imagecolorallocate($image, 0, 0, 0); 
imagestring($image, $font_size, 0, 0, $email, $font_color); 
imagejpeg($image); 
?> 

,並沒有顯示出圖像當我加載在Chrome瀏覽器中的文件。在Mozilla中,它顯示錯誤「圖像」...「由於包含錯誤而無法顯示」。但是當我把imagejpeg($ image,「new.jpg」);而不是imagejpeg($ image);它使img文件正確。有誰知道我該怎麼做才能解決這個問題?

+1

它可能是一個PHP解析錯誤,它顯示,因爲你已經設置內容類型爲圖像。我在本地運行它,它似乎工作正常,我建議你註釋掉'header'調用並直接運行腳本以查看是否有PHP錯誤出現。 –

+0

我試過了,它顯示沒有錯誤,但瀏覽器中的原始數據。 – sJefremov

回答

0

我把你的代碼放在我的本地web服務器上,拿出header的調用,並且我得到一個錯誤,說函數imagefontheight未定義。

我想你可能沒有安裝GD庫,所以調用任何image...函數都會失敗。

除非您告訴我們您的操作系統以及PHP如何運行,否則我無法再告訴您。 (CLI,在Apache等)

+0

我已經安裝了GD,已經檢查過。我使用Windows 7 x86,並在NetBeans中編寫PHP,並使用Apache在XAMPP控制面板中運行。 – sJefremov

+0

您可能會將其他數據發送到瀏覽器 – Kayla

+0

刪除結尾的PHP腳本標記,並確保在開始腳本標記之前沒有空白。 – Kayla