Eh bien j'aimerai pouvoir te fournir des logs d'erreurs, mais aucune n'est construite, je suis allé voir dans les logs d'OVH mais aucune log d'erreur n'apparait cliquable.


Code : Tout sélectionner
environment=development
Code : Tout sélectionner
for($i = 1; $i < 3; $i++) {
$fichier = "att".$i;
if(isset($_FILES[$fichier]) && $_FILES[$fichier]['name'] != ""){ //Vérifie sur formulaire envoyé et que le fichier existe
$nom_fichier = $_FILES[$fichier]['name'];
$source = $_FILES[$fichier]['tmp_name'];
$type_fichier = $_FILES[$fichier]['type'];
$taille_fichier = $_FILES[$fichier]['size'];
if($nom_fichier != ".htaccess"){ //Vérifie que ce n'est pas un .htaccess
if($type_fichier == "image/jpeg"
|| $type_fichier == "image/pjpeg"
|| $type_fichier == "application/pdf"){ //Soit un jpeg soit un pdf
if ($taille_fichier <= 2097152) { //Taille supérieure à Mo (en octets)
$tabRemplacement = array("é"=>"e", "è"=>"e", "à"=>"a"); //Remplacement des caractères spéciaux
$handle = fopen($source, 'r'); //Ouverture du fichier
$content = fread($handle, $taille_fichier); //Lecture du fichier
$encoded_content = chunk_split(base64_encode($content)); //Encodage
$f = fclose($handle); //Fermeture du fichier
$email_message .= $pl . "--" . $boundary . $pl; //Deuxième séparateur d'ouverture
$email_message .= 'Content-type:'.$type_fichier.';name="'.$nom_fichier.'"'."n"; //Type de contenu (application/pdf ou image/jpeg)
$email_message .= 'Content-Disposition: attachment; filename="'.$nom_fichier.'"'."n"; //Précision de pièce jointe
$email_message .= 'Content-transfer-encoding:base64'."n"; //Encodage
$email_message .= "n"; //Ligne blanche. IMPORTANT !
$email_message .= $encoded_content."n"; //Pièce jointe
}else{
//Message d'erreur
$email_message .= $pl ."L'utilisateur a tenté de vous envoyer une pièce jointe mais celle ci était superieure à 2Mo.". $pl;
}
}else{
//Message d'erreur
$email_message .= $pl ."L'utilisateur a tenté de vous envoyer une pièce jointe mais elle n'était pas au bon format.". $pl;
}
}else{
//Message d'erreur
$email_message .= $pl ."L'utilisateur a tenté de vous envoyer une pièce jointe .htaccess.". $pl;
}
}
$email_message .= $pl . "--" . $boundary . "--" . $pl;
}
Pour savoir quels sont les "include_path", tu peux regarder dans un phpinfo(), ou utiliser simplement le même répertoire que là où est ton fichier PHP si ce n'est que dans un seul script où tu as besoin de PHPmailer. Sinon tu peux définir un autre include_path avec la fonction PHP set_include_path()Alternatively, if you're not using Composer, copy the contents of the PHPMailer folder into one of the include_path directories specified in your PHP configuration and load each class file manually:
<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'path/to/PHPMailer/src/Exception.php'; require 'path/to/PHPMailer/src/PHPMailer.php'; require 'path/to/PHPMailer/src/SMTP.php';