亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Muat naik berbilang fail ke pangkalan data MySql untuk pembangunan PHP (2)

Mula-mula kita perlu membuat halaman HTML menggunakan <form> borang

<body>
  <form action="tu5.php" method="post" enctype="multipart/form-data">
    上傳文件:<br><br>
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
    第一張圖:<input type="file" name='myfile[]'><br><br>
    第二張圖:<input type="file" name='myfile[]'><br><br>
    <input style="margin-left: 8%;" type="submit" value="上傳">
  </form>
</body>

Di sini kami menunjukkan muat naik 2 imej pada satu masa.

2276.jpg

Anda boleh memilih dua gambar dengan mengklik dua butang "Pilih Fail", dan kemudian klik "Muat Naik" untuk memuat naik dua gambar itu sekali gus.

Tunjukkan kod fungsi backend PHP yang lengkap:

<?php
echo "<pre>";
echo "<hr/>";
//1.獲取上傳文件信息
$upfile = $_FILES["myfile"];
$typelist = array("image/jpeg","image/jpg","image/png","image/gif"); //定義允許的類型
$path="uploads/";  //定義一個(gè)上傳過后的目錄
//重新組裝上傳文件的數(shù)據(jù),以便依次上傳
$uploadFiles = array();
foreach($upfile as $key =>$value) {
  foreach($value as $k => $v){
    $uploadFiles[$k][$key]=$v;
  }
}

//遍歷上傳
foreach($uploadFiles as $k => $v) {
  //2. 過濾上傳文件的錯(cuò)誤號(hào)
  if ($v['error'] > 0) {
    //獲取錯(cuò)誤信息
    switch ($v['error']) {
      case 1:
        $info = "上傳的文件超過了 php.ini 中 upload_max_filesize 選項(xiàng)限制的值。";
        break;
      case 2:
        $info = "上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項(xiàng)指定的值。";
        break;
      case 3:
        $info = "文件只有部分被上傳。";
        break;
      case 4:
        $info = "沒有文件被上傳。 ";
      case 6:
        $info = "找不到臨時(shí)文件夾。";
        break;
      case 7:
        $info = "文件寫入失敗";
        break;
    }
    die("上傳文件{$k}錯(cuò)誤,原因:" . $info);
  }
  //3. 本次上傳文件到小的過濾(自己選擇)
  if ($v['size'] > 100000) {
    die('上傳文件{$k}大小超出限制!');
  }
  //4. 類型過濾
  if (!in_array($v["type"], $typelist)) {
    die("上傳文件{$k}類型非法!" . $v["type"]);
  }
  //5. 上傳后的文件名定義(隨機(jī)獲取一個(gè)文件名(保持后綴名不變))
  $fileinfo = pathinfo($v["name"]);//解析上傳文件名字
  do{
    $newfile = date("Y-m-d,H-i-s") . rand(1000, 9999) . "." . $fileinfo["extension"];
  } while (file_exists($path . $newfile));
  //6. 執(zhí)行文件上傳
  //判斷是否是一個(gè)上傳的文件
  if (is_uploaded_file($v["tmp_name"])) {
    //執(zhí)行文件上傳(移動(dòng)上傳文件)
    if (move_uploaded_file($v["tmp_name"], $path . $newfile)) {
      //echo "文件{$K}上傳成功!";
      //執(zhí)行寫入數(shù)據(jù)庫操作
      $link = mysqli_connect('localhost','root','root') or die("數(shù)據(jù)庫連接失敗!");
      $db = mysqli_select_db($link,'test');
      mysqli_set_charset($link,'utf8');
      $filepath = $path.$newfile;
      $name = $v['name'];
      $size = $v['size'];
      $sql = "insert into img(id,name,size,pic) value(null,'$name','$size','$filepath')";
      mysqli_query($link,$sql);
      mysqli_close($link);
    } else {
      die("上傳文件{$k}失敗");
    }
  } else {
    die("不是一個(gè)上傳文件!");
  }
}
?>


Meneruskan pembelajaran
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>多個(gè)文件上傳表單</title> <style type="text/css"> input { background-color: yellow; border: 1px inset #CCCCCC; } </style> </head> <body> <form action="tu5.php" method="post" enctype="multipart/form-data"> 上傳文件:<br><br> <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> 第一張圖:<input type="file" name='myfile[]'><br><br> 第二張圖:<input type="file" name='myfile[]'><br><br> <input style="margin-left: 8%;" type="submit" value="上傳"> </form> </body> </html> <?php echo "<pre>"; echo "<hr/>"; //1.獲取上傳文件信息 $upfile = $_FILES["myfile"]; $typelist = array("image/jpeg","image/jpg","image/png","image/gif"); //定義允許的類型 $path="uploads/"; //定義一個(gè)上傳過后的目錄 //重新組裝上傳文件的數(shù)據(jù),以便依次上傳 $uploadFiles = array(); foreach($upfile as $key =>$value) { foreach($value as $k => $v){ $uploadFiles[$k][$key]=$v; } } //遍歷上傳 foreach($uploadFiles as $k => $v) { //2. 過濾上傳文件的錯(cuò)誤號(hào) if ($v['error'] > 0) { //獲取錯(cuò)誤信息 switch ($v['error']) { case 1: $info = "上傳的文件超過了 php.ini 中 upload_max_filesize 選項(xiàng)限制的值。"; break; case 2: $info = "上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項(xiàng)指定的值。"; break; case 3: $info = "文件只有部分被上傳。"; break; case 4: $info = "沒有文件被上傳。 "; case 6: $info = "找不到臨時(shí)文件夾。"; break; case 7: $info = "文件寫入失敗"; break; } die("上傳文件{$k}錯(cuò)誤,原因:" . $info); } //3. 本次上傳文件到小的過濾(自己選擇) if ($v['size'] > 100000) { die('上傳文件{$k}大小超出限制!'); } //4. 類型過濾 if (!in_array($v["type"], $typelist)) { die("上傳文件{$k}類型非法!" . $v["type"]); } //5. 上傳后的文件名定義(隨機(jī)獲取一個(gè)文件名(保持后綴名不變)) $fileinfo = pathinfo($v["name"]);//解析上傳文件名字 do{ $newfile = date("Y-m-d,H-i-s") . rand(1000, 9999) . "." . $fileinfo["extension"]; } while (file_exists($path . $newfile)); //6. 執(zhí)行文件上傳 //判斷是否是一個(gè)上傳的文件 if (is_uploaded_file($v["tmp_name"])) { //執(zhí)行文件上傳(移動(dòng)上傳文件) if (move_uploaded_file($v["tmp_name"], $path . $newfile)) { //echo "文件{$K}上傳成功!"; //執(zhí)行寫入數(shù)據(jù)庫操作 $link = mysqli_connect('localhost','root','root') or die("數(shù)據(jù)庫連接失敗!"); $db = mysqli_select_db($link,'test'); mysqli_set_charset($link,'utf8'); $filepath = $path.$newfile; $name = $v['name']; $size = $v['size']; $sql = "insert into img(id,name,size,pic) value(null,'$name','$size','$filepath')"; mysqli_query($link,$sql); mysqli_close($link); } else { die("上傳文件{$k}失敗"); } } else { die("不是一個(gè)上傳文件!"); } } ?>