欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php文件上传之多文件上传

程序员文章站 2022-05-13 16:24:17
...
   在胡说之前,首先声明,本文是建立在掌握php单文件上传的基础上,所以这里就不赘述文件上传服务器配置,表单设置该注意的地方了。

   话不多少,直入主题,在请求页面方面有两种写法(只呈现表单部分,以上传三个文件为例。)

form action="doAction.php" method="post" enctype="multipart/form-data">        请选择我的上传文件
        input type="file" name="myfile[]"/>input type="file" name="myfile[]"/>input type="file" name="myfile[]"/>input type="submit" value="上传"/>form>

form action="doAction.php" method="post" enctype="multipart/form-data">        请选择我的上传文件
        input type="file" name="myfil1"/>input type="file" name="myfil2"/>input type="file" name="myfil3"/>input type="submit" value="上传"/>form>

  两个对比,发现仅仅是name的不同,第一个将name设置成数组的形式,而第二个则是我们通常设置也很容易想到的一种方法。

  虽然表面上显示的仅仅有一点点不同,但真正提交到doAction.php页面的$_FILES则有很大不同。

  第一种的$_FILES是一个三维数组,而第二种是二维数组,如下:

php文件上传之多文件上传php文件上传之多文件上传

显然我们处理第二种格式的$_FILES更加方便。当然我们也可以想办法将第一种格式的$_FILES转化为第二种形式,如下:\

function getFiles(){


    foreach($_FILESas$file){
        $fileNum=count($file['name']);
        if ($fileNum==1) {

            $files=$file;
        }else{
            
            for ($i=0; $i $fileNum