Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 15/12/2009, 12h02   #1
Futur Membre du Club
 
Inscription : août 2007
Messages : 120
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 120
Points : 15
Points : 15
Par défaut PHP download fichier

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 :
1
2
$tmp=chdir('/tmp/');
echo "<a href='enquete.txt'>telecharger</a>";
Qd je clique sur mon lien, je me retrouve tjrs le répertoire de ma page au-lieu de /tmp.
Peut-etre que j'ai oublié quelque chose d'important.
Vous aurez un solution ?
bella1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2009, 12h05   #2
Membre Expert
 
Avatar de Fench
 
Inscription : mai 2002
Messages : 1 570
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2002
Messages : 1 570
Points : 1 703
Points : 1 703
Bonjour,

C pas plutôt
Code :
1
2
 
$tmp=chdir('tmp');
__________________
Actuellement AI à l'INRA
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)
Fench est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2009, 12h16   #3
Futur Membre du Club
 
Inscription : août 2007
Messages : 120
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 120
Points : 15
Points : 15
Par défaut PHP download fichier

Non, c'est bien Je viens d'essayer de supprimer mon fichier et ça fonctionne avec
bella1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2009, 13h47   #4
Modératrice
 
Avatar de Celira
 
Femme
Développeur Web
Inscription : avril 2007
Messages : 3 524
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2007
Messages : 3 524
Points : 5 196
Points : 5 196
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 :
1
2
3
4
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
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)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2009, 14h46   #5
Futur Membre du Club
 
Inscription : août 2007
Messages : 120
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 120
Points : 15
Points : 15
Par défaut PHP download fichier

C'est bcp mieux.
Dans la barre d'adresse, je vois "serveur/tmp/enquete.txt".
Mais j'ai l'erreur 404 ds IE.

Merci de votre aide,
bella1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2009, 15h00   #6
Membre Expert
 
Avatar de nosferapti
 
Inscription : avril 2009
Messages : 1 157
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 1 157
Points : 1 133
Points : 1 133
quel répertoire est réglé comme la racine web dans le serveur HTTP ?
__________________
GNAP !
nosferapti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2009, 15h02   #7
Futur Membre du Club
 
Inscription : août 2007
Messages : 120
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 120
Points : 15
Points : 15
Par défaut PHP download fichier

Le répertoire "usr/local/www/enquete"
bella1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2009, 15h13   #8
Membre Expert
 
Avatar de Fench
 
Inscription : mai 2002
Messages : 1 570
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2002
Messages : 1 570
Points : 1 703
Points : 1 703
Et alors est ce que le chemin:
"usr/local/www/enquete/tmp/file.txt" est ok

C quoi le chemin complet de file.txt
__________________
Actuellement AI à l'INRA
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)
Fench est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2009, 15h43   #9
Futur Membre du Club
 
Inscription : août 2007
Messages : 120
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 120
Points : 15
Points : 15
Par défaut PHP download fichier

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
bella1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2009, 15h54   #10
Membre Expert
 
Avatar de Fench
 
Inscription : mai 2002
Messages : 1 570
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2002
Messages : 1 570
Points : 1 703
Points : 1 703
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 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
<?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 );
 
?>
__________________
Actuellement AI à l'INRA
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)
Fench est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2009, 16h44   #11
Futur Membre du Club
 
Inscription : août 2007
Messages : 120
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 120
Points : 15
Points : 15
Par défaut PHP download fichier

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>";
Et ça m'ouvre un fichier enquete.txt vierge.
bella1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2009, 16h45   #12
Futur Membre du Club
 
Inscription : août 2007
Messages : 120
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 120
Points : 15
Points : 15
Par défaut PHP download fichier

C'est bon ça fonctionne pas

Merci à tous
bella1 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 +1. Il est actuellement 00h26.


 
 
 
 
Partenaires

Hébergement Web