继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

php没有文件被上传的实例分析及解决办法

weixin_慕神5494074
关注TA
已关注
手记 10
粉丝 0
获赞 1

在本篇文章里小编给大家整理的是一篇关于php没有文件被上传的实例分析及解决办法,有兴趣的朋友们可以跟着学习参考下。


1、修改php.ini,设置上传文件的大小。

2、在httpd.conf中添加“php_value upload_max_filesize "300M"”。

3、重启服务器即可。

使用ThinkPhp框架上传小图片文件成功,上传大文件失败。

后来查找了原因,是因为php限制了上传文件的大小,修改php.ini如下配置:

upload_max_filesize = 300Mpost_max_size = 300M

重启服务器,依然如此,问题并未得到解决。

解决方法如下,在httpd.conf中添加如下:

php_value upload_max_filesize "300M"php_value post_max_size "300M"

再次重启服务器,OK!

知识点扩展:

错误处理

对file数组中的error属性进行判断处理:

$error=$myfile['myfile']['error'];  if ($error==0){//为0,代表上传成功    if (move_uploaded_file($tmp,"userpic/".$picname)) {      echo "移动文件成功";    }else{      echo "移动文件失败";    }  }else{//不为0,匹配错误信息    switch ($error){      case 1:        echo "超过文件最大上传限制";//php.ini中upload_max_filesize        break;      case 2:        echo "超过表单文件大小限制";//HTML表单中MAX_FILE_SIZE选项        break;      case 3:        echo "文件部分被上传";        break;      case 4:        echo "未选择上传文件";        break;      case 7://文件写入失败      case 8:        echo "系统错误";        break;    }  }

上传限制

在前端可以对上传的文件类型,大小进行限制:

<!--表单隐藏域对上传大小进行限制--><input type="hidden" name="MAX_FILE_SIZE" value="2097152"><!--accept 对文件类型限制--><input type="file" name="myfile" accept="image/jpeg,image/png">

注意限制是以字节为单位

在服务器端也要做响应的限制:

$size=$myfile['size'];//获取文件大小$MaxSize=2097152;//设置最大允许字节$type=$myfile['type'];//获取图片类型$AllowTypr=array('image/jpeg','image/png','image/gif');//允许类型数组if ($error==0){//为0,代表上传成功  if ($size>$MaxSize){    echo "<script>alert('文件大小超过限制');</script>";    echo "<script>history.back(1);</script>";    exit();  }  if (!in_array($type,$AllowTypr)){    echo "<script>alert('请上传正确图片类型');</script>";    echo "<script>history.back(1);</script>";    exit();  }

到此这篇关于php没有文件被上传的实例分析及解决办法的文章就介绍到这了。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP