2015-04-15 6 views
0

有人試圖以字節顯示圖像,所以Java應用程序可以看到它?再次這個問題。我發現這tutorial以php中的字節回顯照片到java應用程序

$fp = fopen("binary-data.dat","rb"); 
while (!feof($fp)) { 
    // Read the file, in chunks of 16 byte 
    $data = fread($fp,16); 
    $arr = unpack("C*",$data); 
    foreach ($arr as $key => $value) { 
     echo " " . $value; 
    } 
    echo "\n"; 
} 

這是教程如何建議我輸出數據。它輸出類似於:

0 0 0 16 144 0 5 0 0 0 0 4 0 48 0 0 
0 176 0 0 0 0 0 3 0 0 0 96 0 0 0 0 
0 112 0 0 15 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

Java編碼器告訴它是錯誤的。他需要這樣的:

�R�{�,-l�p6���S�%�����J�@���彇sf1ZVĭ��p��A;[�sG`�2��U.Dڳ=��e*�@���ޱ�1�9H�Ӱ5.gS�T�[s4�3ht.����bl�}��G'L���(3N��ҵU6�J�IJ����7+LH��f��n�y<�����]ă�S�`[S�[email protected]���������iG$S.J�� 
       �*�J�Sj�3�r�$6�>T�6^�߯�!�⊌�Q�*ڔ���e*VQam:t�� ������l��\.%����:���۰��;� K<9j\�2�$�U�[ڋ 
�sHH��%L�.��-(��XFf��)b�"��-޶�XR9���V���}�)���vi�t7 ������)Eɥ�V%�-�:VnZ^es��VT��J�JTBI7�[��4�9zg⦾�LIM|[email protected]��rr�|�)c���\���q�R���`4 

我試圖改變的解壓參數上H(這是錯的太)。我把它改成A。它印上了他想要的東西,但現在他說那裏有一些新線。所以現在我的代碼看起來像:

$fp = fopen("/var/www/9292/inputPhoto1.jpg","rb"); 
$image=""; 
while (!feof($fp)) { 
    // Read the file, in chunks of 16 byte 
    $data = fread($fp,16); 
    $arr = unpack("A*",$data); 
    foreach ($arr as $key => $value) { 
     $image.=$value; 
    } 
} 
fclose($fp); 

但他仍然說一些換行符。任何人都可以解釋我如何在PHP中正確輸出字節?

回答

1

嘗試用

header('Content-Type: image/jpeg');   // Set the correct MIME type 
readfile('/var/www/9292/inputPhoto1.jpg'); // Read & output the file directly from disk 
+0

我測試它更換整個代碼塊。 –

+0

我試過了。結果就像我用*參數顯示的代碼。但是對於某些重要信息來說,它不可讀,它的大小爲57k字節,而不是35。你不知道是什麼原因造成的嗎? –

+0

你在輸出什麼東西嗎?你如何閱讀文件?您是否保存了瀏覽器的頁面輸出? – Siguza

相關問題