2013-11-09 140 views
0

我想使用GD庫,似乎已安裝但我無法使用它。瀏覽器不顯示PNG圖像

我看看我的GD安裝與

php_info(); 

它返回我: enter image description here

然後我嘗試這樣的:

<pre> 
<?php print_r(gd_info())?> 
</pre> 

它返回這樣的:

Array 
(
    [GD Version] => bundled (2.0.34 compatible) 
    [FreeType Support] => 1 
    [FreeType Linkage] => with freetype 
    [T1Lib Support] => 1 
    [GIF Read Support] => 1 
    [GIF Create Support] => 1 
    [JPEG Support] => 1 
    [PNG Support] => 1 
    [WBMP Support] => 1 
    [XPM Support] => 
    [XBM Support] => 1 
    [JIS-mapped Japanese Font Support] => 
) 

但是當我嘗試做這樣的:

enter image description here

使用代碼:

<?php // content="text/plain; charset=utf-8" 
$im = imagecreatetruecolor (300, 200); 
$black = imagecolorallocate ($im, 0, 0, 0); 
$lightgray = imagecolorallocate ($im, 230, 230, 230); 
$darkgreen = imagecolorallocate ($im, 80, 140, 80); 
$white = imagecolorallocate ($im, 255, 255, 255); 

imagefilledrectangle ($im,0,0,299,199 ,$lightgray); 
imagerectangle ($im,0,0,299,199,$black); 
imagefilledellipse ($im,150,100,210,110,$white); 
imagefilledellipse ($im,150,100,200,100,$darkgreen); 
header ("Content-type: image/png"); 
imagepng ($im); 
?> 

它返回:

�PNG IHDR,�ݽK�IDATx������H���r,����p�CU�.!$Aw�ZB�h�].��ˀAM��O�5��D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�~F_����������7�)D��̎�s�"��po;,^�[email protected]�o�?���Y�N��覺�n~RM'������~�{���s� ��w� ���Z�\.їQƹ᝞��&*ȍ�i�&��K��v��T�:>�����m�;K5.��}�u�#��T�W"�����nݫM����������K5���noOx�mr�Ǎpc~�;��GKq��䧽��R�8)���R��l��槽@Ok�;��#�_æ�s���h���p�@�%��bgv���1H��E�R���ZI����P~}�8�N"|T��:�(��N�T��8�G����Sx�oX=��P�#�l%�܄������k�Ò�P�\-�����b*�tX)B��z�e"T +JwX#B�T�D�@6*�a��K*v�=�{ d]� I��V��%���d^�y#T G�0i� ��*&�Ƒ1Bk���X�#��@��??�"LxPљl3�.���1�K>E�"�vDѫT��+��0 �lVbV���N��I�3)����f�E�V;lR,e� E�.#�I��A��ua{�a�bJO���Y���gR�b��f�G8�bf��7%����?h�����l�gR'��F�p�%Ŧ�Sm| �8��ƍp�1Ŧ���~p��f�Gx���&� ^z����]����Rlj������o&�e��8��}oU��W"|b_��� w�GL{�D�����fy�m��['���Te��6h�m$�C� ��鉾�����O�� ��A�4����N��b�M��t"|��I-���>@��8ͩ��[FZ����YN"�K3�(���P�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!����z�gt8IEND�B`� 
+0

是否有其他代碼在運行?嘗試將標題放在第一行... –

+0

@HenriqueBarcelos沒有其他代碼在運行 – Wistar

+1

看起來很好。你想在哪裏看圖片?在瀏覽器中? –

回答

3

正確的標題是Content-Type(注意是大寫字母T)

從我看到你想通了,內容類型被替換爲text/plain的意見。這很可能是您的網絡服務器所做的。它可能會看到.php並覆蓋輸出。如果你從命令行(php file.php > file.png)運行你的文件並打開生成的文件,它可能會呈現正常。

+0

我相應地在問題中顯示的代碼上更正了我的標題,但它不會改變結果 – Wistar

+0

好的。猜猜它是你的網絡服務器然後(也見我的編輯) – Salandur

+0

剛剛嘗試過,該文件無法打開「它可能已損壞」。 – Wistar

0

你可以嘗試刪除之間的空行你的變量定義和你的繪製操作的開始?這可能會導致PHP刷新標題,因此它可以將空白行作爲內容發送,然後將Content-Type標題設置在它下面。

要麼是這樣,要麼是更好的將標題設置到腳本的頂部。

+0

OP使用正確的標題,請參閱代碼。當我測試這個時,我看到一個綠色的橢圓。 –

+0

如果你閱讀了這個問題的評論,你就會知道他試過Chrome和Firefox。 –

+0

我遲早會得到這臺電腦的東西。 – bizzyunderscore

0

這種錯誤可能發生在PHP關閉後的空行?>。使用真正的純文本編輯器(例如vi/vim)來檢查它,或者查看文件的hexdump。