|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: août 2007
Messages: 57
|
Bonjour,
Je souhaite télécharger un fichier depuis un répertoire /tmp ms ça ne fonctionne pas. Voilà : Je fais une extraction depuis ma base dans /tmp/file.txt. Le fichier existe présent dans le répertoire /tmp. Ensuite depuis ma page web, je souhaite récupérer ce fichier et l'enregistrer sur mon bureau. Code :
$tmp=chdir('/tmp/'); echo "<a href='enquete.txt'>telecharger</a>"; Peut-etre que j'ai oublié quelque chose d'important. Vous aurez un solution ? |
|
|
|
|
|
#2 (permalink) |
|
Expert Confirmé
![]() Date d'inscription: mai 2002
Localisation: Auvergne
Messages: 1 567
|
Bonjour,
C pas plutôt Code :
$tmp=chdir('tmp');
__________________
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran) |
|
|
|
|
|
#4 (permalink) |
|
Modération Web ![]() Date d'inscription: avril 2007
Localisation: Ile de France
Âge: 25
Messages: 2 748
|
Lorsque tu cliques sur le lien, tu te trouves dans la page HTML, la notion de dossier courant pour PHP n'a donc plus de sens, étant donné que le script a déjà fini de s'exécuter.
Il faut donc que tu écrives ton lien hypertexte de façon à ce qu'il trouve tout seul : Code :
echo "<a href='/tmp/enquete.txt'>telecharger</a>"; //tu veux éventuellement récupérer le dossier courant de php et l'inscrire dans ton lien echo '<a href="'.getcwd().'/enquete.txt">telecharger</a>';
__________________
Modératrice PHP et modératrice Chat à temps partiel. Spécialiste P.H.P. du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
|
|
|
|
|
#8 (permalink) |
|
Expert Confirmé
![]() Date d'inscription: mai 2002
Localisation: Auvergne
Messages: 1 567
|
Et alors est ce que le chemin:
"usr/local/www/enquete/tmp/file.txt" est ok C quoi le chemin complet de file.txt
__________________
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran) |
|
|
|
|
|
#9 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: août 2007
Messages: 57
|
Merci, j'ai compris. j'exportais le fichier ds le mauvais répertoire /tmp.
Par contre, le fichier s'ouvre ds IE alorsque je voudrais qu'il me propose si je souhaite l'enregistrer ou l'ouvrir |
|
|
|
|
|
#10 (permalink) |
|
Expert Confirmé
![]() Date d'inscription: mai 2002
Localisation: Auvergne
Messages: 1 567
|
Je te donne le code car je viens de le faire ya peu de temps ...
Tu appeles donc ce php avec un lien par ex: Code :
<?php // Ce download est lancé à partir d'un lien tel que: // <a href="download.php?filename=fileToPrint&dossier=dossierToPrint">Télécharger fichier</a> // ou header("Location: http://$host$uri/"."download.php?filename=fileToPrint&dossier=dossierToPrint"); // Récupération nom de fichier et chemin). if( isset( $_GET['filename'] ) ) $filename = $_GET['filename']; if( isset( $_GET['dossier'] ) ) $dossier = $_GET['dossier']; // Modification de l'application utilisée en fonction du type de fichier $ext = strrchr( $filename, "." ); switch( $ext ) { case ".zip": $type = "application/zip"; break; case ".txt": $type = "text/plain"; break; case ".pdf": $type = "application/pdf"; break; default: $type = "application/octet-stream"; break; } // Constitution de l'header suivant le type header("Content-Description: File Transfer"); header("Content-Type: $type\n"); header("Content-Transfer-Encoding: binary"); header("Content-disposition: attachment; filename=$filename"); header("Content-Length: ".filesize( $dossier.$filename ) ); // Lecture et Affichage readfile( $dossier.$filename ); ?>
__________________
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran) |
|
|
|
|
|
#11 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: août 2007
Messages: 57
|
J'ai créé un fichier download.php
J'ai recopié le code ci-dessus. Dans le fichier de lien, j'ai ajouter : Code :
echo "<a href=download.php?filename=enquete.txt&dossier=/usr/local/www/enquete/tmp/>Télécharger fichier</a>";
|
|
|
|
|
|
![]() |
||
PHP download fichier
|
||
| Outils de la discussion | |
|
|