Download de fichier

RockmanX Messages postés 109 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 26 octobre 2007 - 6 nov. 2003 à 23:25
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 - 1 sept. 2009 à 11:54
Salut!
Bon alors en fait ma question elle est pas trop php, mais je voulais savoir si quelqu'un a une idée:

Je dois faire un site duquel on doit downloader des fichiers, mais il faut que ces fichier soient protégés par un login et un mot-de-passe.
Le problème c'est que si quelqu'un entre par bol dans sa barre:
www.monserveur.fr/monfichier.txt et ben il peu le downloader...
comment faire pour empêcher ça????
Merci d'avance

5 réponses

Tomcube Messages postés 311 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 14 septembre 2004 1
7 nov. 2003 à 23:17
Est-ce qu'un .htaccess peut marcher ?
0
siwil Messages postés 23 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 2 septembre 2009
31 août 2009 à 14:13
Salut les amis !!!
Ma question a deux volets et j'ai urgement besoin de votre aide,en fait je travaille sur le upload et le download entre deux machines en rx.
-premierement j'ai pu recuperer les fichiers du disque dur serveur pr les afficher ds une listebox client,ceci pr faciliter le telechargement aux utilisateurs,mais lorsque je fais ceci :
$fich=$_POST['fact'];

echo(" telecharger ");

Je constate que ds ma variable $fich le nom de fichier ne s'y trouve pas et la preuve en est que la fenetre download qui s'affiche devant moi ne me montre pas le nom du fichier.
J'aimerai savoir quoi faire a se niveau.

-Deuxiemement: lorsque je remplace "$_POST['fact']" par le nom d'un fichier du disque dur serveur cad :
$fich= 'Accueil.pdf';
le telechargement se fait normalement pr tous les fichiers sauf ceux de la famille office,voici mon fichier download.php:
<?php
$dir='C:\willy\*';
if (isset($_REQUEST["file"])) {
$file=$dir.$_REQUEST["file"];
header("Content-type: application/force-download");
header("Content-Transfer-Encoding: Binary");
header("Content-length: ".filesize($file));
header("Content-disposition: attachment; filename="".basename($file).""");
readfile("$file");
} else {
echo "No file selected";
}
?>

SVP les gars un coup de main.
0
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
31 août 2009 à 18:48
Bànjour,

et que raconte un print_r ou var_dump sur ton $_POST ?

Il ets plus que probable qu eton erreur soit en amont, dans le formulaire de sélection, et que $_POST soit vide.
0
siwil Messages postés 23 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 2 septembre 2009
1 sept. 2009 à 11:33
Salut nautilus!!
merci pour ta reponse.
En fait j'utilise une balise
<select> comme ceci:
<select name= "fact">
quelqu'un d'autre m'a conseille de faire :
$fich= $_GET['fact'];
mais jusque la rien,je ne sais pas si c parsceque les noms de fichier viennent directement du disque dur serveur.
quand tu parles de print_r ou var_dump sur le POST tu veux dire quoi exactement.
stp explique-moi.
0

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

Posez votre question
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
1 sept. 2009 à 11:54
Bonjour,

Ton formulaire doit transmettre le nom du chier, soit via la méthod epost soit le get...
Donc dans ton script d etraitement, tu dois retrouver quelque part ce nom, soit en $_POST, soit en $_GET, ou encore en $_REQUEST.

Donc en faisant un dump de ces tableaux pour debugguer, tu devrais t'apercevoir que ton formulaire ne transmet pas le nom, ou pas où toi tu penses qu'il se trouve.
0
Rejoignez-nous