2012-11-03 168 views
1

我有上传脚本来上传图片。用html5和php上传多个文件到文件夹“上传”

我的目录看起来是这样的: directory

我的index.php看起来喜欢这样的:

<html> 

    <head> 

     <!-- Link naar de stylesheet --> 
     <link rel="stylesheet" type="text/css" href="style/default.css" /> 

    </head> 
    <body> 
     <center> 

      <div id="title"> 
       <h1>Het "Vergeet-mij-nietje"</h1> 
       <sup>Image Upload Script</sup> 
      </div> 

      <!-- Content --> 
      <div id="content1"> 

       <?php 

        // Check if a post exist 
        if(!isset($_POST['p'])) { $_POST['p']= 0; } 

        // Include files 
        if($_POST['p'] == 1){ 
         include("includes/uploadimage.php"); 
        }else{ 
         include("includes/uploadform.php"); 
        } 

       ?> 
      </div> 
    </body> 
</html> 

在我的文件夹,包括我有以下文件: uploadform.php uploadimage.php

我的uploadform.php看起来像这样:

<form method="post" enctype="multipart/form-data"> 

    Kies hier meerdere bestanden om te uploaden 
    <br /> <br /> 
    <input type="hidden" name="p" value="1" /> 

    <input type="file" name="image" multiple /> 

    <br /> <br /> 

    <input type="submit" value="Upload"/> 

</form> 

注意多功能。

我uploadimage.php看起来是这样的:我没有使用宽度和高度

<?php 

    // variabelen. 
    $name=   $_FILES['image']['name']; 
    $temp=   $_FILES['image']['tmp_name']; 
    $type=   $_FILES['image']['type']; 
    $size=   $_FILES['image']['size']; 
    $path=   'uploads/ ' . md5(rand(0, 1000) .rand(0, 1000) .rand(0, 1000) .rand(0, 1000)) . '.jpg'; 
    $size2=   getimagesize($temp); 
    $width=   $size2[0]; 
    $height=  $size2[1]; 


    // Benodigdheden 
    $maxwidth=  1281; 
    $maxheight=  1081; 
    $allowed=  array('image/jpeg', 'image/png', 'image/gif'); 


    // Echo data. 
    echo ' 
     '. $name .' <br /> 
     '. $temp .' <br /> 
     '. $type .' <br /> 
     '. $size .' <br /> 
     '. $path .' <br /><br /> 
     '. $width .' x 
     '. $height .' <br /> 
    '; 

    if(in_array($type, $allowed )){ 

     if($width < $maxwidth && $height < $maxheight){ 

      if($size < 5242880){ 

      /* 
       // Vorm van de foto. Dit is nodig bij het Resizen. 
       if($width == $height){ $case=1;} 
       if($width > $height){ $case=2;} 
       if($width < $height){ $case=3;} 

       switch($case){ 

        // Vierkant 
        case 1; 

         $newwidth=  100; 
         $newheight=  100; 

        break; 

        // Liggende Rechthoek 
        case 2; 

         $newheight=  100; 
         $ratio=   $newheight/$height; 
         $newwidth=  round($width * $ratio); 

         echo $newwidth.'x'.$newheight; 

        break; 

        // Staande Rechthoek 
        case 3; 

         $newwidth=  100; 
         $ratio=   $newwidth/$width; 
         $newheight=  round($height * $ratio); 


       } 

      */ 

      }else{ 
       echo '<p><b>De foto die u zojuist heeft geupload is te groot. Upload een foto, kleiner dan 5mb.</b></p>'; 
      } 


     }else{ 
      echo '<p><b>De foto die u zojuist heeft geupload heeft een te grote resolutie. Upload een kleinere foto.</b></p>'; 
     } 

    }else{ 
     echo '<p><b>De foto die u zojuist heeft geupload is geen .jpg, .png of .gif. Deze extensie is niet toegestaan.</b></p>'; 
    } 

    // Upload files. 
    move_uploaded_file($temp, $path); 

    // Terug stuur link 
    echo '<a href="index.php">Ga Terug</a>'; 



?> 

通知功能


我的问题:

我的问题是, uploadimage.php无法上传多张图片。它只能在当时上传1张图片。

如何更改uploadimage.php中的代码,以便它一次可以上传多个文件。

感谢

+0

反馈?不要忘记你的问题:) – Kursion

回答

1

我猜你应该有一个数组时的职位是发送

尝试更换:

<input type="file" name="image" multiple /> 

有了:

<input type="file" name="image[]" multiple /> 

uploadimage.php使用新的数组:$ _FILES ['image'] [i ] ['名字']其中'我'是你喜欢的图像的号码。

使用一个循环来获得所有这些。

看一看:PHP文件 http://php.net/manual/en/features.file-upload.multiple.php

+0

感谢你!我会看看它:D –