2012-04-27 71 views
2

我被困在一個關於imagepng()和類似的奇怪問題。imagejpeg損壞輸出

無論我做什麼,我的瀏覽器(和我的桌面程序)都不喜歡輸出,並且圖像被認爲已損壞。

我到目前爲止已經試過

header('Content-Type: image/png'); 
imagepng(imagecreatefrompng($str_file_path)); 
exit; 

header('Content-Type: image/png'); 
echo file_get_contents($str_file_path, TRUE);exit; 

兩個給出的數據,它看起來像實際的圖像數據。由於header()不會發出抱怨,所以我不應該留下任何空白空間;之後的劇本。

有沒有錯誤給出哪個會毀了輸出。
顯然,函數在那裏。那麼問題似乎是什麼?

我也找不到任何回答這個問題。

輸出我得到:

�PNG 


IHDR�������,����PA����tEXtSoftware�Adobe ImageReadyq�e< 
[IDATx��\Mn�Vo? 
�Z�L/�پYD>A�'����~�����fo� �>Aԋ^�Y�*�Z}��|�|�!��$=IZ�$Y,?��\__]�����"������>4?֦��͠��O�H����ze������Dž�æ�:`uEJ��vj�����sSli��v�4��WF�f��������a��g 
��)�@��3j�%kЦ�Օ? 
ۇ 
�saL��~lmujj��Q(&���#�;�6u%7u�MOt�zu��Z������b�8q9�)|}e����c����g:�ӭ��*4TGFs�,y�^`P��[email protected]�+�m���M���z�K�X����Ӥ���D9�ySPu��uq�'��LM�3��� 
�8?������k�/�����I4�/5�0U�V42��?YPI´4�m�L����gEK2VkM����J� 
ͼ3�]i��5�Q�US�~r�e�}�`�P�[0V�/�}�+�8����1�}�V}�1����% 
+h�4���U�����ʗ?������m�J+�Ȁlf����"�.pY?�e9��L7�������cA�I��>CG�|�f��Z?�n�':'�;�]��.��;I��$r2χ��.���Ҙy�mA'W�ZT�Iѧ���ӱ]���Y~��?���za�e��A�X�p�ZXA�C0�w� 
�ϑ��Յ�(w� ���>�,1��� 
��9#0�{�AU*:}�I��sG.I���Co�^@�M=�F��ʚ@�S2�j�_c-,����V ���z��;������[email protected]� 9�BVJ�p���9-�@'��*����Ԛ8��|�g;�C�oX�w8�����͔���{4�*9d�ƙ�L���������a���9�����,�]��3��#W���V;�ML GFSG~&�k���S�t�?W<���<��i-��5�d:R|�x^P��Tm����M%�/������택w�Oa͎���=jk�}��i{�/;1��Z���/�G�M0d 
H��@������V����n-yV��G��P6o��T�Ƿ&��M��m�[9O�f+)E�;�6K|�*s;B�'�c��7I�ՕH�5��� ����]8��V�@���G�3�s�p�Tufl�19�Ԁ+��֭�SKb65MڱÛV��*�(@��ɚ$U��}В7������[email protected]�lʵ������F~��Z��=`�mv�� ����'�Tj�ME�f�@P�<�>��K<�������1�m�ƕ�AQPRT�o�4��l��0���)�+g� 
��[���`�R���)��"eD��b��g��WN-`��i{U�D|(�dhS�0&8K��S���E����Q�x�Ǫ!�K��ܑ�d�O%@c͠d,�,p�(
3t�8T�����:ذ�qߵ�&�y��Ҽ��2�vJ� ���{;>5�J��2`�9��"hC>�%>\�Զ�(fZ�C�]9�ܼaR3w�a"M'�)'�w���p����) ��O^ 
3�v�/ 
�VM� _��Q/u�k�э�춏�UGz�/�>IV9� 
    �}�@�T�%��{ƚCV�Ǒ��VZ��A�#b�t~��O�@���� 
�(�8.�|0� 
o�C�Ĵ�y�w�xϧr�W��@���O�8+��s��#%�[email protected]��)V��g�XM�~����G^O]���u~�bA�+�J��y- 
�^���k3]y��ok_�[�?Txv��G��ʛx�;���>���1���]8he���z\ ��ď �u��#5�3�g��w~�%$�Z>2����g�Ι�����c�6r�R�\�r%��w���%a)��[email protected]?C�[email protected]�Ǚ>'��KH��y?�֊V����_��7�����f��Dlv����Kn�D�an�B��ȼ,�ğR��P�,�jC��[�\9��m/��Wȹ����XߣD�J�*�ӧM��~6:��",ҭ@�� ���WL������ވ�P�3,�����i���v37�s��-|,I.)���[email protected]�K��*��},k�枰v���o�}��w�r�b��R_����L� 
��C��I��kP�-�$��?�uZ��r�3�)��lߧ�{�xv~��Ic}�y�Ax׿ᑅZC�U����>�aJ����qc$ 
���w����e���/���O���ǫ�c�4�\�aB?��҇��9'�X�Tf��K�{MڨG�_I���Hm������s A��/>?Ś5��B8�Y��a�AO�\��c�Ѿ�՞�O���rܝ�Ur��g���ǚ�T4LZ4�Ga)�5u},����,_�D.���$j��L,�;i=Vm#b����<�ϥ�B���G4��Q���]cY����~�����$�#�ةVH)��7��O[cq�L��Qpwn7/ �|�)-l��hė 
D6������Kpw�Gn���Q�:�s�Jwy�%��K�%HJ�KN�Rު��FqB+q${��ZPm������ 
@;��*>�u�˹ 
��<���y�G�H]�s-���%Hc%�F�N����/�|�+/���J��t�~�[���/�`��X����IEND�B`� 
+0

你試過['readfile()'](http://php.net/manual/en/function.readfile.php)嗎?只是因爲頭不抱怨並不意味着沒有領先的空白 - 可能會啓用輸出緩衝... – DaveRandom 2012-04-27 13:18:27

+0

感謝您的幫助。 readfile()給出與其他結果相同的結果2.源代碼判斷沒有空格。該圖像也是由它自己製作的。 – 2012-04-27 13:22:22

+4

原始圖像是否被認爲是腐敗的?你有沒有編碼你的文件爲UTF-8 *與BOM *('header'會抱怨) – Halcyon 2012-04-27 13:27:52

回答

1

所有學分@Frits爲his comment

Basicly我必須保存爲UTF-8的文件時,我反而應該有它作爲UTF-8無BOM 。改變這一點完美解決了這個問題