Bonjour,
j'ai besoin d'afficher une image personnalisée par un texte (selectionné dans ma base de données), j'utilise donc la librairie GD :
	
	
	
		
Je veux mettre ceci en cache en suivant cette astuce :
https://www.webrankinfo.com/forum/t/script-mise-en-cache-des-pages-php.28614/
Ce qui donne :
	
	
	
		
En tout il y'a pas plus de 145 images crées (car 145 textes différents dans ma base de données).
Ce que je souhaite c'est que ça consomme sur le serveur pas beaucoup plus que l'appel d'une simple image.jpg, donc qu'il y'ait un seul fichier cache par image personnalisée par la librairie GD.
Donc une foi la création du cache d'une image, qu'il y ait aucune requête sql ou php autre que la vérif du cache avec php.
Est ce correct comme ceci ou gourmand en ressource serveur ?
Désolé mon post est un peu long mais je suis pas très sûr là.
Merci
				
			j'ai besoin d'afficher une image personnalisée par un texte (selectionné dans ma base de données), j'utilise donc la librairie GD :
		Code:
	
	<?php
header ("Content-type: image/jpeg");
$image = imagecreatefromjpeg("image.jpg"); 
$couleur_texte = imagecolorallocate($image, 255, 255, 255); // Texte en blanc
imagestring($image, 4, 35, 15, "Mon texte ici !", $couleur_texte);
imagejpeg($image);
?>
	Je veux mettre ceci en cache en suivant cette astuce :
https://www.webrankinfo.com/forum/t/script-mise-en-cache-des-pages-php.28614/
Ce qui donne :
		Code:
	
	<?PHP 
$urldemandee=$_SERVER['REQUEST_URI']; //on lit l'adresse de la page 
$urldemandee=ereg_replace('/','-',$urldemandee); // on tranforme l'adresse en nom de fichier 
if($urldemandee=="-") $urldemandee="-index.html"; // si l'adresse est la racine du site, on ajoute index.html 
$fichierCache="cache/cache".$urldemandee; // on construit le chemin du fichier cache de la page 
if (@filemtime($fichierCache)<time()-(3600*24*360)) { //si la page n'existe pas dans le cache ou si elle a expiré 
   ob_start(); // on démarre la bufferisation de la page: rien de ce qui suit n'est envoyé au navigateur 
// ici vient normalement la selection du texte dans la base de données, pour l'exemple je met seulement [b]Mon texte ici ![/b]
// création de l'image avec le texte
header ("Content-type: image/jpeg");
$image = imagecreatefromjpeg("image.jpg"); 
$couleur_texte = imagecolorallocate($image, 255, 255, 255); // Texte en blanc
imagestring($image, 4, 35, 15, "[b]Mon texte ici ![/b]", $couleur_texte);
imagejpeg($image);
// fin de la création de l'image, on reprend le cache
$contenuCache = ob_get_contents(); // on recuperre le contenu du buffer 
   ob_end_flush();// on termine la bufferisation 
   $fd = fopen("$fichierCache", "w"); // on ouvre le fichier cache 
   if ($fd) { 
      fwrite($fd,$contenuCache); // on ecrit le contenu du buffer dans le fichier cache 
      fclose($fd); 
     } 
} else { // le fichier cache existe déjà 
  include ($fichierCache); // on le copie ici 
} 
?>
	En tout il y'a pas plus de 145 images crées (car 145 textes différents dans ma base de données).
Ce que je souhaite c'est que ça consomme sur le serveur pas beaucoup plus que l'appel d'une simple image.jpg, donc qu'il y'ait un seul fichier cache par image personnalisée par la librairie GD.
Donc une foi la création du cache d'une image, qu'il y ait aucune requête sql ou php autre que la vérif du cache avec php.
Est ce correct comme ceci ou gourmand en ressource serveur ?
Désolé mon post est un peu long mais je suis pas très sûr là.
Merci