Afficher l'extansionde la pièce jointe , au lieu d'un fichier .tmp

azerto00 Messages postés 12 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 3 octobre 2010 - 18 juil. 2005 à 14:05
azerto00 Messages postés 12 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 3 octobre 2010 - 18 juil. 2005 à 21:47
bonjours, j'ai adopté un code .php quipermet d'ajouter une pièce jointe par mail , mais le problème est que le fichier recu porte l'extension .php et donc je ne sais pas ac quel logicile l'ouvri, je vous donne le code, et si quelqu'un trouve une solution sa serai super sympa ... :

voici le code .php de la page :

<?php
//----------------------------------
// ST3 Design.com
//----------------------------------

// Il ne faut rien changer ci-dessous si vous désirez que ça marche
// Boundary = Frontière en Anglais
$boundary = "-----=".md5(uniqid(rand()));

// Ici, on construit un entête contenant les informations
// Ici non plus, vous ne devez rien changer
// Version du format MIME utilisé
$header = "MIME-Version: 1.0\r\n";
// Boundary = Frontière en Anglais
$header .= "Content-Type: multipart/mixed; boundary="$boundary"\r\n";
$header .= "\r\n";

//--------------------------------------------------
// Construction du message proprement dit
//--------------------------------------------------

// Pour le cas, où le logiciel de mail du destinataire
// n'est pas capable de lire le format MIME de cette version
// Il est de bon ton de l'en informer
// Ce message n'apparaît pas pour les logiciels sachant lire ce format
$msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";

// Chaque partie du message est séparé par une frontière
$msg .= "--$boundary\r\n";

// Et pour chaque partie on en indique le type
$msg .= "Content-Type: text/plain; charset="iso-8859-1"\r\n";
// Et comment il sera codé
$msg .= "Content-Transfer-Encoding:8bit\r\n";
// Il est indispensable d'introduire une ligne vide entre l'entête et le texte
$msg .= "\r\n";
// Enfin, vous pouvez écrire votre Message ici
// Je vais vous expliquer comment faire votre description plus bas


$msg .= 'Adresse MAIL de l\'éxpediteur:';
$msg .= "$email";
$msg .= "\r\n";

$msg .= 'Nom, prénom: ';
$msg .= "$name";
$msg .= "\r\n";
$msg .= "\r\n";

$msg .= 'Type du fichier :';
$msg .= "$fichier";
$msg .= "\r\n";
$msg .= "\r\n";
$msg .= 'Commentaire:';
$msg .= "\r\n";
$msg .= "$description";
$msg .= "\r\n";
$msg .= "\r\n";

// Tout d'abord lire le contenu du fichier
$file = "$fic_attache";
$fp = fopen($file, "rb"); // b c'est pour les windowsiens
$attachment = fread($fp, filesize($file));
fclose($fp);

// puis convertir le contenu du fichier en une chaîne de caractère
// certe totalement illisible mais sans caractères exotiques
// et avec des retours à la ligne tout les 76 caractères
// pour être conforme au format RFC 2045
$attachment = chunk_split(base64_encode($attachment));

// Ne pas oublier que chaque partie du message est séparé par une frontière
$msg .= "--$boundary\r\n";
// Et pour chaque partie on en indique le type
$msg .= "Content-Type: image/gif; name="$file"\r\n";
// Et comment il sera codé
$msg .= "Content-Transfer-Encoding: base64\r\n";
// Petit plus pour les fichiers joints
// Il est possible de demander à ce que le fichier
// soit si possible affiché dans le corps du mail
$msg .= "Content-Disposition: inline; filename="$file"\r\n";
// Il est indispensable d'introduire une ligne vide entre l'entête et le texte
$msg .= "\r\n";
// C'est ici que l'on insère le code du fichier lu
$msg .= $attachment . "\r\n";
$msg .= "\r\n\r\n";

// voilà, on indique la fin par une nouvelle frontière
$msg .= "--$boundary--\r\n";

$destinataire = "info@st3design.com";
$expediteur = "$name";
$reponse = $expediteur;
echo "Ici, vous mettez le message qui doit être affiché après l'envoie du courriel!";
mail($destinataire, "$subject", $msg,
"Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);
?>

9 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
18 juil. 2005 à 15:04
Salut,



tu peux ouvrir les fichiers .php avec n'importe quel éditeur de texte, à savoir notepad par exemple.



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
18 juil. 2005 à 15:37
Salut,



tu peux ouvrir les fichiers .php avec n'importe quel éditeur de texte, à savoir notepad par exemple.



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
azerto00 Messages postés 12 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 3 octobre 2010
18 juil. 2005 à 19:09
non tu na pas compris, je souhaite recevoir la pièce jointe ds mon adresse e-mail ac une extansion valable !
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
18 juil. 2005 à 20:03
Bah comment ça valable ? php c'est valable...



Si tu veux pouvoir l'ouvrir avec un éditeur de ton choix ce n'est pas
possible, il s'agit de réglages accessibles via les options des
dossiers, onglet "types de fichiers" dans windows.



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
azerto00 Messages postés 12 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 3 octobre 2010
18 juil. 2005 à 20:21
non tjs pa compris, voial ce script me permet d'avoir un formulaire ou le visiteur peu envoyer une pièce jointe, par exmple il envoi un document word.
quand je recoi le mail , j'ai une pièce jointe du style : sqdqf4fstmssqs.tmp

donc l'extension n'est pas un fichier word (.doc) !
je sais pas comment programmé ceci
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
18 juil. 2005 à 20:38
ah ok, il faut que tu indiques correctement le type du fichier, et il
faut surtout que tu ne passes pas par $_FILES['ton_champ']['tmp_name']
pour donner le nom du fichier, mais par $_FILES['ton_champ']['name']
tout en évitant les caractères spéciaux.

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
azerto00 Messages postés 12 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 3 octobre 2010
18 juil. 2005 à 21:42
j'ai pas compris par exemple , imaginon que je veu que les fichier word (.doc) soi en extansion .doc , quel code je doi mettre ? et ou le mettre ( par rapport a mon fichier .php ci dessus ?
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
18 juil. 2005 à 21:43
Je vais te passer un exemple d'un article que j'ai refait avant hier :



PHP - fonction mail()



<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
azerto00 Messages postés 12 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 3 octobre 2010
18 juil. 2005 à 21:47
je suis pas trop , pourré tu juste me donner un code pour le document word et je feré pr les autres, please
0