作者tkdmaf (皮皮快跑)
看板PHP
标题Re: [请益] 使用header下载的档案与原档不一样
时间Sat Dec 3 22:42:06 2011
※ 引述《saponevol23 (saponevol23)》之铭言:
: 程式码如下:
: header("Content-type: ".filetype("$file"));
: header("Content-Disposition: attachment; filename=".$filename."");
: readfile($file);
: $file为档案路径
: $filename是要下载的档案名称
: 假设现在下载一个txt档
: 下载下来的文件内容在开头的地方会比原来多一个0
: ex:
: a.txt档内容是"9 5 8 7 17 6"
: 下载下来的档案内容会变成"09 5 8 7 17 6"
: 其他的档案像是rar或图片都会损坏
: 不知道怎麽改才好 有请了
下面这段我忘记从那弄到的。
然後就封进我的下载函式了,参考看看。
$truename = '要还原成下载使用的档名';
$filename = '路径/真实存在的档名';
$filesize = filesize($filename);
header('Pragma: public');
header('Expires: 0');
header('Last-Modified: ' . gmdate('D, d M Y H:i ') . ' GMT');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false);
header('Content-Type: application/octet-stream');
header('Content-Length: ' . $filesize);
header('Content-Disposition: attachment; filename="' . $truename . '";');
header('Content-Transfer-Encoding: binary');
readfile($filename);
因为这段code和我封装的用法有些不同。
变数的部份是另外拉出来改的所以你要试试看。
--
音GAME的音符比浊水溪的石头还多。
比森林里的树叶还要繁密。
但我全接的决定比奇莱山还要坚定。
柯拿米.巴莱
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.243.154.183