本帖最后由 yyszj0911 于 2011-11-24 14:43:05 编辑
代码如下(传不到视图页) ,但是用预设的$file="/var/www/test11.txt";的话就能够传的到 这是怎么回事阿
controller:
function indexAction()<br />
{<br />
$file_dir = @$_POST["dir"]; //文件路径为当前目录 <br />
$file_name = @$_POST["file_name"]; //文件名<br />
$file=$file_dir.$file_name;<br />
//$file="/var/www/test11.txt";<br />
$this->view->downfile = $file;<br />
echo $this->view->render('download/download.phtml');<br />
}<br />
view:
$file = $this->downfile;<br />
<br />
if (file_exists($file)) {<br />
header('Content-Description: File Transfer');<br />
header('Content-Type: application/octet-stream');<br />
header('Content-Disposition: attachment; filename='.basename($file));<br />
header('Content-Transfer-Encoding: binary');<br />
header('Expires: 0');<br />
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');<br />
header('Pragma: public');<br />
header('Content-Length: ' . filesize($file));<br />
ob_clean();<br />
flush();<br />
readfile($file);<br />
exit;<br />
}<br />
//$file = $this->downfile;<br />
else{echo $file.'ssa';}
------解决方案--------------------值是怎么post过来的呢?
------解决方案--------------------预设的 $file="/var/www/test11.txt"; 显然是绝对路径,这自然没有问题
$file=$file_dir.$file_name;
如果也是绝对路径的话应该是没有问题的
如果是相对路径的话,那就要看是否正确了。至少要知道他相对于谁