Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/07/2011, 09h22   #1
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : juillet 2011
Messages : 31
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 31
Points : 11
Points : 11
Par défaut Filesize() sur un fichier PDF

Bonjour !

J'ai encore un soucis avec mon mailer php (J'y arriverais peut être un jour !)

Enfin bref, j'arrive presque à joindre mon fichier PDF en pièce jointe mais j'ai un soucis au niveau du filesize(), j'y ai mis à l'intérieur le chemin jusqu'à mon fichier PDF mais malheureusement il m'indique une erreur lorsque j'envoie le mail et lorsque j'ouvre le mail reçu il y a bien la pièce jointe au format PDF mais impossible de l'ouvrir
J'ai testé deux options :

Soit dans mon fread j'ai mis le filesize pour la valeur du length comme ceci :
$attachement = fread($fichier, filesize($lienpdf));

et là il me dit qu'il y a bien une PJ rattaché mais qu'elle est vide et le poids du mail est de 2ko.

Soit dans mon fread j'ai mis directement une valeur au niveau du length :
$attachement = fread($fichier, "150000");

et là il essaye d'ouvrir la PJ mais me mets qu'elle est incomplète ou corrompue mais le poids du mail est d'environ 22ko.

Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//=====Lecture et mise en forme de la pièce jointe.
$pdf = $this->affichage_lien_pdf();
$pdf = HTTP.$pdf; 
$lienpdf = $this->get_CodeHTML($pdf); // je reçois ici le chemin complet vers mon fichier PDF
$nompdf = $this->get_name($pdf);
$fichier   = fopen($lienpdf, "r");
$attachement = fread($fichier, filesize($lienpdf)); // Erreur au niveau du filesize
$attachement = chunk_split(base64_encode($attachement));
fclose($fichier);
//==========
//=====Ajout de la pièce jointe.
$message.= 'Content-Type: application/pdf; name="'.$nompdf.'"'.$passage_ligne;
$message.= "Content-Transfer-Encoding: base64".$passage_ligne;
$message.= 'Content-Disposition: attachment; filename="'.$nompdf.'"'.$passage_ligne;
$message.= $passage_ligne.$attachement.$passage_ligne.$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne; 
//==========
Citation:
Envoyé par Erreur
Warning: filesize() [function.filesize]: stat failed for http://55.95.7.219/MiniClientMail/Ar...fcdd5e7b18.pdf in C:\wamp\www\MiniClientMail\Classes\Traitement\tableauDeBord.php on line 222

Warning: fread() [function.fread]: Length parameter must be greater than 0 in C:\wamp\www\MiniClientMail\Classes\Traitement\tableauDeBord.php on line 222
De là me viens la question : Un filesize en php peut il lire le poids d'un fichier PDF ?

Merci d'avance pour votre aide !
hidewak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 11h14   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Oui mais pas par HTTP ... (stat n'étant pas "émulé")
julp est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/07/2011, 12h53   #3
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : juillet 2011
Messages : 31
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 31
Points : 11
Points : 11
YESSSS ! ça marche !

Merci beaucoup pour l'info c'était exactement ça !

Ce qui est fou par contre c'est que je n'ai vu nulle part que le fait de passer par http faisait planter filesize() :/
À moins que ce soit logique et là c'est une faute de compétence/savoir de ma part...

En tout cas merci pour ton aide, ça faisait 2 jours que je cherchais pourquoi ça ne marchait pas : )

(Du coup mon client mail est finis !)
hidewak est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h32.


 
 
 
 
Partenaires

Hébergement Web