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!
* "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 –
Si ce que vous utilisez est défaillant, utilisez rapports d'erreurs http://php.net/manual/fr/function.error-reporting.php –
'if (! isset ($ _ SESSION ['face'] [$ _ SESSION ['counter']]))' qui pourrait être à défaut de vous ici btw. –