PHP文件上传失败如何解决,怎样限制上传文件大小
Admin 2022-10-19 群英技术资讯 1023 次浏览
在实际应用中,我们有时候会遇到“PHP文件上传失败如何解决,怎样限制上传文件大小”这样的问题,我们该怎样来处理呢?下文给大家介绍了解决方法,希望这篇“PHP文件上传失败如何解决,怎样限制上传文件大小”文章能帮助大家解决问题。1、修改php.ini,设置上传文件的大小。
2、在httpd.conf中添加“php_value upload_max_filesize "300M"”。
3、重启服务器即可。
使用ThinkPhp框架上传小图片文件成功,上传大文件失败。
后来查找了原因,是因为php限制了上传文件的大小,修改php.ini如下配置:
upload_max_filesize = 300M post_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 (); } |
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章给大家介绍一下PHP7开启OpenSSL扩展失败的解决方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
很多刚接触Yii框架的朋友可能对于redis集合不是很了解,因此这篇文章小编就给大家介绍关于redis集合的基本用法,感兴趣的朋友可以参考学习,下面我们就一起来看看redis集合。
今天小编就为大家分享一篇在Laravel 的 Blade 模版中实现定义变量,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
用PHP怎样实现堆排序?要解决这个问题,首先我们需要了解关于堆,完成二叉树以及堆排序的原理,本文后面有堆排序的PHP实现代码,有需要的朋友可以参考一下。
一、什么是MVCMVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MV...
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008