Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 07/08/2011, 22h51   #1
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Par défaut forcer un téléchargement

Bonsoir,

je compte forcer un téléchargement en PHP ; j'ai fait ce code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php 
$tele="---";
// code pour forcer un téléchargement
$full_path = $tele; // chemin système (local) vers le fichier
$file_name = basename($full_path);
ini_set('zlib.output_compression', 0);
$date = gmdate(DATE_RFC1123);
header('Pragma: public');
header('Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0');
header('Content-Tranfer-Encoding: none');
header('Content-Length: '.filesize($full_path));
header('Content-MD5: '.base64_encode(md5_file($full_path)));
header('Content-Type: application/octetstream; name="'.$file_name.'"');
header('Content-Disposition: attachment; filename="'.$file_name.'"');
header('Date: '.$date);
header('Expires: '.gmdate(DATE_RFC1123, time()+1));
header('Last-Modified: '.gmdate(DATE_RFC1123, filemtime($full_path)));
readfile($full_path);
exit; // n&eacute;cessaire pour &ecirc;tre certain de ne pas envoyer de fichier corrompu
 
?>
mais si je clique dessus, ça me donne ce code caballistique :
Citation:
PK!„¢oå- [Content_Types].xml ¢( ÄWMÓ0½#ñ¢\Qâî"!„šî#¬D‘¸ºö$5øKöt·ý÷ØÉ&T%MVMÃ^*µ®ß¼™yó&YÞí•LÀyat‘Þä‹4Í º*Òë/Ùû4ñH5§Òh(ÒøônõúÕr}°à“p[û"Ý"Ú„x¶E}n,èpR§(†¯®"–²ß´r»X¼#ÌhFŒtµü8Á!¹§¿RâGã8)Am|àÒäcs/†.Rj*Œb N4? 𙲠¸a;BåÎ:ÃÀûš’yý&B“Õò”t'1ù¼ÜšrX]*&7úh³G£~*I‚ºwÆú›Éä;ЈøÖ Ê^Öû,žôgúËBªõÁ™\ëUÒxOÝ!ôJãšn$LN·§WOÐY;þ$í…ØF’y¸Y«Èo…ªë°ŸTÔ§‰ºN‡a.Pr‡¬¨Ðm…ÎòÐ;µfàúmê GIx<È9†ºÁ šÏä*-ò…ЯÚHÐçä&@t+< ævb g%à1`Sm‘‡Ò¯§!º/¸ÛÉé÷XEß¹V7<óek”TS”éëâÒ¢`ØÞ@êÏé$j˜Ñ”·@ù,:h€ŸÿíõuøÌøÿsižõƒV ä…mù/—7¨ŽË#l¾ÏFç|TªGÿ½¾\ÀG‰4ÒžîÿØÔøÌt«“wÁsfûÄo÷,LR¿Ó¬þÿÿPK!‘·óN _rels/.rels ¢( Œ’ÛJA †ïßaÈ}7Û "ÒÙÞH¡w"ë„™ìw̤ھ½£ ºPÛ^æôçËOÖ›ƒ›Ô;§<¯aYÕ Ø›`Gßkxm·‹PYÈ[š‚g GΰinoÖ/<‘”¡<Œ1«¢â³†A$>"f3°£\…ȾTºI S‘ÌõŒ«º¾ÇôWš™¦ÚY igï@µÇX6_Ö]7~ fïØË‰ÈaoÙ.b*lIÆrj)õ,l0Ï%‘b¬ 6ài¢ÕõDÿ_‹Ž…, ¡ ‰Ïó|uœZ^tÙ¢yǯ;!Y,}{ûCƒ³/h>ÿÿPK!I˜ì´‹word/_rels/document.xml.rels ¢( ¼YÁnÛ0 ½Ø?ºÏŠ(7m†:½zÝ2`WÅ
-------------------------------
SwƬ¤Ûlword/glossary/settings.xmlPK-!ür¤[ ¯·oword/glossary/document.xmlPK-!ƒÐµåê*%qword/glossary/_rels/document.xml.relsPK-!eBÄÜ›à<rcustomXml/item1.xmlPK-!t?9zÂ(0scustomXml/_rels/item1.xml.relsPK-!1]éÛÇ ðV6uword/styles.xmlPK-!RŸŠ°íJ*customXml/itemProps1.xmlPK-!Ž" Bº!u‚word/_rels/numbering.xml.relsPK-!JØŠ’»jƒword/webSettings.xmlPK-!Çȳ¬ ýW„docProps/app.xmlPK-!A´Šr}N —‡word/fontTable.xmlPK-!³Ñ´¾ßùBDŠword/glossary/styles.xmlPK-!JØŠ’»Y“word/glossary/webSettings.xmlPK-!A´Šr}N O”word/glossary/fontTable.xmlPK-!_c* ¹—docProps/core.xmlPK-!Œ£ªªôQõ™word/numbering.xmlPK??›Ÿ
et encore, j'ai enlevé plein de lignes ; donc où est mon erreur ?
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 11h55   #2
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
Bonjour,

Es-tu sur de ne rien envoyer au navigateur avant d'executer ce code ? (pas d'espace ou de saut de ligne avant l'ouverture de la balise php ?)

Tu peux toujours essayer de désactiver la compression zip aussi.
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 13h45   #3
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Citation:
Es-tu sur de ne rien envoyer au navigateur avant d'executer ce code ? (pas d'espace ou de saut de ligne avant l'ouverture de la balise php ?)
Ca, j'en suis sûr, et pour faire un test, comme ce téléchargement est dans un fichier séparé que l'on appelle par un lien, j'ai appelé juste le fichier qui fait le téléchargement, et même chose. Sinon, comme l'extension était "docx" et que j'avais un doute, je l'ai réenregistré en "doc" (et adapté le fichier qui force le téléchargement) et pareil. Mais le fichier a été généré par le logiciel "Le Sphinx" (pour faire des enquêtes) ; est-ce que ça peut venir de ça ?

Citation:
Tu peux toujours essayer de désactiver la compression zip aussi.
On fait comment ?
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 15h13   #4
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
Citation:
Envoyé par laurentSc Voir le message
On fait comment ?
Il faut supprimer cette ligne "ini_set('zlib.output_compression', 0);".
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 17h54   #5
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Je l'ai fait, mais ça n'a rien changé ; puis j'ai essayé le même code chez un autre hébergeur et ça a marché, puis chez le même hébergeur, mais un autre compte, donc peut-être un autre serveur et ça a marché aussi, donc je vais me retourner vers l'hébergeur....
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc 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 12h56.


 
 
 
 
Partenaires

Hébergement Web