2016-11-03 53 views
0

我想隱藏用戶的圖片url,所以我使用php header()函數, Bluehost上的網站,它在localhost上運行良好。 這裏是我的功能來訪問圖像。PHP header('Content-Type:image/jpeg')在localhost上運行,但不能在真實服務器上運行

function download($name = '', $tiny = '0') { 
    if ($name != '') { 
     $file = $this->mdl->get_file($name); 
     if($file){ 
       $mime = mime_content_type('./'.$file->path.$file->name); 
       header('Content-Type: '.$mime); 
       echo file_get_contents('./'.$file->path.$file->name); 
     } 
    } 
} 

這裏是模型get_file功能:

function get_file($name=''){ 
    if($name!=''){ 
     return $this->db->select('*') 
     ->from('docs') 
     ->where('name',$name) 
     ->get() 
     ->row(); 
    } 
    return false; 
} 

任何有益的答案是appretiated。

+2

bluehost發生了什麼?任何類型的錯誤? –

+0

當我想使用Mozilla查看圖像時出現以下錯誤:圖像「http://www.mywebsitename.com/index.php/main/download/1234556.jpg」無法顯示,因爲它包含錯誤。但是當我使用Chrom瀏覽器時,它只顯示一個小框而不是圖像。 @Gabriel Heming – Aziz

回答

0

基本上這種類型的問題發生在任何空間或新行存在於php標籤或任何打印在標題函數之前的行之外。

  • 嘗試這種情況:

ob_clean();標題之前

+0

很好,現在正在工作。 – Aziz

+0

很高興看到積極的評論... :)乾杯.. – saravanan

1

標題只能在任何數據發送到瀏覽器之前設置。

檢查<?php標記之前的空格。

檢查您的文件是否保存爲沒有BOM的UTF-8,BO標記可以被解釋爲輸出。

檢查您的主機是否向您的頁面添加了額外的內容/標題。

+0

這應該是評論中的問題,而不是一個答案,因爲我們不知道這些東西是否與他目前的設置有關。 –

+0

header()適用於'Content-type:application/pdf',但給'Content-type:image/...'錯誤, – Aziz

相關問題