- 论坛徽章:
- 0
|
- <?php
- function downloadfile(){
- $file_name = "test.rar";
- $file_dir ="./";
- if (!file_exists($file_dir."/".$file_name)){
- return false;
- exit;
- }else{
- $file = fopen($file_dir."/".$file_name,"r");
- header('Content-Encoding: none');
- header("Content-type: application/octet-stream");
- header("Accept-Ranges: bytes");
- header("Accept-Length: ".filesize($file_dir."/".$file_name));
- header( 'Content-Transfer-Encoding: binary' );
- header("Content-Disposition: attachment; filename=" .$file_name);
- header('Pragma: no-cache');
- header('Expires: 0');
- echo fread($file,filesize($file_dir."/".$file_name));
- fclose($file);
- exit;
- }
- }
- downloadfile();
- ?>
复制代码 就这样一段代码,能实现客户端下载制定文件,但现在遇到问题是客户端下载完成后test.rar压缩包打不开,用UE打开文件头一看,下载的文件自动在开头添加了EF BB BF 20这4个字节,查baidu知道前三个是UTF8的BOM标识,最后一个是空格,现在问题是不知道这4个字节是在哪一步插进去的,请教高人指点如何传送正确的文件给客户端呢? |
|