参数传送到视图问题

yyszj0911 2011-11-24 02:42:36
代码如下(传不到视图页) ,但是用预设的$file="/var/www/test11.txt";的话就能够传的到 这是怎么回事阿
controller:
function indexAction()
{
$file_dir = @$_POST["dir"]; //文件路径为当前目录
$file_name = @$_POST["file_name"]; //文件名
$file=$file_dir.$file_name;
//$file="/var/www/test11.txt";
$this->view->downfile = $file;
echo $this->view->render('download/download.phtml');
}

view:
$file = $this->downfile;

if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
//$file = $this->downfile;
else{echo $file.'ssa';}


...全文
65 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yyszj0911 2011-11-24
传回js端就对了 但是死活php输不出来
回复
yyszj0911 2011-11-24
[Quote=引用 3 楼 heyli 的回复:]

在你的Action里面输出 $file 看下 不会是 dir 少跟个 /吧
[/Quote]
我用alert(result)}传回来显示的就是/var/www/test11.txt
回复
yyszj0911 2011-11-24
[Quote=引用 1 楼 ohmygirl 的回复:]

值是怎么post过来的呢?
[/Quote]
$(function download(){	
$(".fileds").live("click",(function(){
var file_name = $(this).find(".name").text();
var dir = $("#bottom").text();

$("#download").click(function(){
$.post("download/index",{dir:dir,file_name:file_name},function(result){
location.href="http://dms.com/download"; }
//alert(result)}
)
})
}))
})
这么来的
回复
heyli 2011-11-24
在你的Action里面输出 $file 看下 不会是 dir 少跟个 /吧
回复
xuzuning 2011-11-24
预设的 $file="/var/www/test11.txt"; 显然是绝对路径,这自然没有问题

$file=$file_dir.$file_name;
如果也是绝对路径的话应该是没有问题的
如果是相对路径的话,那就要看是否正确了。至少要知道他相对于谁
回复
ohmygirl 2011-11-24
值是怎么post过来的呢?
回复
相关推荐
发帖
Framework
创建于2008-08-27

4245

社区成员

国内外优秀PHP框架讨论学习
申请成为版主
帖子事件
创建了帖子
2011-11-24 02:42
社区公告
暂无公告