10-11-2007, 01:32 AM
Code PHP :
<?php
unction create_cache($nom_cache, $contenu,$dossier = '')
{
echo "<br />Tentative de création du cache: $nom_cache <br />";
// utilisation de serialize() pour transformer $content en chaine de caractères
$contenu = serialize($contenu);
// échappement les caractères spéciaux pour pouvoir mettre le tout entre quotes dans le futur fichier
$contenu = str_replace(array('\\', '\'', "\0"), array('\\\\', '\\\'', '\\0'), $contenu);
// création du code php à stocker dans le fichier
$contenu = '<?php' . "\n\n" . '$cache = unserialize(\'' . $contenu . '\');' . "\n\n" . '?>';
// écriture du code dans le fichier
$fichier = fopen('./cache/donnees_' . $nom_cache . '.php', 'w');
$resultat = fwrite($fichier, $contenu);
fclose($fichier);
// renvoie true si l'écriture du fichier a réussi
return $resultat;
}
// détruit un cache
function destroy_cache($nom_cache,$dossier = '')
{
// echo '<br />destroy cache de '.$nom_cache;
return @unlink('./cache/donnees_' . $nom_cache . '.php');
}
// récupère une variable mise en cache
function get_cache($nom_cache,$dossier = '')
{
// vérifie que le fichier de cache existe
if ( is_file('./cache/donnees_' . $nom_cache . '.php') )
{
// le fichier existe, on l'exécute puis on retourne le contenu de $cache
include('./cache/donnees_' . $nom_cache . '.php');
return $cache;
}
else
{
// echo "<br />Le fichier de cache $nom_cache n'existe pas !<br />";
// le fichier de cache n'existe pas, on retourne false
return false;
}
}
En modifiant le code comme ça. Sur mon serv cela fonctionne.[/php]