2012-03-16 42 views
1

我已經編寫了一個PHP腳本來返回圖像,但瀏覽器無法顯示返回的圖像。你們能告訴我什麼是錯的嗎?返回要在瀏覽器中顯示的圖像

<?php 
    $file='demo.gif'; 
    if(file_exists($file)){ 
     header('Content-Type:image/jpeg'); 
     header('Content-Transfer-Encoding: base64'); 
     $data=base64_encode(get_file_contents($file)); 
     header('Content-Length: ' . strlen($data)); 
     echo $data; 
    } 
    else 
     echo 'No such file'; 
?> 
+0

你爲什麼使用base64_encode?你只是放大圖像的大小而已。 – 2012-03-16 11:02:05

+0

您正在加載一個gif併爲jpeg設置標題。 – vascowhite 2012-03-16 11:44:13

+0

@Truth:我們客戶的需求規格確實需要。 :)無論如何,謝謝! – anhldbk 2012-03-20 08:18:16

回答

2

那麼,你告訴瀏覽器.gif文件是JPEG。

您還錯字file_get_contents

2

除非你有一個很好的理由,否則不要base64編碼你的圖像數據。輸出原始數據。

另外get_file_contents應該可能是file_get_contents()。刪除header()命令並激活error reporting以查看任何此類錯誤。

+0

謝謝!我修復了它。 :) – anhldbk 2012-03-20 08:12:30

2

我已經修復了您的建議。謝謝大家! :) 這是修改的代碼。

<?php 
header('Content-Type: image/gif'); 
$image= file_get_contents('http://localhost/no_img.gif'); 
echo $image;?> 
相關問題