为什么我这段代码不能实现文件下载,在LINUX和WINDOWS下我都试过了。在WINDOWS下运行到OB_start();程序就没运行下去了。
} } closedir($openHandle); }else { echo "文件夹不存在"; } $do=(isset($_REQUEST['do'])) ? addslashes($_REQUEST['do']) : ''; if($do=='down') { $file=(isset($_REQUEST['file'])) ? addslashes($_REQUEST['file']) : ''; $path=(isset($_REQUEST['path'])) ? addslashes($_REQUEST['path']) : ''; OB_start(); function DownLoad($info,$file) { OB_Clean(); if(!file_exists($info)) { exit('Error:'.__LINE__.','.basename(__FILE__).'!'); } $info=file_get_contents($info); header('Content-Transfer-Encoding: binary'); header('Content-Type: application/force-download; name="'.$file.'"'); header('Content-Disposition: attachment; filename='.$file.''); header('Cache-control: private'); header('Pragma: no-cache'); header('Expires: 0'); echo $info; die(); } DownLoad($path.$file,$file); } ?>
Why can’t this code be used to download files? - PHP Chinese website Q&A - Why can’t this code be used to download files? - PHP Chinese website Q&A
Take a look around and learn.
将DownLoad($path.$file,$file);换成DownLoad($path.'/'.$file,$file);