Quand j'upload plusieurs fichiers sa fonctionne pas
- Accueil
- Forum
- Programmation
- PHP
- Quand j'upload plusieurs fichiers sa fonctionne pas
Johan-Krn Le 11 février 2017 à 22:27 (Édité le 25 janvier 2019 à 17:53)
Je veut que l'utilisateur puisse ajouter plusieurs photos en même temps du coup j'ai écrit sa
//HTML
<div class="form-inline">
<div class="form-group">
<input class="form-control" type="file" name="files[]" multiple required>
</div>
</div>
//PHP
if(isset($_FILES['files'])){
foreach($_FILES['files']['name'] as $file => $name){
$filename = date('Ymd-His', time()).mt_rand().'-'.$name;
try{
$targetPath = 'uploads/'.get_session('user_id');
if(!file_exists($targetPath)){
mkdir($targetPath, 0777, true);
}
if(move_uploaded_file($_FILES['files']['tmp_name'][$file], 'uploads/'.get_session('user_id').'/'.$filename)){
$q = $db->prepare("INSERT INTO img_album(user_id, album_id, image) VALUES(?, ?, ?)");
$q->execute([get_session('user_id'), $_GET['id'], 'uploads/'.get_session('user_id').'/'.$filename]);
redirect('album.php?user_id='.$user->id.'&id='.$_GET['id']);
}
}catch(Exception $e){
echo($e);
}
}
}
quand j'upload une photos sa fonctionne mais si j'upload plusieurs photos sa upload que la dernière photo sélectionner si quelqu'un pouvais m'aider sa serait cool merci d'avance
Cordialement ToutPac
Zbuu Le 15 février 2017 à 11:41 (Édité le 1 janvier 1970 à 01:00)
Je n'ai jamais essayé mais je crois que malgré l'attribut multiple="multiple" qu'il est impossible de récupérer les fichiers de cette façons via PHP.
Essaye quand même de faire un var_dump($_FILES) pour voir si PHP récupére bien les fichiers.
Et si ça ne fonctionne pas tu devrais plutôt créer plusieurs input files :
<input type="file" name="files[]">
<input type="file" name="files[]">
Ou bien de gérer l'ajout d'un nouveau champ input grâce à js