php常见错误——图片上传格式问题

今天在学习 ThinkPHP5.1文件上传 的时候出现了一个问题:图片的格式,明明写了支持jpg,png,gif,但是却只能上传 jpg 格式的图片,其他的都无法上传,我的其中一行有问题代码如下:

// 上传文件
$info = $file->validate(['size'=>3145728, 'ext'=>'jpg, png, gif'])->move("./uploads");

我仔细看了好多遍,都无法确定错误所在,只是提示 “上传文件的后缀不允许”,但是请求返回的状态码是200,后来突然想到,这样写:

// 上传文件
$info = $file->validate(["size"=>3145728, 'ext'=>'jpg,png,gif'])->move("./uploads");

结果就成功了,马上 jpg,png,gif 这三种图片的格式都支持。

错误写法: 'ext'=>'jpg, png, gif';

正确写法: 'ext'=>'jpg,png,gif';

如果在 jpg, png, gif 中间都加空格,就只支持 jpg格式的图片;如果在png和gif中间加空格,支持jpg和png格式,因此,jpg, png, gif 中间不加空格

猜你喜欢

转载自blog.csdn.net/studyphp123/article/details/87109249
今日推荐