|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Inscription : avril 2010 Messages : 221 ![]() |
Bonjour,
Depuis mon application web, je souhaite intégrer une fonction permettant de télécharger un fichier situé dans un autre emplacement de mon serveur. Pour cela j'ai réalisé le script suivant: Code :
1) sous IE (8) le téléchargement ne fonctionne pas... 2) dans le cas d'un nom de fichier avec des espaces cela ne fonctionne pas nom plus... J'ai pourtant appliqué ce que j'ai pu glaner sur le web, mais sans résultat Si quelqu'un peut m'éclairer sur cela. |
||
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() |
Salut,
pour le bug je sait pas, mais si j'ai bien compris ton code tu autorise l'utilisateur à télécharger n'importe quel fichier passé en GET ? Vraiment pas top niveau sécurité |
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : avril 2010 Messages : 221 ![]() |
Pour l'aspect sécurité cela ne pose pas de problème.
C'est un espace sur mon serveur qui demande une authentification par login mot de passe (md5), qui utilise des sessions et en https. il faut donc être identifier pour pouvoir utiliser ce script. le principe de ce script c'est de pouvoir facilement avec une interface agréable via un navigateur web de télécharger des fichiers sur un espace Webdav. en gros j'ai mon server root : /var/www/le_site/ et mon répertoire Webdav: /var/www/le_site/webdav/ |
|
|
00
|
|
|
#4 | |
|
Membre expérimenté
![]() |
Citation:
Sinon pour le problème des fichiers avec des espaces, je suis pas sûr mais essaye avec un url_encode() qui te remplacera les noms de fichiers par des %20 dans ton paramètre GET, ensuite tu le décode lorsque tu le récupère avec un url_decode() |
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : avril 2010 Messages : 221 ![]() |
Disons que dans un premier temps c'est pas trop le problème des espaces, c'est plus l'utilisation avec IE qui pose problème car avec lui aucun téléchargement ne fonctionne..
Pour les espaces, j'ai essayé pas mal de chose: supposont que $file_name = "mon fichier.doc" avec cette directive là: Code :
header('Content-Disposition: filename=$file_name'); avec celle-ci: Code :
header('Content-Disposition: filename="'.$file_name.'"'); |
|
|
00
|
|
|
#6 | ||
|
Membre actif
![]() Inscription : avril 2010 Messages : 221 ![]() |
Bon, après pas mal de temps passé sur la doc wouaibistique j'ai enfin trouvé la solution qui résout tous les problèmes évoqués précédemment.
1) Il y a un ordre à respecter dans les header 2) la syntaxe pour les fichiers avec un espace est aussi à prendre en compte voici ci-dessous le script complet qui fonctionne: Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com