2012-04-27 70 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 。改变这一点完美解决了这个问题