2017-07-31 4 views
-1

J'essaie de télécharger plusieurs images à la fois dans les sessions. Dans mon cas, l'utilisateur doit télécharger la quantité exacte d'images qu'il a indiqué précédemment pour une "position" et répéter l'action pour une autre "position" avec différentes images againg avec la quantité correcte. Malheureusement, le téléchargement ne fonctionne pas et je ne sais pas pourquoi. Devrais-je utiliser $_POST au lieu de $_FILES ou la méthode foreach n'est-elle pas correcte? Voici le code:Comment télécharger plusieurs fichiers au sein d'une session?

HTML:

<?php 

session_start(); 
include('php/uploadspec.php'); 
if(!isset($_SESSION['face'][$_SESSION['counter']])){ 
    header("Location: cuberender.php"); 
} 

$speccount = 1; 

?> 

<div class="counter"> 

     <form method="post"> 
      <div class="form-group"> 
       <p>Please Choose all <?php echo $_SESSION['quantity'] ?> photos for <?php echo $_SESSION['face'][$_SESSION['counter']] ?></p> 
      </div> 
      <div class="form-group"> 
       <input type="file" name="images[]" accept="image/*" multiple /> 
      </div> 
      <div class="form-group"> 
       <input type="submit" name="Submit" value="Submit!" /> 
      </div> 
     </form> 

     <?php 
     if (isset($_POST['Submit'])) { 
      $imgamount=count($_POST['images']); 
      if ($imgamount==$_SESSION['quantity']){ 
      uploadspec(session_id(), $speccount); 
      $_SESSION['counter']++; 
      header("Location: posteditor.php"); 
      } 
     } 
     ?> 

PHP:

function uploadspec($id, $speccount){ 
    foreach($_FILES["images"]["tmp_name"] as $image) { 
     $target_file = $id . '/' .$_SESSION['face'][$_SESSION['counter']]. '/specimage'.$speccount; 
     $speccount++; 
     move_uploaded_file($image, $target_file); 
    } 
} 

Merci à l'avance!

+0

* "Dois-je utiliser $ _POST au lieu de $ _FILES, ou est la méthode foreach pas?" * - '$ _FILES' , et il y a un exemple dans le manuel pour que vous puissiez vous baser sur http://php.net/manual/fr/features.file-upload.post-method.php –

+0

Si ce que vous utilisez est défaillant, utilisez rapports d'erreurs http://php.net/manual/fr/function.error-reporting.php –

+0

'if (! isset ($ _ SESSION ['face'] [$ _ SESSION ['counter']]))' qui pourrait être à défaut de vous ici btw. –

Répondre

0

Veuillez vérifier la limite de téléchargement de php max & php max Limite de publication.

0

Vérifiez en mettant à jour la taille max Ajouter et post Taille maximale dans le fichier php.ini