为什么我这段代码不能实现文件下载,在LINUX和WINDOWS下我都试过了。在WINDOWS下运行到OB_start();程序就没运行下去了。
<?php $root="D:/wamp/www/panjinli/downloadsouce"; if(is_dir($root)) { $openHandle=opendir($root); while(false!==($file=readdir($openHandle))) { if(!is_dir($root.$file)) { echo "<a href="http://www.php1.cn/"> } } 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); } ?>
このコードを使用してファイルをダウンロードできないのはなぜですか? - PHP 中国語 Web サイト Q&A - このコードを使用してファイルをダウンロードできないのはなぜですか? - PHP 中国語 Web サイト Q&A
見て学んでください。
将DownLoad($path.$file,$file);换成DownLoad($path.'/'.$file,$file);