A voir également:
- Php et ftp
- Easy php - Télécharger - Divers Web & Internet
- Filezilla ftp - Télécharger - Téléchargement & Transfert
- Core ftp - Télécharger - Téléchargement & Transfert
- Php natif - Forum PHP
- Ftp localhost ✓ - Forum Réseau
11 réponses
Bonjour,
Si ton serveur est un serveur Apache, tu peux utiliser un fichier .htaccess contenant la ligne
Deny from all
dans le répertoire qui contient les fichiers pour interdire tout téléchargement direct.
Ça obligera le gens à passer par ton site.
Si ton serveur est un serveur Apache, tu peux utiliser un fichier .htaccess contenant la ligne
Deny from all
dans le répertoire qui contient les fichiers pour interdire tout téléchargement direct.
Ça obligera le gens à passer par ton site.
et ca fonction comment dans le cas ou tu as par exemple deux serveur ton serveur web avec ton apache php/mysql et un serveur ftp ailleur?
quelle sera la forme de ton lien?
quelle sera la forme de ton lien?
Pardon, si tes fichiers sont dans un serveur ftp séparé du site web, un fichier .access ne sert absolument à rien.
Il faut passer par un script php
Je te montre le principe ci-dessous, il serait beaucoup plus intelligent de faire des boucles pour traiter la liste des fichiers :
tu crées une page avec une liste du genre
<a href="analyse.php"?id=1>télécharger fichier 1</a><BR>
<a href="analyse.php"?id=2>télécharger fichier 2</a><BR>
<a href="analyse.php"?id=2>télécharger fichier 3</a><BR>
etc
dans le fichier analyse.php
<?php
if (isset $_GET['id']) {
$fichier=""
switch ($_GET['id']) {
case 1 : $fichier="fichier1.wma"; break;
case 2 : $fichier="fichier2.jpg"; break;
case 3 : $fichier="fichier3.doc"; break;
} // switch
if ($fichier!="") { // s'il y a bien un fichier à charger
header('content-type: application');
readfile('ftp://loginftp:mdpftp@serveurftp/repertoire/'.$fichier);
exit;
}
} // if
echo 'demande incorrecte';
?>
Il faut passer par un script php
Je te montre le principe ci-dessous, il serait beaucoup plus intelligent de faire des boucles pour traiter la liste des fichiers :
tu crées une page avec une liste du genre
<a href="analyse.php"?id=1>télécharger fichier 1</a><BR>
<a href="analyse.php"?id=2>télécharger fichier 2</a><BR>
<a href="analyse.php"?id=2>télécharger fichier 3</a><BR>
etc
dans le fichier analyse.php
<?php
if (isset $_GET['id']) {
$fichier=""
switch ($_GET['id']) {
case 1 : $fichier="fichier1.wma"; break;
case 2 : $fichier="fichier2.jpg"; break;
case 3 : $fichier="fichier3.doc"; break;
} // switch
if ($fichier!="") { // s'il y a bien un fichier à charger
header('content-type: application');
readfile('ftp://loginftp:mdpftp@serveurftp/repertoire/'.$fichier);
exit;
}
} // if
echo 'demande incorrecte';
?>
ahh merci :)
parcontre une question pourquoi il me le telecharge en donnant pour nom le nom du script php?
2eme question dans le cas d'un mp3 comment faire pour le lire dans un lecteur flash qui necessite le lien de la source?
parcontre une question pourquoi il me le telecharge en donnant pour nom le nom du script php?
2eme question dans le cas d'un mp3 comment faire pour le lire dans un lecteur flash qui necessite le lien de la source?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour la deuxième question, enlève le
header('content-type: application');
En fait il faudrait le remplacer par un content-type adapté à chaque type de fichier que tu charges. Si c'est toujours du mp3 (tu as bien les droits ?) il faut :
header('content-type: audio/mpeg');
Pour la première question, je me re-penche sur le sujet
header('content-type: application');
En fait il faudrait le remplacer par un content-type adapté à chaque type de fichier que tu charges. Si c'est toujours du mp3 (tu as bien les droits ?) il faut :
header('content-type: audio/mpeg');
Pour la première question, je me re-penche sur le sujet
merci de ton aide :)
c'est peu etre quelque chose a ajouter dans le header?
je viens de faire le test pour le mp3 sauf qu'il lance le lecteur quick time dans une page...
moi en fait j'ai un petit lecteur flash comme ceci (le code est generé dans un script php):
<object width="200" height="20" data="flash/dewplayer.swf?mp3=ftp://toto:toto@toto.fr/toto.mp3" type="application/x-shockwave-flash">
<param value="transparent" name="wmode"/>
<param value="flash/dewplayer.swf?mp3=ftp://toto:toto@toto.fr/toto.mp3" name="movie"/>
</object>
donc j'aimerai pouvoir cacher le lien du mp3 pour eviter que l'on voit le login et password (ou simplement cacher le log et password) sinon c'est facil de venir tout telecharger directement du ftp... j'ai chercher dans les fonction ftp de php mais je n'ai pas trouvé mon bonheur (ou mal compris les descriptions des fonctions)
c'est peu etre quelque chose a ajouter dans le header?
je viens de faire le test pour le mp3 sauf qu'il lance le lecteur quick time dans une page...
moi en fait j'ai un petit lecteur flash comme ceci (le code est generé dans un script php):
<object width="200" height="20" data="flash/dewplayer.swf?mp3=ftp://toto:toto@toto.fr/toto.mp3" type="application/x-shockwave-flash">
<param value="transparent" name="wmode"/>
<param value="flash/dewplayer.swf?mp3=ftp://toto:toto@toto.fr/toto.mp3" name="movie"/>
</object>
donc j'aimerai pouvoir cacher le lien du mp3 pour eviter que l'on voit le login et password (ou simplement cacher le log et password) sinon c'est facil de venir tout telecharger directement du ftp... j'ai chercher dans les fonction ftp de php mais je n'ai pas trouvé mon bonheur (ou mal compris les descriptions des fonctions)
tu as essayé de remplacer le ftp:...mp3 par l'appel au script que je te proposais ?
<param value="flash/dewplayer.swf?mp3=http://site/analyse.php?id=1" name="movie"/>
avec id=1 ou 2 ou 3 etc..
<param value="flash/dewplayer.swf?mp3=http://site/analyse.php?id=1" name="movie"/>
avec id=1 ou 2 ou 3 etc..
ok pour ca c'est parfait ca marche!!!
merci c'est parfait!!!!
pour le download parcontre si tu trouves une solution je suis preneur :) c'est etange quand meme qu'il preine le nom du script...
merci c'est parfait!!!!
pour le download parcontre si tu trouves une solution je suis preneur :) c'est etange quand meme qu'il preine le nom du script...
Non, c'est normal qu'il prenne le nom du script. Le client interroge ton serveur HTTP avec le nom du script, il est tout à fait logique qu'il considère que les infos qui reviennent portent le nom de ce script. Il ne sait pas quelle "cuisine" on a fait derrière pour aller chercher le fichier, puisque justement on a voulu le cacher.
Je n'ai pour l'instant aucune idée pour éviter ça
Je n'ai pour l'instant aucune idée pour éviter ça