//检测是否是真实图片

//检测是否是真实图片

 //检测是否是真实图片
//     if($imageFlag){
//       if(@!getimagesize($fileInfo['tmp_name'])){
//         echo UPLOAD_ERRS['not_true_image'];
//         return false;
//       }

其中@!是什么意思,tmp_name又是什么

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,1. $fileInfo是上传文件的信息,如果没有$fileInfo参数,是无法实现文件上传的。

2. 因存在默认值,所以可以不进行传递,直接使用默认值即可。如下所示:

http://img1.sycdn.imooc.com//climg/5f4f510609d31a3313900274.jpg

如果解决了您的问题,请采纳,祝学习愉快~

好帮手慕小尤 2020-09-02 13:41:29

同学你好,因此处代码可能存在警告性异常,所以使用了错误抑制符。同学可尝试去除错误抑制符,查看运行效果。

祝学习愉快!

  • 提问者 AOSOUL #1
    1.为什么要用这个封装,array $fileInfo, 2.string $uploadPath='./uploads',bool $imageFlag=true,array $allowExt=array('jpeg','jpg','png','gif'),int $maxSize=209715之后的这些参数为什么不是必要的参数
    2020-09-02 13:58:29
好帮手慕小尤 2020-09-02 10:24:46

同学你好,1. getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE。而!getimagesize()是当getimagesize() 函数返回为false时,进入判断中。

2. @是错误抑制符,当出现警告性异常时,可以避免出现错误信息。

3. tmp_name是存储在服务器的文件的临时副本的名称。具体其他参数的同学可参考《文件操作处理参数详解》教辅(http://file.mukewang.com/class/assist/357/7819851/kaqe13bexso/%E6%96%87%E4%BB%B6%E6%93%8D%E4%BD%9C%E5%A4%84%E7%90%86%E5%8F%82%E6%95%B0%E8%AF%A6%E8%A7%A3.pdf  )

如果解决了您的问题,请采纳,祝学习愉快~

  • 提问者 AOSOUL #1
    那为什么这里要用@错误抑制符号呢
    2020-09-02 12:46:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4928    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师