Page 1 sur 1

Upload de fichier puis téléchargement

Posté : 10 avr. 2006, 16:40
par Hermès
Bonjour,

Je bloque actuellement sur un petit problème fort simple (et ça minerve !).
Je suis en train de développer une application dans laquelle l'utilisateur peut uploader des fichiers qui sont sauvegardés sur le serveur (dans une base je sauvegarde le nom du fichier, son chemin et sa taille).

Ensuite, j'affiche l'intégralité des fichiers dans un tableau et je souhaite mettre un lien pour ouvrir le fichier.
Et c'est ce lien qui est un peu foireux et me pose quelques soucis.

Le chemin vers le fichier n'est pas un chemin relatif mais absolu et plus précisément absolu sur mon disque (et non pas par rapport à la racine de mon site). Je ne peux pas mettre d'alias sur ce chemin dans ma configuration Apache étant donné que le répertoire d'upload peut changer.

Lorsque je met un lien basique du type <a href="C:/.../monfichier.truc">MonLien</a>, ça lui plait pas du tout (il aime pas le "C" devant.
J'ai aussi essayé <a href="file:///C:/.../monfichier.truc">MonLien</a>, mais ça lui plait pas non plus à cause des espaces dans le chemin (j'ai veinement essayé de remplacer les espaces par %20 mais ça ne semble pas marcher.

J'ai aussi essayé de faire un lien vers une seconde page qui, elle, définit en header que le fichier est de type binaire, etc, etc, sauf que lorsque je lui demande de m'ouvrir une image avec firefox, il m'affiche tout le code de l'image.

Bref, j'aimerais que mon lien s'adapte au format : si c'est une image ou un document texte, il l'affiche, si c'est un fichier nécessitant une application externe (.doc, .xls, etc) il me mette simplement la fenêtre ouvrir/télécharger, etc.

Bref, si quelqu'un pouvait m'aider, je lui en serai fort reconnaissant...

Posté : 10 avr. 2006, 16:44
par zeus
ca ne risque pas de marcher avec C:\ !!! comment veut tu que Apache accède à ce dossier ? ;)

A part faire des chemins à partir de la racine du site, je vois pas :-k

Posté : 10 avr. 2006, 16:49
par Hermès
Pourtant lorsque je sauve le fichier, je lui donne un chemin qui part de C: et pas de la racine apache.
Et ça pose aucun problème à Apache/PHP pour écrire ce fichier dans le bon répertoire.

L'inverse (la lecture) ne serait donc pas possible ? étonnant...

Posté : 10 avr. 2006, 17:22
par zeus
Non, parce que Apache ecrit dans l'architecture du serveur sans aucun problème, mais il ne peut envoyer sur le web que ce qui se trouve dans le serveur.

Apache peut y acceder mais il ne peut l'envoyer sur le net directement

De plus, si tu met <a href="C:/...">, il va chercher sur le poste local, pas sur le serveur ... :roll:

Posté : 11 avr. 2006, 09:14
par Hermès
Damned !

Bon, je tacherai de trouver une autre solution alors, merci pour ton aide Zeus =)