檔案下載問題-有的word檔案下載後亂碼或顯示警告,代碼如下。求指點。。。
$id=$_GET['download']; //從現在頁面擷取該檔案資料庫中的ID
$conn=mysql_connect('localhost','root','');
/* if(!$conn)
{
echo('
資料庫連接失敗!');
exit;
}
else echo '
串連成功!';*/
$flag=mysql_select_db('laborder' ,$conn);
$sql="select * from files where files_id=$id";
mysql_query("set names gbk");
$result = mysql_query($sql,$conn);
$lists=mysql_fetch_array($result);
$file_name=$lists["files_name"];// 擷取檔案名稱
$file_dir="uploadfiles/";//標出檔案所在目錄
$file = fopen($file_dir . $file_name, "r "); // 開啟檔案
// 輸入檔案標籤
Header( "Content-type: application/octet-stream ");
Header( "Accept-Ranges: bytes ");
Header( "Accept-Length: ".filesize($file_dir . $file_name));
Header( "Content-Disposition: attachment; filename= " . $file_name);
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
exit;
------解決方案--------------------
PHP code
$contents=fread($file,filesize($file_dir . $file_name));echo iconv("UTF-8", "GBK",$contents);fclose($file); exit;
------解決方案--------------------
探討
不亂才有問題!
把檔案存為沒有BOM的UTF8格式