2016-08-31 52 views
0

我的PHP代码似乎有问题,无论何时我在浏览器中访问该文件时,它都会自动下载该文件,而不是显示该文件。这里是我的代码:停止标题从PHP下载文件

<?php 
$fileID = $_GET['f']; 
require("GetMime.php"); 
$con = mysql_connect("localhost","root","password"); 
if (!$con){ 
    die("Coulnd't connect to serer: ". mysql_error()); 
} 
mysql_select_db("DownloadCenter",$con); 
$FileID = mysql_query("SELECT FileSRC FROM FileCenter WHERE FileKEY = '$fileID'"); 
$result = mysql_fetch_array($FileID); 
$FMime = checkMime($result['FileSRC']); 
if (file_exists($result['FileSRC'])){ 
    $contents = file_get_contents($result['FileSRC']); 
    header('Content-type: '. $FMime); 
    echo $contents; 
} 
?> 
+0

通常,浏览器将显示该文件,如果他们知道如何这样做。如果你提供了他们无法渲染的东西,他们会提供保存。所以你需要什么MIME类型? –

+0

供参考:以下是GetMime.php的内容:http://pastebin.com/40D7iMzb。这就是checkMime.php的用途,它应该检查文件并检测MIME,然后在头文件中设置MIME。例如,我使用的是PHP文件,但不是显示它,而只是下载它而不是 –

+0

您在调用服务器上的URL?不只是要求本地文件? – nogad

回答

1

就像你发现头没有被设置,因为输出已经开始在PHP文件中的早期。

在第三行,你有require("GetMime.php");

在GetMime.php的checkMime功能有echo finfo_file($finfo, $fileDES);

你叫checkMime您设置的头之前。在设置标题之前,您不能回显任何内容。