2016-08-31 47 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您設置的頭之前。在設置標題之前,您不能回顯任何內容。