PHP用程式碼實作檔下載
作者:Eve Cole
更新時間:2009-06-05 16:38:06
我們一般實作下載都是呼叫url來下載,但遇到ie能辨識開啟的檔案就不能用這種方式了,像是下載一個圖片、html網頁等,這時就需要程式來實現,以下php程式碼可以解決:
<?
if( empty($_GET['FileName'])|| empty($_GET['FileDir'])|| empty($_GET['FileId'])){
echo'<script> alert("非法連線!"); location.replace ("index.php") </script>'; exit();
}
$file_name=$_GET['FileName'];
$file_dir=$_GET['FileDir'];
$FileId=$_GET['FileId'];
$file_dir = $file_dir."/";
if (!file_exists($file_dir.$file_name)) { //檢查檔案是否存在
echo "文件找不到";
exit;
} else {
$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();
}
?>