Bonsoir, je souhaiterai forcer l'enregistrement d'une image : en faisant un clic gauche sur le lien menant à l'image, celle-ci serait enregistrée et non ouverte.

L'autre question est : est-ce compatible avec les standards ?

Merci Smiley smile
Modifié par Gunner4902 (29 Jan 2007 - 18:05)
Ca a été traité 32 768 fois, ça se fait via certains headers HTTP bien précis. Fait une recherche, tu devrais trouver comment faire
Une petite recherche google m'a donné des choses de ce type :
Content-disposition: attachment
Content-Type: application/force-download

Mais c'est à creuser...
Voilà ce que j'ai trouvé ; je l'ai écris ici de manière à ce qu'il soit valide xhtml 1.0 Smiley cligne

Dans un fichier de commande, que l'on peut nommer download.php écrire le code suivant :

    <?php
    header("Content-type: application/force-download");
    header("Content-Disposition: attachment; filename=".$file);
    readfile($chemin.$file);
    ?>


Dans la page les liens s'écriront de la manière suivante, de manière à appeller le fichier download qui forcera le header :

    <a href="download.php?chemin=http://www.serveur.com/dossier/
    &file=nom_fichier.extension">
    Télécharger le fichier</a>


Merci PHP ! Smiley biggrin
Hello,

Je pense que la solution que tu utilises est dangereuse : en tant qu'utilisateur, rien ne m'empêche de modifier les paramètres "chemin" et "file" et ainsi accéder à n'importe quel fichier sur ton serveur.
Julien Royer a écrit :
Hello,

Je pense que la solution que tu utilises est dangereuse : en tant qu'utilisateur, rien ne m'empêche de modifier les paramètres "chemin" et "file" et ainsi accéder à n'importe quel fichier sur ton serveur.

Dont les fichiers PHP, qui peuvent en quelques minutes nous dévoiler les données de la base de donnée. C'est du suicide cette méthode Smiley eek