samyghan Posté 3 Juillet 2008 Posté 3 Juillet 2008 Bonjour ! Voila, j'aimerai pouvoir intégrer plusieurs images dans un seul fichier en php. Et que ensuite je puisse faire : <img src="imagelib.php?image=header" /> <img src="imagelib.php?image=logo" /> <img src="imagelib.php?image=menu" /> par exemple... Sauf que intégrer directement le binaire de l'image dans un echo... ca marche pas, faudrai faire des \' a chaque ligne J'avai entendu parler une fois d'une fonction qui encodai le binaire en quelquechose d'exploitable, mais pas moyen de remettre la main dessus. Merci beaucoup
salcamden Posté 4 Juillet 2008 Posté 4 Juillet 2008 Moi, je ferai la chose suivante, je stockerai les photos dans des fichiers .jpg et je les afficherai à la demande avec quelquechose comme ça $image = $_GET['image'];switch($image) { case 'header' : $fileimage = 'monImageHeader.jpg'; break; case ''ogo' : $fileimage = 'monImageLogo.jpg'; break; case 'menu' : $fileimage = 'monImageMenu.jpg'; break; default : $fileimage = 'monImageDefaut.jpg'; break;}// Envoi des headersheader("Content-type: image/jpeg");readfile($fileimage ); Voilà. Bonne journée.
destroyedlolo Posté 4 Juillet 2008 Posté 4 Juillet 2008 Je previligirais la methode d'salcamden (c'est d'ailleurs ce que je fais sur une partie de mon site, et les .JPG sont stockes hors de l'arbos web pour qu'ils ne soient pas accessible directement). Si tu veux reelement reste dans la voix que tu as choisi, voici un truc un peu capilotractee mais qui devrais fonctionne quant meme : - tu encode ton image sous forme ascii (par exemple en la stockant sous forme de chaine Hexadecimale), - tu fais une boucle qui lit octet par octet et qui reconvertit les codes hexa en binaire et tu "affiches".
samyghan Posté 5 Juillet 2008 Auteur Posté 5 Juillet 2008 Merci à salcamden pour la structure de fichier (switch / header) et merci à destroyedlolo pour la piste. Effectivement, ce que je voulai c'etai concentrer toutes les images dans un fichier php pour ne pas devoir multiplier les fichiers de 1ko. Donc grace a vos pistes, j'ai cherché et je suis tombé sur les fonctions base64_decode et base64_encode qui encodai le binaire d'une image en caractéres compatibles a l'encapsulation dans des fichiers php / xml etc... J'ai donc procédé comme suite. J'ai d'abbord récupéré le binaire convertis en base64 de mes fichiers images avec ceci : <?php$file = 'img.png';$image= fread(fopen($file, "r"), filesize($file));$image = base64_encode($image);echo $image;?> (remplacer img.png par l'image que vous voulez) Et j'ai donc stocké les résultats dans mon fichier final : <?php$img = $_GET['img'];switch($img){ case 'view.png': header("Content-Type: image/png"); echo base64_decode('iVBORw0KG [...] uQmCC'); break; case 'module.png': header("Content-Type: image/png"); echo base64_decode('iVBORw0KGg [...] AAAABJRU5ErkJggg=='); break; case 'logoff.png': header("Content-Type: image/png"); echo base64_decode('iVB [...] CRrQETW54UHgAAAABJRU5ErkJggg=='); break;}?> (Les chaines bases 64 des images sont tronqués) J'ai décidé de répéter l'operation echo plutot que de stoquer l'image dans une variable a cause des tailles des chaines. Voilà ca marche parfaitement, merci a vous.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant