forcer telechargement fichier jpg - PHP - Programmation
Marsh Posté le 08-05-2011 à 13:41:46
Bonjour,
Le mot "télécharger" a deux sens distincts que l'anglais rend bien : upload et download.
Dans la question, il n'est pas très clair s'il s'agit du premier ou du deuxième sens.
Je vais supposer qu'il s'agit d'un download, c'est-à-dire de l'envoi d'un fichier depuis le serveur jusqu'au poste de l'utilisateur.
Habituellement l'envoi se fait de manière transparente lorsqu'une page HTML contient une balise <img src=...>.
Dans la question, il n'est pas très clair, pourquoi ce moyen habituel n'est pas souhaité.
Si je ne me trompe pas, il s'agirait de transférer un fichier depuis le serveur directement vers le disque dur de l'utilisateur.
Dans ce cas, dans quel répertoire ? Il faut bien que l'utilisateur indique le nom qui lui convienne.
De toutes manières, pour des "raisons de sécurité", il est interdit pour un serveur internet d'accéder au disque dur de l'utilisateur,
sauf avec les cookies, ou avec des plug-in qui sont autorisés.
Marsh Posté le 08-05-2011 à 13:55:29
Whaaaat
On peut assez facilement forcer le téléchargement de n'importe quel fichier, en balançant au navigateur les bon entêtes.
Imaginons que ton script download.php soit dans le même dossier que les images, il ressemblera à ça :
Code :
|
Attention, c'est une version minimale vite bricolée. Y'a peut-être des problèmes potentiels de sécurité, et ça marche que pour les jpg (faut détecter le type mime correct). C'est juste pour montrer comment ça marche à peu près.
Marsh Posté le 08-05-2011 à 14:21:39
Merci pour vos réponses. En réalité les fichiers ne sont pas des jpg mais des png car je gère la transparence avec mais ca change pas grand chose. En gros je veux sur un site affiché une miniature et lorsque je clique sur la miniature accéder à l'image de taille réél. Le souci est que pour le moment lorsque je clique sur le lien je me retrouve a afficher l'image dans le navigateur or je voudrais que lorsque je clique sur l'image au lieu de l'afficher je lance le gestionnaire de téléchargement du navigateur ce qui permettrai de supprimer une étape à l'utilisateur final qui fait à l'heure actuel un clique sur la minaiture et ensuite un clique droit enregistré sous.
Sinon pour ce qui est du fichier download.php je souhaite effectivement le mettre dans le même dossier que mes images.
Marsh Posté le 10-05-2011 à 06:39:24
Est ce que quelqu'un pourrai me dire comment écrire exactement l'adresse pour que le fichier se télécharge ?
J'imagine que l'exemple que j'ai mis en poste 1 est faut, non ?
Marsh Posté le 10-05-2011 à 08:39:36
Ah oui Il faut nommer le paramètre de préférence :
Code :
|
Marsh Posté le 10-05-2011 à 18:39:31
Merci pour l'aide. JE regarderai après mangé comment faire pour que ca passe avec un png. En tout cas merci, je vous tiens au courant.
Marsh Posté le 12-05-2011 à 22:48:53
Bon ben a force de recherche je ne trouve pas de solution. J'ai fait encore pas mal de recherche et j'ai trouvé d'autres scripts mais a chaque fois j'ai un soucis le script s'affiche dans l'explorateur à la place de s’exécuter. le fichier.php est héberger par free.
Voila le code que j'ai tenté d'utiliser et qui ne fonctionne pas :
Code :
|
Pouvez vous m'aidez à résoudre mon soucis ? Est il possible que le problème vienne de free ?
Marsh Posté le 13-05-2011 à 05:14:06
le script s'affiche dans l'explorateur ???
t'aurai pas oublier les
<? au debut du script et
?> a la fin ?
Marsh Posté le 13-05-2011 à 06:18:20
Je suis un boulet. Merci pour ton aide.
JE viens de tester ca marche mieux (ca ne s'affiche plus mais j'ai ce message d'erreur :
Parse error: syntax error, unexpected T_STRING in /mnt/119/sdb/6/0/gortex3d/htc-dev/serie2/01lockscreen/download.php on line 5
En ligne 5 j'ai le code suivant :
header( 'Pragma: no-cache' );
En tout cas merci pour l'aide
Marsh Posté le 13-05-2011 à 09:31:14
gortex3D a écrit : Je suis un boulet. Merci pour ton aide. |
Rajoute une parenthèse en ligne 4 du code (ligne 1 ici) :
Code :
|
Marsh Posté le 14-05-2011 à 20:54:12
Reply
Marsh Posté le 07-05-2011 à 10:19:04
Hello tout le monde
Je n'y connais absolument rien en php et donc mes recherches sont infructueuse. JE cherche à mettre un fichier php qui par exemple se nommerai download.php qui me permette de forcer le téléchargement d'un fichier appelé en option.
un truc du genre : http://monsite.free.fr/wallpaper/d [...] mage01.jpg
Qui me force le téléchargement de l'image "monimage01.jpg" et donc pas l'afficher dans le navigateur
Et donc si je l'appelle : http://monsite.free.fr/wallpaper/d [...] mage02.jpg me permettre de télécharger l'image N°02 sans avoir à modifier le fichier download.php
Est ce possible ? Si oui serait il possible de me donner des liens, des adresses ou même un bout de code sur comment réaliser ce genre de fichier ?
Merci d'avance
Gortex3D
Message édité par gortex3D le 07-05-2011 à 10:19:26
---------------
Mon feedback