php多文件上传,面向过程upload.php

来源:互联网 发布:手机抢号软件 编辑:程序博客网 时间:2024/06/01 09:09

个人比较推荐面向对象的方法,可扩展,可自定义,看起来也明白,见链接

http://blog.csdn.net/wang2009052110/article/details/77920223

当然,在这之前我也写了一个面向过程的方法,稍微有点乱,如下

前端html代码:

<html>

<head>
<title>文件上传测试</title>
<scripttype="text/javascript"src="uploadFile.js"></script>
</head>

<body>

<formaction="upload.php"method="post"enctype="multipart/form-data">
<labelfor="file">Filename:</label>
<inputtype="file"name="fileNames[]"id="files"multiple="multiple" />

<br />
<inputtype="submit"name=""value="Submit" />
</form>

<buttononclick="showFileName()">查看文件名称</button>
</body>

</html>

后台PHP代码


<?php/** * 支持多文件上传 * jaywong20170909 */// class uploadFile{//判断文件是否符合要求,包括文件类型,大小等 $fileNames = 'fileNames'; $supportType = ['image/jpg','image/png','image/gif','image/jpeg','image/tiff']; $maxSize = 3000000; $filepath = '/users/jaywong/sites/uploadTest';  $n = count($_FILES[$fileNames]['name']);//$_FILES must be used for reading files information.//  echo count($fileNames);//this does not work.  for($i = 0; $i < $n; $i++){    $fileInfo = $_FILES[$fileNames];        $fileName = $fileInfo['name'][$i];    //判断文件类型    if(!in_array($fileInfo['type'][$i],$supportType)){        exit($fileName.'不支持文件类型.<br>');    }    //判断是否有错误    if($fileInfo['error'][$i]){        switch ($fileInfo['error']){            case 1:            exit('UPLOAD_ERR_INI_SIZE:上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值');            case 2:            exit('UPLOAD_ERR_FORM_SIZE:上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。');            case 3:            exit('UPLOAD_ERR_PARTIAL');            case 4:            exit('UPLOAD_ERR_NO_FILE');            case 6:            exit('UPLOAD_ERR_NO_TMP_DIR');            case 7:            exit('UPLOAD_ERR_CANT_WRITE');        }    }    //判断文件大小    if($fileInfo['size'][$i]>$maxSize){        exit($fileName.'文件太大了,超过了3m.<br>');    }    //创建目录    if(!file_exists($filepath)){        mkdir($filepath);    }    //创建上传文件名称    $filename1 = pathinfo($fileName,PATHINFO_FILENAME);    $extention = pathinfo($fileName,PATHINFO_EXTENSION);    $upfileName = $filename.time("Y-m-d-h-i-s").'.'.$extention;                //判断临时文件是否上传    if(is_uploaded_file($fileInfo['tmp_name'][$i])){        move_uploaded_file($fileInfo['tmp_name'][$i],$filepath.'/'.$upfileName);        echo $fileName."上传成功.<br>";    }}// }?>


原创粉丝点击