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

Soyez le premier à donner votre avis sur cette source.

Vue 4 220 fois - Téléchargée 236 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
470
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2013
-
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
470
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2013
-
Même pas une note ? ^^'
Mon code est si nulle que sa?
Oo'
wizard512
Messages postés
470
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2013
-
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
955
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2008
2 -
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 -
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

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.