เป็นเพราะคุณไป Browser กำหนดว่าถ้าเป็น ไฟล์ word ให้เปิดแทนที่จะ Download
Date :
4 เม.ย. 2548 13:59:21
By :
cbyte
No. 2
Guest
สมมุติว่า file ของคูนอยู่ที่จะให้ user download อยู่ที่ folder file
$file = "../files/word.txt";
a href="download_file.php?filename=<? echo $file;?>">download </a>
download_file.php
// fix for IE catching or PHP bug issue
header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
// browser must download file from server instead of cache
// force download dialog
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
// use the Content-Disposition header to supply a recommended filename and
// force the browser to display the save dialog.
header("Content-Disposition: attachment; filename=".basename($filename).";");
/*
The Content-transfer-encoding header should be binary, since the file will be read
directly from the disk and the raw bytes passed to the downloading computer.
The Content-length header is useful to set for downloads. The browser will be able to
show a progress meter as a file downloads. The content-lenght can be determines by
filesize function returns the size of a file.
*/
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));