Generer une page a partir d'une image
Ekzouille
-
Droopy_ Messages postés 252 Statut Membre -
Droopy_ Messages postés 252 Statut Membre -
Bonjour,
J'ai créé un menu composé de X liens, ces liens sont généré par un script qui recupere le nom de chaque fichier présent dans un dossier, et j'ai fait en sorte qu'il link le texte a l'element, en direct (en l'occurence des jpg, donc les liens sont du type www.monsite.com/toto.jpg)
ma question est, comment faire apparaitre l'image dans ma page et non en direct
et ainsi avoir une url du type www.monsite.com/index.php?image=xxx
merci d'avance!!
J'ai créé un menu composé de X liens, ces liens sont généré par un script qui recupere le nom de chaque fichier présent dans un dossier, et j'ai fait en sorte qu'il link le texte a l'element, en direct (en l'occurence des jpg, donc les liens sont du type www.monsite.com/toto.jpg)
ma question est, comment faire apparaitre l'image dans ma page et non en direct
et ainsi avoir une url du type www.monsite.com/index.php?image=xxx
merci d'avance!!
A voir également:
- Generer une page a partir d'une image
- Supprimer une page word - Guide
- Créer une icone à partir d'une image - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Imprimer tableau excel sur une page - Guide
1 réponse
Il te suffit de changer tes liens en ce que tu veux, prenons ton exemple : www.monsite.com/index.php?image=toto.jpg
Dans le fichier index.php, tu dois vérifier si le paramètre image est présent, puis envoyer l'image à la place du HTML.
Attention, tu dois faire des vérifications pour que ton script n'ouvre que les fichiers que tu veux qu'il ouvre, sinon, si il permet de lire tous les fichiers, même avec des ../../.. tu auras une belle faille de sécurité ;-)
Référence :
https://www.php.net/manual/fr/function.fpassthru.php
Dans le fichier index.php, tu dois vérifier si le paramètre image est présent, puis envoyer l'image à la place du HTML.
<?php
$image = $_GET['image'];
if ($image != "")
{
$fp = fopen($image, 'rb');
// envoie les bons en-têtes
header("Content-Type: image/jpeg");
header("Content-Length: " . filesize($image));
// envoie le contenu du fichier, puis stoppe le script
fpassthru($fp);
exit;
}
?>
Attention, tu dois faire des vérifications pour que ton script n'ouvre que les fichiers que tu veux qu'il ouvre, sinon, si il permet de lire tous les fichiers, même avec des ../../.. tu auras une belle faille de sécurité ;-)
Référence :
https://www.php.net/manual/fr/function.fpassthru.php