簡體   English   中英

php中的多張圖片上傳

[英]multiple image upload in php

我想上傳多個具有唯一文件名的圖像,即我的 html 代碼如下

 <input name="upfile1" type="file">
 <input name="upfile2" type="file">
 <input name="upfile3" type="file">

在這里,我想將這三張圖片及其縮略圖上傳到 3 個不同的文件夾中。有人可以幫助我並提供解決方案嗎?

試試下面的代碼:

> <?php //set where you want to store files //in this example we keep
> file in folder upload //$HTTP_POST_FILES['ufile']['name']; = upload
> file name //for example upload file name cartoon.gif . $path will be
> upload/cartoon.gif 
  $path1="upload1/".$HTTP_POST_FILES['ufile']['name'][0]; 
  $path2="upload2/".$HTTP_POST_FILES['ufile']['name'][1]; 
  $path3="upload3/".$HTTP_POST_FILES['ufile']['name'][2];
> 
> //copy file to where you want to store file
> copy($HTTP_POST_FILES['ufile']['tmp_name'][0], $path1);
> copy($HTTP_POST_FILES['ufile']['tmp_name'][1], $path2);
> copy($HTTP_POST_FILES['ufile']['tmp_name'][2], $path3);
> 
> //$HTTP_POST_FILES['ufile']['name'] = file name
> //$HTTP_POST_FILES['ufile']['size'] = file size
> //$HTTP_POST_FILES['ufile']['type'] = type of file 
echo "File Name :".$HTTP_POST_FILES['ufile']['name'][0]."<BR/>"; 
echo "File Size:".$HTTP_POST_FILES['ufile']['size'][0]."<BR/>"; 
echo "File Type:".$HTTP_POST_FILES['ufile']['type'][0]."<BR/>"; 
echo "<img src=\"$path1\" width=\"150\" height=\"150\">"; echo "<P>";

  echo "File Name :".$HTTP_POST_FILES['ufile']['name'][1]."<BR/>"; 
  echo "File Size :".$HTTP_POST_FILES['ufile']['size'][1]."<BR/>"; 
  echo "File Type :".$HTTP_POST_FILES['ufile']['type'][1]."<BR/>"; 
  echo "<img src=\"$path2\" width=\"150\" height=\"150\">"; echo "<P>";


> echo "File Name :".$HTTP_POST_FILES['ufile']['name'][2]."<BR/>"; 
  echo "File Size :".$HTTP_POST_FILES['ufile']['size'][2]."<BR/>";
  echo "File Type :".$HTTP_POST_FILES['ufile']['type'][2]."<BR/>"; 
  echo "<img src=\"$path3\" width=\"150\" height=\"150\">";

> 
> // Use this code to display the error or success.
> 
> $filesize1=$HTTP_POST_FILES['ufile']['size'][0];
> $filesize2=$HTTP_POST_FILES['ufile']['size'][1];
> $filesize3=$HTTP_POST_FILES['ufile']['size'][2];
> 
> if($filesize1 && $filesize2 && $filesize3 != 0) { echo "We have
> recieved your files"; }
> 
> else { echo "ERROR....."; }
> 
> //////////////////////////////////////////////
> 
> // What files that have a problem? (if found)
> 
> if($filesize1==0) { echo "There're something error in your first
> file"; echo "<BR />"; }
> 
> if($filesize2==0) { echo "There're something error in your second
> file"; echo "<BR />"; }
> 
> if($filesize3==0) { echo "There're something error in your third
> file"; echo "<BR />"; }
> 
> ?>

我寫了一個類來輕松處理前一段時間提交的文件......

https://github.com/homer6/altumo/blob/master/source/php/Form/UploadedFile.php

用法:

$uploaded_files = \Altumo\Form\UploadedFile::loadFiles();

例如。 $uploaded_files 值:

      array(
           'myfile1' => object(Altumo\Form\UploadedFile)
           'nested_form_name' = array(
               'nested_file_1' => object(Altumo\Form\UploadedFile)
               'nested_file_2' => object(Altumo\Form\UploadedFile)
           )
      )

這些值與這樣的形式一致:

   <input type="file" name="myfile1" />
   <input type="file" name="nested_form_name[nested_file_1]" />
   <input type="file" name="nested_form_name[nested_file_2]" />

希望有幫助

演示:使用最后一個插入 id 在數據庫中插入多個圖像

if (isset($_FILES['uploadimage']['name'])) {
    $file_name_all = "";
    for ($i = 0; $i < count($_FILES['uploadimage']['name']); $i++) {
        $tmpFilePath = $_FILES['uploadimage']['tmp_name'][$i];
        if ($tmpFilePath != "") {
            $path = "assets/img/roomimages/"; // create folder
            $name = $_FILES['uploadimage']['name'][$i];
            $size = $_FILES['uploadimage']['size'][$i];

            list($txt, $ext) = explode(".", $name);
            $file = time().substr(str_replace(" ", "_", $txt), 0);
            $info = pathinfo($file);
            $filename = 'image'. $file.".".$ext;
        }
        if (move_uploaded_file($_FILES['uploadimage']['tmp_name'][$i], $path.$filename)) {
            $sql_image = mysqli_query($con, "insert into roomimages(postroom_id,type,uploadimage) values('$last','$type','".$filename."')") or die(mysqli_error($con));
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM