PHP文件上传失败如何解决,怎样限制上传文件大小
Admin 2022-10-19 群英技术资讯 524 次浏览
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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
很多时候我们需要将几个字符串连接起来显示,在PHP中,字符串之间使用“点”来连接,也就是英文中的半角句号 "." 。"."是字符串连接符,可以把两个或两个以上的字符串链接成一个字符串。例如: 12345<?php$name = "PHP中文网:";$url = "www.php";echo $name . $url . ".cn";
php常见运行模式详解:1、CGI将网页和WEB中程序连接起来。2、fast-cgi是cgi模式的升级版。3、CLI是命令行运行的接口。4、Web模块模式,用于apache+php运行。5、ISAPI是面向Internet服务的API接口。
在laravel中,scope用于处理模型中的数据,在模型中可以定义scope开头方法,这类方法可以通过模型直接调用,被称为查询作用域,语法为“public function scope首字母大写单词($query){...}”。
swoole安装:1、PECL安装,先使用“apt-get install libpcre3 libpcre3-dev”命令安装依赖包。2、使用“pecl install swoole”命令安装swoole。3、修改PHP配置php.in。
这篇文章主要介绍了Laravel5.1 框架关联模型之后操作,结合实例形式分析了laravel5.1框架写入关联模型、更新关联关系等相关操作技巧与注意事项,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008