J'ai travaillé sur un projet où l'utilisateur télécharge l'image sur la page de profil d'autres utilisateurs. J'ai également réussi à télécharger et envoyer des e-mails, mais il envoie plusieurs e-mails s'il y a plusieurs fichiers dans un seul téléchargement.Envoyer une notification après le chargement de plusieurs fichiers avec Dropzone JS
$sendmail = true;
if(!empty($_FILES)){
$team_id = $_GET['param1'];
$user_id = $_GET['param2'];
$id = $_GET['param3'];
$sql = "SELECT * FROM team where team_id = '$team_id'" ;
$sql_result = mysqli_query($conn,$sql) or die ('request "Could not execute SQL query" '.$sql);
while ($row = mysqli_fetch_assoc($sql_result)){
$abcd = $row;
}
$targetDir = "../user_images/";
$fileName = $_FILES['file']['name'];
$fileNamex = substr($fileName, -3);
$fileName = rand(1000,100000).md5($fileName).'_'.$fileName;
$targetFile = $targetDir.$fileName;
if(move_uploaded_file($_FILES['file']['tmp_name'] , $targetFile)){
mysqli_query($conn, "INSERT INTO gallery (team_id , user_id , id , userPic, token) VALUES('$team_id','$user_id','$id','$fileName','0')") or die(mysqli_error($conn));
if($sendmail === true){
$htmlContent = file_get_contents ("../email_template_header.php");
$registerURL = $siteURL.'/register/';
if($abcd['claimed'] == '1'){
$htmlContent .= "New image(s) has been uploaded to your business. Please <a href='$registerURL'>login</a> and approve them";
}
else{
$htmlContent .= "New image(s) has been uploaded to your business. Please <a href='$registerURL'>register</a> to claim your business";
}
$htmlContent .= file_get_contents ("../email_template_footer.php");
$to = $abcd['b_email'];
require '../PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'localhost';
$mail->SMTPAuth = false;
$mail->SMTPSecure = 'tls';
$mail->Port = 25;
$mail->setFrom('[email protected]', 'ABC');
$mail->addAddress($to);
$mail->isHTML(true);
$mail->Subject = 'New Image Uploaded';
$mail->Body = $htmlContent;
$mail->send();
$mail->clearAddresses();
$sendmail = false;
}
}
}
Cela ne fonctionne pas comme le code complet est en cours d'exécution pour chaque fichier, il y a aussi pas de boucle dans les exemples par défaut sur http://www.dropzonejs.com/ pour que je puisse avoir vérifié avec l'aide d'un indicateur d'index si un fichier a été téléchargé ou non. Toute aide est appréciée.
Merci
DoSomething() peut être une fonction php? ou dois-je faire un appel ajax à ma fonction –
Vous devez le remplacer par votre fonction d'envoi d'e-mail, vous devez donc appeler la commande d'envoi ici. –
si je remplace doSomething() avec console.log ('succès') rien n'est montré dans la console ... dois-je supprimer le code php pour le téléchargement de fichiers? –