Bonjour,
Grâce à vos conseils, j'ai trouvé quelque chose d'intéressant, mais il y a quelque chose coince.
Le formulaire:
<form action="form_file2.php" method="post" name="formulaire">
Nom : <input maxlength="50" name="nom" size="30" type="text" /><br />
<br />
Prénom : <input maxlength="50" name="prenom" size="30" type="text" /><br />
<br />
E-mail : <input maxlength="50" name="mail" size="30" type="text" /><br />
<br />
Commentaires :<textarea cols="30" name="commentaires" rows="6" wrap="soft"></textarea><br />
<br />
Fichier : <input maxlength="60" name="scan" size="40" type="file" /><br />
<br />
Le fichier form_file2.php:
<?php
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$mail = $_POST['mail'];
$commentaires= $_POST['commentaires'];
$scan=$_post['scan'];
echo"nom: $nom<br>"; // Rajouté pour voir le contenu des variables
echo"prenom: $prenom<br>"; // Rajouté pour voir le contenu des variables
echo"mail: $mail<br>"; // Rajouté pour voir le contenu des variables
echo"commentaires: $commentaires<br>"; // Rajouté pour voir le contenu des variables
echo"scan: $scan<br>"; // Rajouté pour voir le contenu des variables
//=====Déclaration des messages au format texte et au format HTML
$message_txt ="Nom : ";
$message_html = "<html><head></head><body><b>Données pour la demande d'accès</b>,<br><br> <b>Nom :</b> $nom <br> <b>Prenom :</b> $prenom <br> <b>Email: </b> $mail </body></html>";
//==========
//=====Lecture et mise en forme de la pièce jointe
$fichier = fopen($scan, "r" );
$attachement = fread($fichier, filesize($scan));
$attachement = chunk_split(base64_encode($attachement));
fclose($fichier);
//==========
//=====Création de la boundary
$boundary = "-----=".md5(rand());
$boundary_alt = "-----=".md5(rand());
//==========
//=====Définition du sujet
$sujet = "Hey mon ami !";
//=========
//=====Création du header de l'e-mail
$header = "From: \"WeaponsB\"<
[email protected]>\n";
$header.= "Reply-to: \"WeaponsB\" <
[email protected]>\n";
$header.= "MIME-Version: 1.0\n";
$header.= "Content-Type: multipart/mixed;\n boundary=\"$boundary\"\n";
//==========
//=====Création du message
$message = "\n--".$boundary."\n";
$message.= "Content-Type: multipart/alternative;\n boundary=\"$boundary_alt\"\n";
$message.= "\n--".$boundary_alt."\n";
//=====Ajout du message au format texte
$message.="Content-Type: text/plain; charset=\"ISO-8859-1\"\n";
$message.="Content-Transfer-Encoding: 8bit\n";
$message.= $message_txt."\n";
//==========
$message.= "\n--".$boundary_alt."\n";
//=====Ajout du message au format HTML
$message.="Content-Type: text/html; charset=\"ISO-8859-1\"\n";
$message.="Content-Transfer-Encoding: 8bit\n";
$message.= $message_html."\n";
//==========
//=====On ferme la boundary alternative
$message.= "\n--".$boundary_alt."--\n";
//==========
$message.= "\n--".$boundary."\n";
//=====Ajout de la pièce jointe
$message.= "Content-Type: application/pdf;\n name=\"$scan\"\n";
$message.= "Content-Transfer-Encoding: base64\n";
$message.= "Content-Disposition: attachment;\n filename=\"$scan\"\n";
$message.= "\n".$attachement."\n\n";
$message.= "\n--".$boundary."--\n";
//==========
//=====Envoi de l'e-mail
mail("
[email protected]",$sujet,$message,$header);
//==========
?>
<input name="bouton" type="submit" value="Envoyer" /></form>
... et j'ai le message d'erreur suivant:
nom: Mon nom
prenom: Mon prénom
mail:
[email protected]
commentaires: Commentaires
scan:
Warning: fopen() [function.fopen]: Filename cannot be empty in /home/www/d535fb38b1eca95aa12713ac33940cbd/web/form_file2.php on line 21
Warning: fread(): supplied argument is not a valid stream resource in /home/www/d535fb38b1eca95aa12713ac33940cbd/web/form_file2.php on line 22
Warning: fclose(): supplied argument is not a valid stream resource in /home/www/d535fb38b1eca95aa12713ac33940cbd/web/form_file2.php on line 24
... On constate notamment que le contenu de la variable $scan est vide. Pour info, la ligne 21 est: $fichier = fopen($scan, "r" );
Pouvez-vous me dire quel est le problème?
Salutations
Christian