A voir également:
- Proteger fichiers télécharger sur son site
- Site de telechargement - Accueil - Outils
- Site comme coco - Accueil - Réseaux sociaux
- Télécharger musique gratuitement sur pc - Télécharger - Conversion & Extraction
- Télécharger instagram sur pc - Télécharger - Divers Communication
- Comment télécharger une vidéo youtube - Guide
5 réponses
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
7 janv. 2010 à 23:24
7 janv. 2010 à 23:24
Ce n'est pas possible, sauf avec un espace membre.
Ou bien tu peux faire une page download.php qui vérifie si le visiteur vient d'une page de ton site grâce à la variable $_SERVER['HTTP_REFERER']
Ou bien tu peux faire une page download.php qui vérifie si le visiteur vient d'une page de ton site grâce à la variable $_SERVER['HTTP_REFERER']
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
8 janv. 2010 à 07:01
8 janv. 2010 à 07:01
<?php if(preg_match('#^https?://(www\.)?tondomaine\.net/#i', $_SERVER['HTTP_REFERER'])) { header('Content-type: image/png'); header('Content-Disposition: attachment; filename="image.png"'); readfile('telechargements/image.png'); } else { echo 'Les liens directs ne sont pas autorisés'; } ?>J'ai souligné 3 choses :
1/ C'est le type MIME de ton fichier
2/ Le nom
3/ Le chemin d'accès
Je te conseil d'utiliser une base de données pour stocker ces informations, et ensuite, avec un ID transmit par l'url, tu les récupères.
La structure de la table "telechargements" serait donc : id | file_name | file_type | file_url
Ensuite :
<?php if(preg_match('#^https?://(www\.)?tondomaine\.net/#i', $_SERVER['HTTP_REFERER'])) { mysql_connect('','',''); mysql_select_db(''); $sql = 'SELECT file_name, file_type, file_url FROM telechargements WHERE id = '.$_GET['id']; $req = mysql_query($sql); $nb = @mysql_num_rows($sql); if($nb > 0) { $infos = mysql_fetch_assoc($req); header('Content-type: '.$infos['file_type']); header('Content-Disposition: attachment; filename="'.$infos['file_name'].'"'); readfile($infos['file_url']); } else { echo 'Fichier introuvable'; } } else { echo 'Les liens directs ne sont pas autorisés'; } ?>