登录  /  注册

PHP单文件和多文件上传实例_php实例

韦小宝
发布: 2018-05-15 13:44:05
原创
1641人浏览过

php中的文件上传和多文件上传对于刚入门的php初学者来说好比是场噩梦,本篇文章给大家详细分析了php实现单文件上传和多文件上传的代码以及问题解决方案,不了解php文件上传的看好了哈!!

$_FILES何时为空数组?

表单提交 enctype 不等于 multipart/form-data 的时候 php.ini配置文件中,file_uploads = Off 上传的文件大小 > php.ini配置文件中所配置的最大上传大小时

只要出现 $_FILES 为空数组,就可能出现以上的问题,必须修复!

如果 未选择任何文件 就马上点击 “上传按钮”,$_FILES将会是一个有元素的数组,元素中的每个属性都是空字符串,error属性为4

单文件上传

$_FILES 数据结构

array(
  'filename' => array(
    'name' => 'xxx.png',
    'type' => 'image/png',
    'size' => 2548863,
    'tmp_name' => '/img/sdsdsd.png',
    'error' => 0
  )
)
登录后复制

无论是单文件还是多文件上传,都会有5个固定属性:name / size / type / tmp_name / error

多文件上传

相比单文件上传,多文件上传处理起来要复杂多了前端的两种多文件上传形式

//name相同
<form method="post" enctype="multipart/form-data">
  <input type="file" name="wt[]"/>
  <input type="file" name="wt[]"/>
  <input type="submit" value="提交"/>
</form>

//name不同(简单点)
<form method="post" enctype="multipart/form-data">
  <input type="file" name="wt"/>
  <input type="file" name="mmt"/>
  <input type="submit" value="提交"/>
</form>
登录后复制

后端的 $_FILES 对应的数据结构不同

//name相同
array (size=1)
 &#39;wt&#39; => 
  array (size=5)
   &#39;name&#39; => 
    array (size=2)
     0 => string &#39;新建文本文档 (2).txt&#39; (length=26)
     1 => string &#39;新建文本文档.txt&#39; (length=22)
   &#39;type&#39; => 
    array (size=2)
     0 => string &#39;text/plain&#39; (length=10)
     1 => string &#39;text/plain&#39; (length=10)
   &#39;tmp_name&#39; => 
    array (size=2)
     0 => string &#39;C:\Windows\php1D64.tmp&#39; (length=22)
     1 => string &#39;C:\Windows\php1D65.tmp&#39; (length=22)
   &#39;error&#39; => 
    array (size=2)
     0 => int 0
     1 => int 0
   &#39;size&#39; => 
    array (size=2)
     0 => int 0
     1 => int 1820

//name不同(简单点)
array (size=2)
 &#39;wt&#39; => 
  array (size=5)
   &#39;name&#39; => string &#39;新建文本文档 (2).txt&#39; (length=26)
   &#39;type&#39; => string &#39;text/plain&#39; (length=10)
   &#39;tmp_name&#39; => string &#39;C:\Windows\php39C7.tmp&#39; (length=22)
   &#39;error&#39; => int 0
   &#39;size&#39; => int 0
 &#39;mmt&#39; => 
  array (size=5)
   &#39;name&#39; => string &#39;新建文本文档.txt&#39; (length=22)
   &#39;type&#39; => string &#39;text/plain&#39; (length=10)
   &#39;tmp_name&#39; => string &#39;C:\Windows\php39D8.tmp&#39; (length=22)
   &#39;error&#39; => int 0
   &#39;size&#39; => int 1820
登录后复制

字段Error用途

值:1 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。

值:2 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。

值:3 文件只有部分被上传。

值:4 没有文件被上传。值:5 上传文件大小为0.

以上就是PHP文件上传的所有内容,希望给大家带来帮助!!

相关推荐:

完美解决php无法上传大文件方法

实例分析PHP单文件和多文件上传

一个PHP文件上传类分享_php实例

以上就是PHP单文件和多文件上传实例_php实例的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号