samyghan
samedi 5 juillet 2008 à 13:57
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 :
CODE
<?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 :
CODE
<?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.