设为首页收藏本站

安徽论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13723|回复: 0

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

[复制链接]

68

主题

0

回帖

216

积分

中级会员

Rank: 3Rank: 3

积分
216
发表于 2022-3-26 10:59:25 | 显示全部楼层 |阅读模式
网站内容均来自网络,本站只提供信息平台,如有侵权请联系删除,谢谢!
1、修改php.ini,设置上传文件的大小。
2、在httpd.conf中添加“php_value upload_max_filesize "300M"”。
3、重启服务器即可。
使用ThinkPhp框架上传小图片文件成功,上传大文件失败。
后来查找了原因,是因为php限制了上传文件的大小,修改php.ini如下配置:
  1. upload_max_filesize = 300M
  2. post_max_size = 300M
复制代码
重启服务器,依然如此,问题并未得到解决。
解决方法如下,在httpd.conf中添加如下:
  1. php_value upload_max_filesize "300M"
  2. php_value post_max_size "300M"
复制代码
再次重启服务器,OK!
知识点扩展:
错误处理

对file数组中的error属性进行判断处理:
  1. $error=$myfile['myfile']['error'];
  2.   if ($error==0){//为0,代表上传成功
  3.     if (move_uploaded_file($tmp,"userpic/".$picname)) {
  4.       echo "移动文件成功";
  5.     }else{
  6.       echo "移动文件失败";
  7.     }
  8.   }else{//不为0,匹配错误信息
  9.     switch ($error){
  10.       case 1:
  11.         echo "超过文件最大上传限制";//php.ini中upload_max_filesize
  12.         break;
  13.       case 2:
  14.         echo "超过表单文件大小限制";//HTML表单中MAX_FILE_SIZE选项
  15.         break;
  16.       case 3:
  17.         echo "文件部分被上传";
  18.         break;
  19.       case 4:
  20.         echo "未选择上传文件";
  21.         break;
  22.       case 7://文件写入失败
  23.       case 8:
  24.         echo "系统错误";
  25.         break;
  26.     }
  27.   }
复制代码
上传限制

在前端可以对上传的文件类型,大小进行限制:
  1. <!--表单隐藏域对上传大小进行限制-->
  2. <input type="hidden" name="MAX_FILE_SIZE" value="2097152">
  3. <!--accept 对文件类型限制-->
  4. <input type="file" name="myfile" accept="image/jpeg,image/png">
复制代码
注意限制是以字节为单位
在服务器端也要做响应的限制:
  1. $size=$myfile['size'];//获取文件大小
  2. $MaxSize=2097152;//设置最大允许字节
  3. $type=$myfile['type'];//获取图片类型
  4. $AllowTypr=array('image/jpeg','image/png','image/gif');//允许类型数组
  5. if ($error==0){//为0,代表上传成功
  6.   if ($size>$MaxSize){
  7.     echo "<script>alert('文件大小超过限制');</script>";
  8.     echo "<script>history.back(1);</script>";
  9.     exit();
  10.   }
  11.   if (!in_array($type,$AllowTypr)){
  12.     echo "<script>alert('请上传正确图片类型');</script>";
  13.     echo "<script>history.back(1);</script>";
  14.     exit();
  15.   }
复制代码
到此这篇关于php没有文件被上传的实例分析及解决办法的文章就介绍到这了,更多相关php没有文件被上传的解决办法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
                                                        
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
免责声明
1. 本论坛所提供的信息均来自网络,本网站只提供平台服务,所有账号发表的言论与本网站无关。
2. 其他单位或个人在使用、转载或引用本文时,必须事先获得该帖子作者和本人的同意。
3. 本帖部分内容转载自其他媒体,但并不代表本人赞同其观点和对其真实性负责。
4. 如有侵权,请立即联系,本网站将及时删除相关内容。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表