【thinkphp】上传类 上传路径的设置

publicfunctiondoupload(){//准备上传返回的结果$resinfo=array("err"=>"","msg"=>"");import('ORG.N... public function doupload(){
//准备上传返回的结果
$resinfo = array("err"=>"","msg"=>"");

import('ORG.Net.UploadFile');
$upload = new UploadFile();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->savePath = './Uploads/Diary/';// 设置附件上传目录
if(!$upload->upload()) {// 上传错误提示错误信息
$resinfo['err']=$upload->getErrorMsg();
}else{// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
$resinfo['msg']=__ROOT__."/Uploads/Diary/".$info[0]['savename']; //获取上传的图片名

//执行图片信息的添加
$data['tbname']="notice";
$data['did']=0;
$data['picname']=$info[0]['savename'];
$data['create_time']=time();
$id = M("Diarypic")->add($data);
$_SESSION['diary_img'][]=$id; //保存住当前图片id号
}
echo json_encode($resinfo); //通过json形式返回给编辑器
exit();
}

保存路径是"./uploads/diary/"这是相对于当前控制器路径(Home/Lib/Action/DiaryAction)的,但是上传目录Uploads是与控制器的项目目录Home平级的。但是这样是正确的,为何?
展开
 我来答
songyipangbuo
2014-12-12 · TA获得超过744个赞
知道小有建树答主
回答量:190
采纳率:100%
帮助的人:254万
展开全部
因为Thinkphp是单入口的。所有的类都要通过入口文件index.php加载与执行。所以上传路径"./"是相对于入口文件index.php为准的。
追问
哦,原来如此,谢谢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式