Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[ SYSFASTCACHE V.1 ] SYSTEME DE CACHE, GÉRÉ PAR UNE CLASS


Information sur la source

Catégorie :Class et Objet ( POO ) Classé sous : cache, class, sysfastcache, system, serveur Niveau : Initié Date de création : 13/08/2006 Date de mise à jour : 11/10/2006 11:21:01 Vu / téléchargé: 2 412 / 161

Note :
8,71 / 10 - par 7 personnes
8,71 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

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

  • <?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();
  • }
  • }
  • ?>
<?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
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

12 septembre 2006 21:00:03 :
^^ création de son nom ( je sais, je sais il est ridicule mais il en fallais bien un non...? ;p )
12 septembre 2006 21:00:35 :
Oups Oublier les mot clé ^^'
11 octobre 2006 11:18:34 :
Rectification d'une erreur et suppretion d'une variable
11 octobre 2006 11:20:14 :
 
11 octobre 2006 11:21:01 :
 

Commentaires et avis

signaler à un administrateur
Commentaire de wizard512 le 13/08/2006 10:50:12

Utilisation :

include( 'cache.class.php' );
$StartCache = new Cache( 'cache' , 60*5 ); // pour 5mn au max
// Vos instructions php
$StartCache->EndCache();


VLa, le tout

signaler à un administrateur
Commentaire de coockiesch le 13/08/2006 12:14:45

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

signaler à un administrateur
Commentaire de ImmortalPC le 13/08/2006 12:54:36

Salut,
je pense qu' il faudrait supprimer la page dans le cache.
nan ?

@+

signaler à un administrateur
Commentaire de wizard512 le 13/08/2006 18:35:04

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.....                  ^^

signaler à un administrateur
Commentaire de wizard512 le 13/08/2006 21:24:48

Même pas une note ?   ^^'
Mon code est si nulle que sa?
Oo'

signaler à un administrateur
Commentaire de wizard512 le 28/08/2006 10:10:27

J'aimerais bien que les personnes qui notes, laisse un commentaires expliquant les notes,
comme par exemple la personne qui a noté 5

è_é

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

problème de staut serveur [ par hippyz ] Salut. Bon j'essaye de faire un petit script pour voir le statut de serveur swat4, mais mon script me dit qu'ils sont offline alors que non. Voilà m Serveur SMTP [ par Marion0904 ] Bonsoir, J'essai d'nvoyer des mails en utilisant la class phpmailer (disponible sur&nbsp; http://phpmailer.sourceforge.net/). J'incu la class php mail Tester si un server est en ligne !!!! [ par FearBlue ] Slt a tous !!!!Je r&#233;alise un scripts tres simple afin de savoir via une page web si mon server est en ligne Rien de bien sorcier mais g un proble Envoi d'un mail en php via un serveur lotus notes [ par samy14 ] Bonjour,&nbsp; Pourriez-vous me dire comment on fais pour envoyer un mail en php non pas via un serveur smtp mais via un serveur lotus notes ? ou alor envoie web sans bufferrisation [ par veneur59 ] Bonjour,je souhaiterais pouvoir &#233;crir un script php qui envoie toute de suite sur le navigateur les ordres au fur et a mesur qu'ils sont g&#233;n Pb avec EasyPHP il ne trouve pas mes pages sur le serveur.. (un ti peu urgent) [ par Tifff ] Bonjour,J'ai r&#233;cup&#233;r&#233; un site statique r&#233;alis&#233; sous frontpage et je dois le modifier rajouter des pages et une base de donn&# gestion des ressources sur mon serveur [ par therealwolverine ] bonjour a tous, voici mon probleme : nous avons un serveur php/mysql et on me demande quels sont les programmes qui utilisent le plus de ressources es Serveur apache sous linux [ par casper_2 ] Bonjour jaimerais savoir sur kel version de linux,apache server tourne!! Mercie beaucoupCASPER Proxy et php [ par Hades51 ] Bonjour a tous,J'ai configur&#233; php pour attaquer un serveur smtp qui se trouve en dehors du r&#233;seau local de l'entreprise ou se situe le serve fsockopen et serveur MX [ par melfou ] Bonjour &#224; tous, J'ai un petit souci au niveau d'une connection &#224; un serveur email.<br style="font-family: arial;"


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,686 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.