PHP多文件上传示例代码

后端开发   发布日期:2023年05月17日   浏览次数:551

实现功能,html页面的文件上传表单可以选择多个文件,PHP后台可以循环获取到所有要上传文件的信息(名称、类型、大小),并循环上传及处理文件。

HTML表单文件:(注意表单中file名称要加[]变为数组,multiple="multiple"代表可以多选文件)

  1. <form name="form1" id="form1" method="POST" action="?" enctype="multipart/form-data">
  2. <input type="file" name="file[]" multiple="multiple">
  3. </form>

PHP接收表单上传域:

  1. <?php
  2. if ($_FILES["file"]["error"][0] !=4){ //多文件上传要用[0],只要第0个(即第1个)有文件即可继续执行
  3. function fileext($filename){
  4. return substr(strrchr($filename, '.'), 1);
  5. }
  6. //计算数组中上传文件的数量
  7. $total_count = count($_FILES['file']['name']);
  8. for( $file_i=0 ; $file_i < $total_count ; $file_i++ ) {
  9. $uppath="upfile_xls/";
  10. $type=array("xls");//设置允许上传文件的类型
  11. $filename=time().".xls"; //原文件名:$_FILES["file"]["name"] 后缀名 strtolower(fileext($_FILES['file']['name']))
  12. $path_name=$uppath.$filename;
  13. if(!in_array(strtolower(fileext($_FILES['file']['name'][$file_i])),$type)){
  14. echo "<script language=javascript>alert('上传文件类型不正确!限xls格式');javascript:history.back(-1);</script>";
  15. exit;
  16. }
  17. if ($_FILES["file"]["size"][$file_i] > 10000*1024){
  18. echo "<script language=javascript>alert('上传文件大小超过限制!');javascript:history.back(-1);</script>";
  19. exit;
  20. }
  21. if ($_FILES["file"]["error"][$file_i] > 0){
  22. echo "上传参数错误: " . $_FILES["file"]["error"] . "<br />";
  23. }else{
  24. move_uploaded_file($_FILES["file"]["tmp_name"][$file_i],$path_name);//上传文件
  25. }
  26. //以下为处理上传文件的逻辑,如EXCLE导入数据等
  27. //..............
  28. }
  29. }
  30. ?>


以上就是PHP多文件上传示例代码的详细内容,更多关于PHP多文件上传示例代码的资料请关注九品源码其它相关文章!