[ sysfastcache v.1 ] systeme de cache, géré par une class

5/5 (6 avis)

Vue 4 424 fois - Téléchargée 268 fois

Description

Voici un systeme de Cache que j'ai créer suite a la création d'un de mes projet.
Et je souhaiter le faire partager a tous le monde.
Car en plus d'étre extémement facile a géré, il est aussi performant ( enfin moi il répond tous a fait a mes conditions )

Source / Exemple :


<?Php

	class Cache
	{
		function Cache( $Dir , $Exp )
		{
			$this->DirCache = './' . $Dir . '/';
			$this->FilCache = $this->DirCache . md5( $_SERVER[ 'HTTP_HOST' ] . $_SERVER[ 'REQUEST_URI' ] ) . '.cache';

			if( !$this->verif( $this->DirCache ) )
			{
				die( "The Directory Cache doesn't exist" );
			}
			
			if( ( ( @file_exists( $this->FilCache ) ) ? @filemtime( $this->FilCache ) : 0 ) > time() - $Exp )
			{
				echo "<!-- Start Cache File //-->\r\n\r\n";
				readfile( $this->FilCache );
				echo "\r\n\r\n<!-- End Cache File //-->\r\n";
				exit;
			}
			
				ob_start();
		}
		
		function verif( $dir )
		{
			if( !is_dir( $dir ) )
			{
				if( !@mkdir( $dir , 0777 ) && function_exists( 'system' ) )
				{
					@system( 'mkdir ' . $dir );
					return $this->verif( $dir );
				}
					elseif( !is_dir( $dir ) )
				{
					return false;
				}
			}
			
			return true;
		}
		
		function EndCache()
		{
			$this->t = @fopen( $this->FilCache , 'w+' );
			@fputs( $this->t , ob_get_contents() );
			@fclose( $this->t );
			ob_end_flush();
		}
	}

?>

Conclusion :


Voila en espérent avoir peux aider quelques personnes....

^^

Je sais pas pourquoi mes je sens que les critiques vont etre dur, hein pas vrai ?! ;p

Codes Sources

A voir également

Ajouter un commentaire Commentaires
wizard512 Messages postés 459 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 11 mai 2013 2
28 août 2006 à 10:10
J'aimerais bien que les personnes qui notes, laisse un commentaires expliquant les notes,
comme par exemple la personne qui a noté 5

è_é
wizard512 Messages postés 459 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 11 mai 2013 2
13 août 2006 à 21:24
Même pas une note ? ^^'
Mon code est si nulle que sa?
Oo'
wizard512 Messages postés 459 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 11 mai 2013 2
13 août 2006 à 18:35
Oui, éffectivement, normalement le cache d'une page ne devrait pas etre créer s'il y des variables, de type $_POST, ou $_SESSION.....
Bref il faut utiliser ce cache plutot pour page "public" et non pour des accées membres.....
Vous pouvez le modifier ainsi si vous voulez.....

if( !isset( $_SESSION ) && !isset( $_POST ) )
{
$cache = true;
include( 'cache.class.php' );
$StartCache = new Cache( 'cache' , 60*5 ); // pour 5mn au max
}

//Vos instructions

if( isset( $cache ) )
{
$StartCache->EndCache();
}

Enfin voila sa reste une possibilitée..... ^^
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
13 août 2006 à 12:54
Salut,
je pense qu' il faudrait supprimer la page dans le cache.
nan ?

@+
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 3
13 août 2006 à 12:14
Salut!
Y'a un truc que je pige pas: si je me trompe pas, il se base sur l'url d'appel d'un fichier...

Comment ça se passe si une page est différente selon des variables internes, genre:
accueil.php est différent selon que je suis logé ou pas (variable de session) mais au niveau du cache... ?

Merci! :)

@++

R@f
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.