Récupérer un fichier précédement uploader

Résolu
leoetevan Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -  
leoetevan Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voilà, j'ai réussit à créer un champ texte accompagné d'un bouton "Parcourir". Ca fonctionne très bien. J'arrive à copier le fichier dans un dossier de mon choix et à enregistrer le nouveau chemin du fichier dans ma base.
Maintenant, j'ai une autre page ou je voudrais ressortir le nom du fichier puis soit:
- rendre le nom du fichier tel un lien qui permettrait de le télécharger
- avoir le nom du fichier puis à coté avoir un bouton du genre "Télécharger ce fichier"

Auriez vous une idée pour faire ça? Merci
A voir également:

13 réponses

or3li3n Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   6
 
Utilise PHP pour ca . . . et les header application
0
leoetevan Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   2
 
oui oui excuse moi. Je suis dans une création de site et j'utilise donc le php. Désolé j'avais oublié de le mentionner.

Mais pourrais tu m'expliquer comment je peux faire? Je suis encore novice en la matière. Je ne sais même pas se que sont les header applications
0
or3li3n Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   6
 
header("'Content-type:image");
header("Content-Disposition: attachment; filename=$name_file;");
readfile(chemin de ton fichier);
0
leoetevan Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   2
 
Je viens de trouver ce code sur un autre site. Peux tu me dire si c'est valable?
Et si oui, je le met ou ce code? tout dans le body de ma page??

<?
if($dwn=$_GET["dwn"]) {

$dwn = str_replace("../","",$dwn);

// ob_clean(); // Vide le buffer (v >= 4.2)

// Dialogue de téléchargement
header("content-type: application/octet-stream");
// seulement pour application/octet-stream !
header("Content-Disposition: attachment; filename=".$dwn);

// Ouvrir avec MSWord
// header("content-type: application/msword");
// Ouvrir avec MSExcel
// header("content-type: application/vnd.ms-excel");
// Ouvrir en Text
// header("content-type: text/plain");

// voir aussi http://dev.nexen.net/scripts/details.php?scripts=354

flush(); // Envoie le buffer

readfile($dwn); // Envoie le fichier

} else { ?>

<A href="download.php?dwn=download.php">Test</A>

<? } ?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
or3li3n Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   6
 
Ce que je t'ai donné c'est un bout de fonction permettant de télécharger une image dont le chemin est a mettre dans le readfile().
0
or3li3n Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   6
 
Le code que tu me montre est destiné a ouvrir des fichiers par une application présente chez le clien
t
0
leoetevan Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   2
 
Se que je ne comprend pas, c'est comment ça fonctionne?? Je met ce code à quel niveau de ma page? Je peux le mettre dans l'argument onclick d'un bouton??

Je ne sais pas quoi en faire de ton code. Explique moi s'il te plait. Merci
0
or3li3n Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   6
 
Tu fais <a href="la_page_avec_le_code_que_j'ai_donné.php" >Download</a>

Et ca va ouvrir une fenêtre demandant si le client veut enregistrer le fichier !
0
leoetevan Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   2
 
ah ok!! je comprend mieux.

Mais ce n'est pas tout à fait se que je voudrais.

- Je peux avoir plusieurs types de fichier (doc, xls, txt, odt, ppt ou pps)
- Je ne voudrais pas avoir à ouvrir une nouvelle page
- Je voudrais permettre le choix d'ouvrir le fichier ou de le télécharger un peu comme sur la plupart des sites d'ailleurs

C'est pour ça que le code que je t'ai montrer me paraissait pas mal sauf que je n'arrive pas à m'en servir. Sur le site ou je l'ai pris, il y a un lien test et c'est exactement se que je voudrais.

ce test est à cette page
http://www.asp-php.net/espace/didier/scripts/download/test.php
0
or3li3n Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   6
 
Alors tu reprends mon code mais tu change le premier header et tu y met le type que tu souhaite.


Si C un fichier word alors tu met :
header("content-type: application/msword");
header("Content-Disposition: attachment; filename=$name_file;");
readfile(chemin de ton fichier);

Excel :
header("content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=$name_file;");
readfile(chemin de ton fichier);
0
leoetevan Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   2
 
Ok je te remercie.

Une autre petite question si ça te dérange pas, le chemin de mon fichier est du type:

/dossier1/dossier2/dossier3/nomDuFichier.doc

Comment je fais pour extraire le nom du fichier pour pouvoir l'afficher ensuite sans que l'utilisateur puisse voir toute l'arborescence?

Tu aurais une idée?

Et merci pour l'autre problème
0
or3li3n Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   6
 
Tu fais un substr()
0
leoetevan Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   2
 
ok. merci beaucoup pour toute ces infos
0