//检测是否是真实图片

来源:2-15 文件上传函数封装

AOSOUL

2020-09-02 03:07:01

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

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

写回答

3回答

好帮手慕小尤

2020-09-02

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

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

http://img.mukewang.com/climg/5f4f510609d31a3313900274.jpg

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

0

好帮手慕小尤

2020-09-02

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

祝学习愉快!

0
hOSOUL
h 1.为什么要用这个封装,array $fileInfo, 2.string $uploadPath='./uploads',bool $imageFlag=true,array $allowExt=array('jpeg','jpg','png','gif'),int $maxSize=209715之后的这些参数为什么不是必要的参数
h020-09-02
共1条回复

好帮手慕小尤

2020-09-02

同学你好,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  )

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

0
hOSOUL
h 那为什么这里要用@错误抑制符号呢
h020-09-02
共1条回复

0 学习 · 4928 问题

查看课程