【php】|文件批量上传

一、同名文件
1、同名文件上传

 <body>
        <form method="post" action="multi_file.php"  enctype="multipart/form-data">
            <input type="file" name="image[]"> 
            <input type="file" name="image[]"> 
            <input type="file" name="image[]"> 
            <input type="submit" name="btm" value="批量上传">      
 </body>

php中通过$_FILES查看服务器端接收结果

echo '<pre>';  
print_r($_FILES);

print_r中输出为:
在这里插入图片描述
2、对多文件信息的遍历读取和处理

 //判断元素存在且为数组
if(isset($_FILES['image']['name'])&& is_array($_FILES['image']['name'])){
   //遍历构造数组元素
   $images=array();
   foreach( $_FILES['image']['name'] as $k=>$file){
    $images[] =array(
        'name'=>$file,
        'tmp_name'=> $_FILES['image']['tmp_name'][$k],
        'type'=> $_FILES['image']['type'][$k],
        'error'=> $_FILES['image']['error'][$k],
        'size'=> $_FILES['image']['size'][$k]
    );
    
   }
 }
 print_r($images);

最终构造出的数组打印后的结果如图:
在这里插入图片描述

二、不同名文件
1、不同名文件文件上传

<body>
        <form method="post" action="multi_file.php"  enctype="multipart/form-data">
            <input type="file" name="image1"> 
            <input type="file" name="image2"> 
            <input type="file" name="image3"> 
            <input type="submit" name="btm" value="批量上传">      
 </body>

php中通过$_FILES查看服务器端接收结果

echo '<pre>';  
print_r($_FILES);

print_r中输出为:
在这里插入图片描述
2、对多文件信息的遍历读取和处理

  • 文件上传后会保存到 F I L E S 中,那么访问文件信息的形式就是 _FILES中,那么访问文件信息的形式就是 FILES中,那么访问文件信息的形式就是_FILES[‘表单name 属性值’][‘元素信息’]
  • 文件上传后的处理,移动临时文件到目标位置
  • 1、判断是否为上传的文件:is_uploaded_file()
  • 2、移动文件:move_uploaded_file()
 foreach($_FILES as $file){
    //***$file就是一个完整的上传文件信息,找到临时路径,指定存放路径**
    if(is_uploaded_file($file['tmp_name'])){
        move_uploaded_file($file['tmp_name'],'uploads/'.$file['name']);
    }
 }
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值