Bonjour à tous voila que j'éssai d'inclure l'envoi d'images dans mon formulaire qui ne veulent tout simplement pas partir, pourtant lorsque je les sélectionne il apparait pourtant que j'ai choisi 4 fichiers par exemple mais a l'envoi
//voila le code nest pas plus compliqué que sa
<form action="ajouter-photos.php" enctype="multipart/form-data" method="POST">
<input type="file" name="[]magallerie" id="" autocomplete="off" multiple>
<div class="btn-container"><button type="submit" class="btn">Ajouter</button>
</form>
// et voici le cas de figure de lerreur ()
if(empty($_FILES)) {
echo('Aucune image téléchargée');
exit();
}
Modifie ton code comme cela :
<form action="ajouter-photos.php" enctype="multipart/form-data" method="POST">
<input type="file" name="magallerie[]" id="" autocomplete="off" multiple>
foreach($_FILES['magallerie'] as $key=>$value){
// début du switch
if($_FILES['magallerie']['error'] !== UPLOAD_ERR_OK){
switch($_FILES['magallerie']['error']) {
case UPLOAD_ERR_PARTIAL:
$erreur['situation']="Le ficher a été partielement téléchargé";
$erreur['toast']="toast error";
echo json_encode($erreur);
exit();
break;
case UPLOAD_ERR_NO_FILE :
$erreur['situation']='Aucun fichier téléchargé';
$erreur['toast']="toast error";
echo json_encode($erreur);
exit();
break;
default:
$erreur['situation']="erreur inconnu";
$erreur['toast']="toast error";
echo json_encode($erreur);
exit();
break;
}
}```
rebonjour merci encore pour l'aide là maintenant je suis dans le dernier cas de figure , le default on me dit une erreur inconnu je sais pas a quoi celà est du
rebonjour après de nombreuses recherches j'ai pu trouver une solution a mon problème, j'arrive maintenant a uploader plusieurs fichiers à la fois le problème est que chaque fichier sélectionné est uploader 2fois :D
<?php
SESSION_START();
$erreur=[];
if($_SERVER['REQUEST_METHOD'] != 'POST') {
$erreur['situation']="'Méthode d'envoi POST necesssaire...'";
$erreur['toast']="toast error";
echo json_encode($erreur); exit();
}
$allowed_types = array('jpg', 'png', 'jpeg', 'gif');
$maxsize = 10 * 1024 * 1024;
if(!empty(array_filter($_FILES['magallerie']['name']))) {
// Loop through each file in files[] array
foreach ($_FILES['magallerie']['tmp_name'] as $key => $value) {
$file_tmpname = $_FILES['magallerie']['tmp_name'][$key];
$file_name = $_FILES['magallerie']['name'][$key];
$file_size = $_FILES['magallerie']['size'][$key];
$file_ext = pathinfo($file_name, PATHINFO_EXTENSION);
$base=$_SESSION['mail'];
$complete_name= $base.'.'.$file_ext;
$destination = __DIR__."/images_clients/".$complete_name;
$filepath = $destination.$complete_name;
if(in_array(strtolower($file_ext), $allowed_types)) {
if ($file_size > $maxsize) {
$erreur['situation']="érreur : taille du fichier dépassé";
$erreur['toast']="toast error";
echo json_encode($erreur);
}
$i=1;
$index=null;
while (file_exists($destination)){
$complete_name= $base.":$i.".$file_ext;
$destination = __DIR__."/images_clients/".$complete_name;
$index=$i;
$i++;
}
if( !move_uploaded_file($file_tmpname, $destination)){
$erreur['situation']='Erreur impossible de télécharger cette image !';
$erreur['toast']="toast error";
echo json_encode($erreur); exit();
}
else{
if($index !=null){
$filename="images_clients/".$base . ":$index.". $file_ext;
require_once 'classes.php';
$insert=$pdo->prepare("INSERT INTO images_clients SET nom=?,prenoms=?,pseudo=?,mail=?,lien=?,date =? ");
$insert->execute([$_SESSION['nom'],$_SESSION['prenoms'],$_SESSION['pseudo'],$base,$filename,date('d-m-Y H:i:s')]);
$erreur['situation']="La photo a bien été ajoutée";
$erreur['toast']="toast success";
echo json_encode($erreur);
}else{
$filename="images_clients/". $base. "." . $file_ext;
require_once 'classes.php';
$insert=$pdo->prepare("INSERT INTO images_clients SET nom=?,prenoms=?,pseudo=?,mail=?,lien=?,date =? ");
// $insert->execute([$_SESSION['nom'],$_SESSION['prenoms'],$_SESSION['pseudo'],$_SESSION['mail'],$filename,date('d-m-Y H:i:s')]);
$insert->execute([$_SESSION['nom'],$_SESSION['prenoms'],$_SESSION['pseudo'],$base,$filename,date('d-m-Y H:i:s')]);
$erreur['situation']="Les photos ont bien été ajoutées";
$erreur['toast']="toast success";
echo json_encode($erreur);
}
}
}
else {
// If file extension not valid
$erreur['situation']="érreur : Format du fichier non valide";
$erreur['toast']="toast error";
}
}
}
else {
// If no files selected
$erreur['situation']="érreur : Aucun fichier sélectionné";
$erreur['toast']="toast error";
}