Probléme upload piéce jointe
Bonjour à tous,
J'ai un probléme, voici mon fichier PHP qui permet l'envoi d'email avec piéce jointe, le probléme est qu'il m'est impossible de chager la piéce jointe, pour quels raisons je ne sais pas, j'ai peu être uné idée.
La ligne: $fichierr = "adresses.txt"; doit se confondre avec la ligne:
$pieceJointe = $_FILES['fichier'];
Merci d'avance ;)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
<!doctype html>
<html>
<head>
</head>
<body align="center">
<?php
if($_POST)
?>
<form name="formule" action="messagerie(1).php" method="POST" enctype="multipart/form-data"> <!--Formulaire -->
<table>
<tr>
<td>Objet</td> <!-- Objet dans formulaire-->
<td align="right"><input name="objet" type="text"/></td> //Ligne pour écrire l'objet
<td rowspan="10" valign="top" align="left"> <!--Colonnes des adresses mails-->
<?php
$email = ""; //Création variable emhttp://www.lesite.net/forum/affich-2149411-php-piece-jointe-avec-mailail
$fichierr = "adresses.txt"; //Nom du fichier contenant les adresses
$donnees = fopen($fichierr,"r"); //Ouverture du fichier contenant les adresses => "r" = en lecture
$chaine = fread($donnees, filesize($fichier)); //Récupération des données du fichier
fclose($donnees);//Fermeture du fichier
$pos1 = 0; // Position du début de la chaine
$last = true; //Variable pour savoir si l'on est a la fin du fichier
while($last) //Boucle jusqu'à ce qu'on ateigne la fin de la chaine (Tant que)
{
if($pos2 = strpos($chaine, ";", $pos1)) //Detection de la position du caractère de séparation des adresses
$taille = $pos2 - $pos1; //Variable contenant la taille de la chaine contenant UNE adresse mail
else
{
$taille = strlen($chaine);
$last = false; //Prend false pour arrêter la boucle while
}
$contact = substr($chaine, $pos1, $taille); //Récuperd toutes les informations sur le contact
$pos1 = $pos2 + 1; //Nouvelle position du début de la recherche dans la chaine (avec ; puis passage à la suivante)
$pos3 = strrpos($contact, " "); //Detection de la position du dernier espace séparant le nom du contact de son adresse mail
$nom = substr($contact, 0, $pos3); //Découpage de la chaine pour récupérer le nom , $pos3 = position de l'espace entre contact et adresse mail
$adresse = substr($contact, $pos3 + 1); //Découpage de la chaine pour récupérer l'adresse mail
$checkBoxAdresse = str_replace(".",",",$adresse); //Remplace les virgules par des points dans l'adresse
$checkBoxAdresse = str_replace("
","",$checkBoxAdresse); //Supprime le caractère "Entrée"
if(isset($_POST[$checkBoxAdresse]))//Si il y a un retour du formulaire avec l'adresse contenu dans $checkBoxAdressse éxécution du code ci dessous
{
$email = $email.$nom.' < '; //mise en place des balises pour l'envoi du mail
$email = $email.$adresse.' >, ';
}
echo '<input name="'.$checkBoxAdresse.'" type="checkbox">'.$nom.'<br>
'; // mise en place des checkBox
}
if(isset($_POST['objet']) && isset($_POST['message'])) //Teste s'il y a l'envoit d'un objet et d'un message
{
$objet = $_POST['objet']; //Récuperation de l'objet du message
$message = $_POST['message']; //Récuperation du message
if(isset($_FILES['fichier'])) //Vérification si $_FILES['fichier'])existe
{
$pieceJointe = $_FILES['fichier']; //Récupération du fichier
$corps = $message.$pieceJointe; //Ajout du fichier au message
}
else
$corps = $message; //Insertion de message
$headers = 'From: Nom Prénom <adresse@exemple.com>'; //Nom de la personne qui envoie l'email
mail($email, $objet, $corps, $headers); //Envois du mail
}
?>
</td>
</tr>
<tr>
<td><input type="file" name="fichier"/></td>
</tr>
<tr>
<td>Message</td>
</tr>
<tr>
<td colspan="2"><textarea name="message" id="message" cols="50" rows="10" style="color:grey"></textarea></td>
</tr>
</table>
<input type="submit" value="Envoyer"/>
</form>
</body>
</html> |