ThinkPHP文件上传的if语句条件判断的问题

if(!$upload->upload()){//上传错误提示错误信息$this->error($upload->getErrorMsg());}else{//上传成功获... if(!$upload->upload()) {// 上传错误提示错误信息
$this->error($upload->getErrorMsg());
}else{// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
}

这里面的if语句中的条件判断 !$upload->upload() 是什么意思?不是很清楚,我想知道这句话的逻辑和它具体在做什么操作,谢谢!
展开
 我来答
kexinli
2016-05-23 · TA获得超过237个赞
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:71.9万
展开全部

upload(),thinkphp自带的图片上传函数。可以在UploadFile.class.php找到

  1. 判断上传目录是否存在

  2. 判断扩展名

  3. 上传文件

如果中间有错误返回错误代码,没有错误完成上传。

追问
如果我是上传的文件呢?比如sql文件,这个if的条件又该怎么写?
追答
调用 $upload->upload() 可以先配置可以上传的文件扩展名。你打开函数看一下就明白了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
PHPJungle
2016-05-23 · TA获得超过2130个赞
知道小有建树答主
回答量:247
采纳率:50%
帮助的人:230万
展开全部

$upload->upload() 如果上传失败返回false


所以

if( !false){
    $this->error($upload->getErrorMsg()); // 打印,上传是把你的原因.
}else{
    $info =  $upload->getUploadFileInfo(); // 如果上传成功 获取上传文件的信息
}
更多追问追答
追问
也就是说!$upload->upload() 实际可以直接写成!false是吗,但是!false这个前面的感叹号是什么意思,为什么不是直接false呢,这点也是我没搞懂的,盼回答
然后根据你的意思是,$upload->upload() 其实在执行判断操作,比如判断文件大小、文件类型这些是否符合设置是吧。谢谢
追答
肯定不能写死嘛小兄弟,
你说的很对,$upload->upload() 执行过程中会有各种校验,有兴趣的话可以研究下TP框架Upload类的源码.

地址:\ThinkPHP\Library\Think\Upload.class.php
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式