设为首页 收藏本站
查看: 1028|回复: 0

[经验分享] PHP多文件上传

[复制链接]

尚未签到

发表于 2018-12-23 11:36:55 | 显示全部楼层 |阅读模式
  上传文件HTML的输入标签FILE类型中的名称后要加[],作用是在HTML中向PHP建立数组,比如名称为pictures,多文件引用名称则为pictures[],实例如下:
代码:










  •   

  //手册中实例。
利用HTML文件建立数组的方法手册中是这样讲解的:
  要使你的  结果被当成 array 发送到 PHP 脚本,要对 , 或者  单元这样命名:
           
           
           
           
        注意变量名后的方括号,这使其成为一个数组。
  
        可以通过给不同的单元分配相同的名字来把单元分组到不同的数组里:
           
           
           
           
        这将产生两个数组,MyArray 和 MyOtherArray,并发送给 PHP 脚本。
  
        还可以给数组分配指定的键名:
           
           
           
           
        AnotherArray 数组将包含键名 0,1,email 和 phone。
  注意: 指定数组的键名是 HTML 的可选项。如果不指定键名,则数组被按照单元在表单中出现的顺序填充。第一个例子将包含键名 0,1,2,3。
  
        以上HTML点击上传后,通过$_FILES超级全局变量进行读取,$_FILES将会把HTTP POST 方法传递上来的文件信息组合成数组,一个文件数组形式为二维。二个以上文件数组形式为三维。
  
   $_FILES的使用方法:
$_FILES['userfile']['name']
客户端机器文件的原名称。
$_FILES['userfile']['type'] 文件的 MIME 类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。
$_FILES['userfile']['size'] 已上传文件的大小,单位为字节。
$_FILES['userfile']['tmp_name'] 文件被上传后在服务端储存的临时文件名。
$_FILES['userfile']['error']
  
        下面是一个文件上传,此文件上传后$_FILES数组内将会产生其信息,因为是一个文件所以是二维的,为了便于大家理解我们将$_FILES用PRINT_R输出查看其结构。
  HTML文件:
代码:






PHP接收文件:
代码:         

将其令存为UPLOAD.PHP,运行上面的HTML选择一个文件上传,比如文件名为Thumbs.db,在IE浏览器内单击“查看”,“源代码”。显示如下:
Array
(
    [pictures] => Array
        (
            [name] => Thumbs.db                                                       //原文件名
            [type] => application/octet-stream                                     //文件类型
            [tmp_name] => D:\EasyPHP\\tmp\php64.tmp                    //临时存储目录及文件名
            [error] => 0                                                                       //错误代码 0为上传成功
            [size] => 23040                                                                 //文件大小
        )
)根据此信息,结合上面$_FILES的使用方法,大家应该能理解的更深刻一些。
  
下面看一下多文件上传,三个文件名分别为FILE1.TXT,FILE2.TXT,FILE3.TXT,然后用PRINT_R输出查看其结构:
  HTML文件代码:
代码:








PHP接收文件代码:

查看源文件:
  Array

  (

  [pictures] => Array

  (

  [name] => Array

  (

  [0] => file1.txt

  [1] => file2.txt

  [2] => file3.txt

  )

  [type] => Array

  (

  [0] => application/octet-stream

  [1] => application/octet-stream

  [2] => application/octet-stream

  )

  [tmp_name] => Array

  (

  [0] => D:\EasyPHP\\tmp\php47.tmp

  [1] => D:\EasyPHP\\tmp\php48.tmp

  [2] => D:\EasyPHP\\tmp\php49.tmp

  )

  [error] => Array

  (

  [0] => 0

  [1] => 0

  [2] => 0

  )

  [size] => Array

  (

  [0] => 94289

  [1] => 65536

  [2] => 102400

  )

  )

  )

  假设名为 /file1.txt  和 /file2.txt 的文件被提交,则 $_FILES['pictures']['name'][0]  的值将是 file1.txt,而 $_FILES['pictures']['name'][1] 的值将是  file2.txt。类似的,$_FILES['file2.txt']['size'][0] 将包含文件 file1.txt 的大小,依此类推




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-654772-1-1.html 上篇帖子: php常用知识小结 下篇帖子: cache_purge php
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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