2016-11-03 39 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

相关问题