Passer varibles via une url [Résolu/Fermé]

Signaler
Messages postés
110
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
16 juillet 2012
-
 le père -
Bonjour,

Je souhaite passer plusieurs variable via une url mais visiblement, je dois mal m'y prendre

<a href="testDownload2.php?chemFichier=$chemFichier&nomFichier=$nomFichier&extFichier=$extFichier">envoi</a>

vous pourriez me dire se que je dois changer?

11 réponses

Messages postés
18569
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 juillet 2021
4 307
echo '<a href="testDownload2.php?chemFichier='.$chemFichier.'&amp;nomFichier='.$nomFichier.'&amp;extFichier='.$extFichier.'">envoi</a>';
Messages postés
110
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
16 juillet 2012
2
En fait, se que je veux faire, c'est envoyer sur une page qui me permettra de télécharger le fichier en question. Sur mon autre page, je n'ai que ça:

<?php
$chemFichier=$_GET['chemFichier'];
$nomFichier =$_GET['nomFichier'];
$extFichier =$_GET['extFichier'];

switch ($extFichier){
case "doc": header("content-type: application/msword");
break;
case "ppt": header("content-type: application/vnd.ms-powerpoint");
break;
case "odt": header("content-type: application/vnd.oasis.opendocument.text");
break;
}

header("Content-Disposition: attachment; filename=".$nomFichier);
readfile($chemFichier);
?>

Et sur ma première page, j'ai le code que tu m'as donné. Mais visiblement, ça ne fonctionne pas puisqu'il me propose de télécharger la page.php et non pas mon fichier.

Mes variables sont pourtant bien rempli au cas ou tu te poserais la question

Une idée???
Messages postés
18569
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 juillet 2021
4 307
Tu testes bien en passant pas un serveur Web ?
Est-ce que ta variable $chemFichier contient le nom du fichier à la fin ?
Messages postés
110
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
16 juillet 2012
2
C'est bon j'ai réussit à une erreur près c'est que lorsque j'ouvre le fichier, il n'y à rien dedans. Alors que l'original a bien du texte à l'intérieur.
Messages postés
110
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
16 juillet 2012
2
non je suis en localhost pour le moment. Mon site n'est pas encore près. et oui $chemFichier contient bien le nom du fichier à la fin
Messages postés
18569
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 juillet 2021
4 307
Si tu passes par http://localhost/ alors tu utilises par un serveur Web.
Le filename doit être une chaine de caractères donc il faut le mettre entre guillemets (doubles ou simples) :
header('Content-Disposition: attachment; filename="'.$nomFichier.'"');
Messages postés
110
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
16 juillet 2012
2
mais je me pose une question. Dans le readfile($chemFichier) il y a le chemin complet jusqu'au nom du fichier! Ne faut-il pas que je mettes juste le chemin sans le nom du fichier dedans???

Parce que là, ça ne fonctionne toujours pas!
Messages postés
18569
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 juillet 2021
4 307
Non, c'est readfile et pas readfolder : c'est donc le chemin d'un fichier qu'il faut donné en paramètre n°1.
Messages postés
110
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
16 juillet 2012
2
non j'ai dit une bétise. $chemFichier ne contient bien que le chemin. En revanche, ça ne fonctionne toujours pas. Le logiciel correspondant s'ouvre bien mais le document est vide. Alors que si j'ouvre le document qui se trouve dans le dossier www à partir du logiciel directement, le fichier est propre. Ca signifie donc que le fichier uploader est bon! En revanche, si j'ouvre le fichier que je viens de télécharger directement par le logiciel, il n'est pas vide mais il ne ressemble à rien!! Exemple d'un fichier odt:

PKbᄡm;^?
''mimetypeapplication/vnd.oasis.opendocument.textPKbᄡm;Configurations2/statusbar/PKbᄡm;'Configurations2/accelerator/current.xmlPKPKbᄡm;Configurations2/floater/PKbᄡm;Configurations2/popupmenu/PKbᄡm;Configurations2/progressbar/PKbᄡm;Configurations2/menubar/PKbᄡm;Configurations2/toolbar/PKbᄡm;Configurations2/images/Bitmaps/PKbᄡm; content.xml???ᄑ_チQ&ルᄂᄈ/ᄎ+ᄆS?7Ikoݵᄋi゚v メミ%  %{?yk<?{??﾿ᄂEQᄁDSᄋᄉ7???spᄂ/ᄒᄐ |4!\P゙?ᄎUC$tルG?I??ᆪ[??_ᄚᐺᄂ?7 H. c?;}?ᄂヨ?ᄚᅠᄁ ~?YD?V??s??ユ?p;&7qUd ᄏトヒ?V?lマ?Ud BͣYU??CR"?.n|ᄒ=ᄅヘ??t:ᆳOu?ᆭ???c?ࢄ??M?9ル0???I?Ka
ᆵ,??T?&ᆪ ᄁqǘWᄊ ᄐᆲކW]ᄑ /マ?ᄐA']?^ᆰマヒ??\vIT.ᄃQ?j?>c,cU"hU?ヨ??zZ >?&<ᄏ?3ノᄈ`ン???iᆭル?Aネ ホᄅ_g?????xL?6h(b.$å6ᆴᄡer1gツVリᅠ-'ロ??タuEPネjᆴ<Szᆭ)Q>?ヘn?モ??"ワJD??チタUツ6Y?ak?1s?ᄅン?ナᄊ2afC??ᄏ?ネ?/ᄡ???K>Nj??l?ᄌ?$ᅠ??Mͼ??2Eᆵ:\C?1? ワᆲᄀ%??ムニ?z ネネ?ᄌ?s*?}ᆲンリ﾿ニᄀ??ヤ ᄆ??=フᆴp(?ミBヨ'%ᄈᄊツtĭネIᄚマᄅ~7*~??Mルホ?ニノb?ハNfᄅ?ナW ノ;ロ1eU?ᄉ9゙z2"p!? 榇ᄃԓ?ջンヨ \??ᄒ??ハ??ᄈR?[?ᄂG? ?゙?ムᄉt|ユ?リY/?ᄒ﾿?
Messages postés
110
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
16 juillet 2012
2
lorsque j'ai ce code dans ma page de download:

<?php
$chemFichier=$_GET['chemFichier']; //chemin type: /dossier1/dossier2/
$nomFichier =$_GET['nomFichier']; //nom type: fichier.odt
$extFichier =$_GET['extFichier'];

switch ($extFichier){
case ".doc": header("content-type: application/msword");
break;
case "docx": header("content-type: application/msword");
break;
case ".ppt": header("content-type: application/vnd.ms-powerpoint");
break;
case ".odt": header("content-type: application/vnd.oasis.opendocument.text");
break;
}

header('Content-Disposition: attachment; filename="'.$nomFichier.'"');
readfile($chemFichier);
?>

j'ouvre mon fichier et ça me donne dans writter:

PKbᄡm;^?
Messages postés
18569
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 juillet 2021
4 307
readfile($chemFichier.$nomFichier);