Bonjour,
Tout d'abord, je suis nouveau sur le forum et il est tellement complet que j'espère que j'ai posté dans la bonne section, si ce n'est pas le cas je vous prie de m'en excuser.
Je code actuellement un client mail en php et j'ai un petit soucis au niveau des pièce jointe, la plupart des pièces jointes au format pdf sont reconnues et affichées par l'appli mais certaines non, pour savoir s'il y a une pièce jointe dans le message on regarde si dans les paramètres $filename ou $name sont "set", or ici ils le sont mais d'une façon un peu spéciale...
Lorsque j'affiche les variables $filename et $name il m'indique :
Array (
[name*] => ISO-8859-1''XXXXX%20XX%20XXXXXX%20XXX%20XX%20XXXXXX%20XX%20XXXXXXXXX%20XXXXXXXX.pdf
[filename*]
ISO-8859-1''XXXXX%20XX%20XXXXXX%20XXX%20XX%20XXXXXX%20XX%20XXXXXXXXX%20XXXXXXXX.pdf
)
J'ai remplacé le nom du fichier par des X.
Donc les deux variables sont biens "set" mais pourtant il n'arrive pas à les lire.
En temps normal il m'aurait indiqué :
Array (
[name] =>
XXXXX XX XXXXXX XXX XX XXXXXX XX XXXXXXXXX XXXXXXXX.pdf
[filename]
XXXXX XX XXXXXX XXX XX XXXXXX XX XXXXXXXXX XXXXXXXX.pdf
)
J'imagine que c'est un problème d'encodage mais je ne sais pas comment palier à ce problème.
Et pour finir le code que j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 elseif ($part->type == 3)//APPLICATION { if ((isset ($params["filename"])) || (isset ($params["name"]))) {//le nom du fichier peut soit etre indiqué en filename ou en name ou les deux $filename = (isset($params["filename"]))? $params["filename"] : $params["name"]; $filename = $this->decode_text($filename); print_r($params); $this->fichier_joint[$filename] = new FicJoint($data, $filename,$part->subtype); } else { $this->htmlmsg.="<br><br>Erreur dans la pièce jointe.<br><br>".print_r($params); } }
Partager