Télécharger une image sans un clic droit
Résolu/Fermé
bobenausaure
Messages postés
228
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
27 janvier 2013
-
26 mai 2008 à 10:07
Barbagroupi - 8 oct. 2013 à 13:59
Barbagroupi - 8 oct. 2013 à 13:59
A voir également:
- Waptrick.image
- Waptrick xxxvideo - Meilleures réponses
- Waptrick.com photo xxx - Meilleures réponses
- Comment télécharger une vidéo youtube - Guide
- Image libre de droit gratuite google - Guide
- Telecharger une image disque windows 10 fichier iso - Guide
- Telecharger whatsapp pour pc - Télécharger - Messagerie
- Le fichier à télécharger est la nouvelle note de service de votre entreprise. importez ce fichier dans le bon dossier sur l'espace pix cloud. donnez à ce fichier les mêmes droits d'accès que les autres notes de service. ✓ - Forum Windows
9 réponses
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
26 mai 2008 à 11:05
26 mai 2008 à 11:05
Bjr
Si tu utilises PHP alors tu peux essayer
test_envoi.php
envoi_image.php
Si tu utilises PHP alors tu peux essayer
test_envoi.php
<html> <body> <a href="envoi_image.php?filename=mon_image.jpg">Cliquer ici pour télécharger l'image</a> </body> </html>
envoi_image.php
<?php if (isset($_GET["filename"])) { $filename=$_GET["filename"]; // Envoi du fichier header('Content-Transfer-Encoding: none'); header('Content-Type: application/octetstream; name="'.$filename.'"'); header('Content-Disposition: attachment; filename="'.$filename.'"'); header('Content-length: '.filesize($filename)); header("Pragma: no-cache"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public"); header("Expires: 0"); @readfile($filename) OR die(); } ?>
Bonjour !
J'ai passé au moins 5 heures à chercher comment faire ça sans Javascript....
et je tombe là dessus......que du bonheur ! merci beaucoup pour l'astuce PhP !
Désolé de faire remonter le post juste pour ça, mais je me pose une question. Ca fonctionne impeccablement, mais j'ai choisi de mettre mon image dans un dossier au même niveau que les pages PHP...
Pas de soucis pour créer le lien...là ça marche toujours, mais le fichier se trouve renommé avec comme suffixe, le nom de ce "sous dossier".
Ce n'est pas très embêtant après tout, mais j'aimerais bien comprendre pourquoi et je n'y arrive pas. Si vous aviez une piste, ce serait sympa.
Merci d'avance ;)
J'ai passé au moins 5 heures à chercher comment faire ça sans Javascript....
et je tombe là dessus......que du bonheur ! merci beaucoup pour l'astuce PhP !
Désolé de faire remonter le post juste pour ça, mais je me pose une question. Ca fonctionne impeccablement, mais j'ai choisi de mettre mon image dans un dossier au même niveau que les pages PHP...
Pas de soucis pour créer le lien...là ça marche toujours, mais le fichier se trouve renommé avec comme suffixe, le nom de ce "sous dossier".
Ce n'est pas très embêtant après tout, mais j'aimerais bien comprendre pourquoi et je n'y arrive pas. Si vous aviez une piste, ce serait sympa.
Merci d'avance ;)
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
19 juil. 2008 à 17:31
19 juil. 2008 à 17:31
Bjr
Evidemment car il faut conserver uniquement le nom du fichier : donc si $filename contient un chemin il suffit de le supprimer
<?php
if (isset($_GET["filename"]))
{
$filename=$_GET["filename"];
// ne conserver que le nom du fichier : le nom que verra s'afficher l'utilisateur
$uploadname=basename($filename);
// Envoi du fichier
header('Content-Transfer-Encoding: none');
header('Content-Type: application/octetstream');
header('Content-Disposition: attachment; filename="'.$uploadname.'"');
header('Content-length: '.filesize($filename));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
@readfile($filename) OR die();
}
?>
Evidemment car il faut conserver uniquement le nom du fichier : donc si $filename contient un chemin il suffit de le supprimer
<?php
if (isset($_GET["filename"]))
{
$filename=$_GET["filename"];
// ne conserver que le nom du fichier : le nom que verra s'afficher l'utilisateur
$uploadname=basename($filename);
// Envoi du fichier
header('Content-Transfer-Encoding: none');
header('Content-Type: application/octetstream');
header('Content-Disposition: attachment; filename="'.$uploadname.'"');
header('Content-length: '.filesize($filename));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
@readfile($filename) OR die();
}
?>
princesse95
>
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
27 févr. 2009 à 16:43
27 févr. 2009 à 16:43
Bonjour Ca marche nickel merci pour le code que j'ai eu du mail à trouver. Par contre, une fois l'image téléchargée, je ne peux rien faire. Elle ne s'ouvre pas et un message me dit que le fichier peut etre corrompu. Donc manque t-il quelque chose ? Merci
C'est vieux je sais bien mais j'avais le même problème que Princesse 95... pas moyen d'ouvrir mon fichier image, qui se trouvait également dans un sous dossier, avec les même erreurs (image trop grande, corrompue...)...
en fait le pb n'est pas là : il faut que le script, qui contient des header, soit placé avant tout code html. et tout marche impec ! en effet, si tu ouvres ton fichier jpeg dans un bloc notes (notepad ++ par exemple ou autre) tu reconnaîtras certainement au début du script affiché ton code ! d'où l'image trop grosse...etc.
Voilou, faut le r'monter quoi !
en fait le pb n'est pas là : il faut que le script, qui contient des header, soit placé avant tout code html. et tout marche impec ! en effet, si tu ouvres ton fichier jpeg dans un bloc notes (notepad ++ par exemple ou autre) tu reconnaîtras certainement au début du script affiché ton code ! d'où l'image trop grosse...etc.
Voilou, faut le r'monter quoi !
babyloon
Messages postés
33
Date d'inscription
jeudi 25 septembre 2008
Statut
Membre
Dernière intervention
21 octobre 2008
1
14 oct. 2008 à 21:24
14 oct. 2008 à 21:24
bonjour!
Je suis moi aussi hyper heureuse d'être tombée sur cette solution car celà fé trop de temps que je cherchais comment faire pour ouvrir cette fenêtre de téléchargement!!
Merci bcp tu me sauves!! :)))
Seulement, j'ai un tout ti problème au niveau du nom de mon image. Mes images viennent de ma base de données et sont dans une région répétée.
le nom de chaque image est donc : fondecran_".$id.".jpg
Lorsque je mets <a href="download.php?filename=fondecran_".$id.".jpg"> comme nom d'image et ke je veux télécharger l'image, il ne me met que "fondecran_" sur la fenêtre de téléchargement...blurps..
Sais-tu comment faire pour soit convertir le nom soit ce ke je dois mettre exactement à la place du nom de l'image pour ke celà fonctionne correctement,,?
Je t'en serai vmt reconnaisssante!!
Merci d'avance!!..
Je suis moi aussi hyper heureuse d'être tombée sur cette solution car celà fé trop de temps que je cherchais comment faire pour ouvrir cette fenêtre de téléchargement!!
Merci bcp tu me sauves!! :)))
Seulement, j'ai un tout ti problème au niveau du nom de mon image. Mes images viennent de ma base de données et sont dans une région répétée.
le nom de chaque image est donc : fondecran_".$id.".jpg
Lorsque je mets <a href="download.php?filename=fondecran_".$id.".jpg"> comme nom d'image et ke je veux télécharger l'image, il ne me met que "fondecran_" sur la fenêtre de téléchargement...blurps..
Sais-tu comment faire pour soit convertir le nom soit ce ke je dois mettre exactement à la place du nom de l'image pour ke celà fonctionne correctement,,?
Je t'en serai vmt reconnaisssante!!
Merci d'avance!!..
tropare
Messages postés
84
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
9 mars 2009
17
26 mai 2008 à 10:24
26 mai 2008 à 10:24
il faut que tu mette limage comme lien de telechargement mais je n'est jamais essayé donc jpe pa te dire sans testé mé de tt façon sa va pa lé tué de faire un clic droit lol
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bobenausaure
Messages postés
228
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
27 janvier 2013
16
26 mai 2008 à 10:38
26 mai 2008 à 10:38
ok ouai, j'crois qu'y a pas d'autres solutions assez simple de toute façon...
bobenausaure
Messages postés
228
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
27 janvier 2013
16
26 mai 2008 à 11:14
26 mai 2008 à 11:14
ah bah ouai, là, ya pas mieux !!
c'est exactement c'que j'voulais !!
Merci beaucoup PhP.
c'est exactement c'que j'voulais !!
Merci beaucoup PhP.
Merci pour ta réactivité PhP !
En plus la solution est simple ! Je débute en Php et je me rends compte qu'il y a toujours une solution déjà prévue pour beaucoup de cas....vraiment sympa ce Php !....
Merci encore pour ton aide rapide ;)
En plus la solution est simple ! Je débute en Php et je me rends compte qu'il y a toujours une solution déjà prévue pour beaucoup de cas....vraiment sympa ce Php !....
Merci encore pour ton aide rapide ;)
Syl Vie
Messages postés
5
Date d'inscription
mardi 9 septembre 2008
Statut
Membre
Dernière intervention
9 septembre 2008
1
9 sept. 2008 à 16:17
9 sept. 2008 à 16:17
pour télécharger des images sans faire un clic droit, tu peux aussi utiliser OutWit Hub. C'est une nouvelle extension firefox qui sert à récupérer des images, des photos, des adresses e-mails, etc en très peu de clics !
vous pouvez le télécharger sur mozilla.org.
a+
vous pouvez le télécharger sur mozilla.org.
a+
Attention à ce script si vous utilisez un CMS, ou si vous avez des choses à cacher sur votre site, par exemple en remplaçant le nom du fichier dans l'url, il permet de télécharger n'importe quel fichier (sauf restrictions ACL) depuis le site, comme le fichier contenant le mot de passe d'accès à mysql par exemple (wp-config.php), http://exemple.com/send-file.php?filename=../../cheminverslefichierconvoité.xxx !