Faire un système de cache pour mes news - Programmation
Ceci répond-il à votre question ? Oui | Non
 

Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Faire un système de cache pour mes news
 
ness
Profil : IDNaute
Plus d'informations

Bonjour, voila j'aimerais faire un petit système de cache pour mes news.
Donc voici mon code mais quelque chose cloche, rien ne s'affiche sur ma page de news.

cache.php

Code :
  1. <?php
  2. // met en cache une variable
  3. function create_cache($nom_cache, $contenu)
  4. {
  5.     // utilisation de serialize() pour transformer $content en chaine de caracteres
  6.     $contenu = serialize($contenu);
  7.     // echappement les caracteres speciaux pour pouvoir mettre le tout entre quotes dans le futur fichier
  8.     $contenu = str_replace(array('\\', '\'', "\0" ), array('\\\\', '\\\'', '\\0'), $contenu);
  9.     // creation du code php a stocker dans le fichier
  10.     $contenu = '<?php' . "\n\n" . '$cache = unserialize(\'' .  $contenu . '\');' . "\n\n" . '?>';
  11.  
  12.     // ecriture du code dans le fichier
  13.     $fichier = fopen('./cache/donnees_' . $nom_cache . '.php', 'w');
  14.     $resultat = fwrite($fichier, $contenu);
  15.     fclose($fichier);
  16.     // renvoie true si l'ecriture du fichier a reussi
  17.     return $resultat;
  18. }
  19. // recupere une variable mise en cache
  20. function get_cache($nom_cache)
  21. {
  22.     // verifie que le fichier de cache existe
  23.     if ( is_file('./cache/donnees_' . $nom_cache . '.php') )
  24.     {
  25.         // le fichier existe, on l'execute puis on retourne le contenu de $cache
  26.         include('./cache/donnees_' . $nom_cache . '.php');
  27.         return $cache;
  28.     }
  29.     else
  30.     {
  31.         // le fichier de cache n'existe pas, on retourne false
  32.         return false;
  33.     }
  34. }
  35. // detruit un cache
  36. function destroy_cache($nom_cache)
  37. {
  38.     return @unlink('./cache/donnees_' . $nom_cache . '.php');
  39. }
  40. // on essaye de recuperer les donnees dans le cache
  41. if ( !$donnees = get_cache('news') )
  42. {
  43.     // on se connecte a la BDD
  44.     include("scripts/connectmysql.php" );
  45.     // le cache n'existe pas, recuperation des messages dans la base de donnees
  46.     $resultat = mysql_query('SELECT * FROM news');
  47.     // stockage du resultat dans la variable $donnees
  48.     $donnees = array();
  49.     while ( $donnees[] = mysql_fetch_array($resultat) );
  50.     // mise en cache de $donnees
  51.     create_cache('news', $donnees);
  52.     // on se deconnecte de la BDD
  53.     mysql_close();
  54. }
  55. // lecture des messages
  56. foreach ( $donnees as $ligne )
  57. {
  58. ?>
  59. <span class="titrenews"><?php echo '' . stripslashes($donnees['titre']) . ''; ?><span style="font-size: 10px; color: white;"> postй le <?php echo date('d/m/Y', $donnees['timestamp']); ?></span></span>
  60. <p class="texte2" style="padding: 5px; margin-bottom: 10px;"><?php echo '' . stripslashes($donnees['texte']) . ''; ?></p>
  61. <?php
  62. }
  63. ?>
  64. ?>



Donc voila et merci beaucoup pour celui qui aura une solution.


---------------
Mon site (en construction)
http://steamgames.o-n.fr
Liens

ness
Profil : IDNaute
Plus d'informations

up plz :)


---------------
Mon site (en construction)
http://steamgames.o-n.fr

Aller à :
Ajouter une réponse
  FORUM Infos-du-Net » Programmation » Faire un système de cache pour mes news
 

Liens