• php多文件上传(实例)


    此处以上传图片为例:

    html文件:

     1 <html lang="en">
     2     <meta charset="UTF-8">
     3     <title>上传图片</title>
     4     <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
     5     <style>
     6         #w1 img{
     7              350px;
     8             height: auto;
     9             margin: 10px;
    10         }
    11     </style>
    12 <body>
    13 <form method="post" action="d.php" enctype="multipart/form-data">
    14     <input name='uploads[]' type="file" multiple onchange="tu(this)">
    15     <input type="submit" name="uploadpic" value="上传">
    16 </form>
    17 <div id="w1"></div>
    18 </body>
    19 <script>
    20     function tu(dom){
    21         var url = dom.files;
    22         //var path = window.URL.createObjectURL(dom.files[0]);
    23         //var path1 = window.URL.createObjectURL(dom.files[1]);
    24         $.each(url, function(i){
    25             var path = window.URL.createObjectURL(url[i]);
    26             $('#w1').append("<img src='"+ path +"'>");
    27         });
    28         //$('#w1').html("<img src='"+ path +"'>");
    29         // $('#w2').html("<img src='"+ path1 +"'>");
    30         //alert(path);
    31     }
    32 </script>
    33 </html>
    html表单部分

    php文件:

     1 <?php
     2 /**
     3  * Created by PhpStorm.
     4  * User: Administrator
     5  * Date: 2018/3/20
     6  * Time: 18:28
     7  */
     8 header("content-type:text/html; charset=utf8");
     9 
    10 if($_POST['uploadpic']=='上传'){
    11     // 链接数据库
    12     $conn=mysqli_connect("localhost","root","root", "mydata") or die("数据库连接错误".mysql_error());
    13     mysqli_query($conn, "set names utf8");
    14     //上传图片保存的路径
    15     $dest_folder = "upload";
    16     // 判断保存路径文件是否存在
    17     if(!file_exists($dest_folder)){
    18         mkdir($dest_folder, 700); // 创建文件夹, 700最高权限
    19     }
    20     //$arr = array();   //定义数组存放上传图片的名称方便你以后会用的。
    21     $count = 0; // 统计上传文件个数
    22     $tp = array(".gif", ".jpg", ".png");   //检查上传文件是否在允许上传的格式
    23     // 循环取出上传文件
    24     foreach ($_FILES["uploads"]["error"] as $key => $error){
    25         // 获取原文件名
    26         $former_name = $_FILES["uploads"]["name"][$key];
    27         //截取原文件名后缀
    28         $a = substr($former_name,strrpos($former_name,'.'));
    29         //截取原文件名
    30         $prename = substr($former_name,0,strrpos($former_name,'.')); //echo $prename; exit;
    31 
    32         // 判断文件的格式
    33         if(!in_array($a, $tp)){
    34             echo "<script> alert('系统不支持改文件格式!'); </script>";
    35             exit;
    36         }
    37         // 判断每一个文件是否成功上传
    38         if($error == UPLOAD_ERR_OK){
    39             // 获取临时文件名称
    40             $tmp_name = $_FILES["uploads"]["tmp_name"][$key];
    41             // 确保文件的唯一性,对文件进行重命名 (日期+随机数+后缀)
    42             $save_name = time().mt_rand(1000,9999).$a;
    43             // 保存文件的路径
    44             $uploadfile = $dest_folder.'/'.$save_name;
    45             // 路径保存到数据库
    46             $query = "insert into product(name, tupian) values('$prename','$uploadfile')";
    47             $res = mysqli_query($conn, $query);
    48             if(!$res){
    49                 die('错误:'.mysqli_error($conn));
    50             }
    51             // 移动文件到指定的路径
    52             move_uploaded_file($tmp_name, $uploadfile);
    53 
    54             // 打印保存的文件
    55             echo $prename."原名称<br/>";
    56             echo $uploadfile."保存路径<br/>";
    57             $count ++;
    58         }
    59     }
    60     echo "总共".$count."文件";
    61 }
    php部分
  • 相关阅读:
    linux内核源码之基础准备篇
    GDB 自动化操作的技术-PYTHON
    GDB 调试PYTHON
    GCC onlinedocs
    深入CSS,让网页开发少点“坑”
    多款控件新版发布,新特性抢鲜知
    如何选择前端框架:ANGULAR VS EMBER VS REACT
    推荐10个很棒的AngularJS学习指南
    Top 15 不起眼却有大作用的 .NET功能集
    最全数据结构详述: List VS IEnumerable VS IQueryable VS ICollection VS IDictionary
  • 原文地址:https://www.cnblogs.com/wsybky/p/8625147.html
Copyright © 2020-2023  润新知