begin process at 2012 02 15 20:01:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > MES LISTAGES DE RÉPERTOIRES + LOG + MODULE D'ÉXPLOITATION DES LOGS

MES LISTAGES DE RÉPERTOIRES + LOG + MODULE D'ÉXPLOITATION DES LOGS


 Information sur la source

Note :
4 / 10 - par 2 personnes
4,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Niveau :Débutant Date de création :19/05/2005 Date de mise à jour :17/10/2005 09:42:51 Vu / téléchargé :3 190 / 148

Auteur : Syruis

Ecrire un message privé
Site perso
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Mon code sert à lister les répertoire les fichiers séparément , les images comme des images dans un cadre et en même temps fait un log à l'arrive sur la page... voila.

la page de listage liste également les répertoires fils :)

Il liste le répertoire ou la page est situé mais n'affiche pas la page elle même (index.php) .

"le log" log donc l'ip, le navigateur, la date, l'heure, ...

le module d'explotation des logs est anarchique mais donne une bonne idée de votre indice de fréquentation ;) .

Source

  • <?
  • $DATE=getdate(time());
  • $fp = fopen("ip.txt", "a");
  • fputs ($fp, "$SCRIPT_NAME > $REMOTE_ADDR $REMOTE_HOST $HTTP_USER_AGENT $DATE[hours]H:$DATE[minutes]min $DATE[mday]D:$DATE[mon] de $DATE[year]\n");
  • fclose($fp);
  • echo $size[0];
  • $rep = $_GET["rep"];
  • $rep = "./".$rep;
  • $handle=opendir($rep);
  • echo "<font size='6'>Repertoires</font>\n<br />\n<ul>\n";
  • while ($file = readdir($handle)) {
  • if (is_dir($file)==true && $file!="."){
  • if ($file!="..")
  • echo "<li><a href='?rep=".$file."/'>".$file."</a>\n<br />\n";
  • }
  • }
  • echo "</ul>\n<br />\n<font size='6'>Fichiers</font>\n<br />\n";
  • echo "<table border=0>\n<tr>\n";
  • rewinddir();
  • $i = 0;
  • while ($file = readdir($handle)) {
  • $file = $rep.$file;
  • if(!ereg("index.php", $file)){
  • if ($file != $rep && $file != $rep){
  • if (substr($file,strlen($file)-3,3)=="jpg" || substr($file,strlen($file)-3,3)=="gif"|| substr($file,strlen($file)-3,3)=="bmp" || substr($file,strlen($file)-3,3)=="png" ){
  • $size = getimagesize($file);
  • if($size[0]>100 || $size[1]>100){
  • if($size[0]>$size[1]){
  • $wsize=100;
  • $hsize=$size[1]/($size[0]/100);
  • }
  • else{
  • $hsize=100;
  • $wsize=$size[0]/($size[1]/100);
  • }
  • }
  • else{
  • $wsize=$size[0];
  • $hsize=$size[1];
  • }
  • echo "<td align='center'>\n<a href='".$file."' target=_blank>";
  • echo "\n <img src='".$file."' alt='".$file."' border='0' width=".$wsize." height=".$hsize.">\n </a>\n </td>\n";
  • $i++;
  • if ($i == 4){//4 est le nombre de colonnes
  • echo " </tr>\n <tr>\n";
  • $i = 0;
  • }
  • }
  • else{//fichier pas images
  • if (is_dir($file)==false){
  • echo "<li><a href='".$file."'>".str_replace("./","",$file)."</a>\n<br />\n";
  • }
  • }
  • }
  • }}
  • echo" </tr>\n</table>\n";
  • // fonction d'exploitation des logs
  • if (!$fp = fopen("ip.txt","r")){
  • echo "Echec de l'ouverture du fichier<br>";
  • }else{
  • echo "Logs depuis le 3/10/2005 (8H15) <br>";
  • $i=0;
  • $fire=0;
  • // $fire2=0;
  • $fr=0;
  • $us=0;
  • $MSIE=0;
  • $linux=0;
  • $yahoo=0;
  • $mac=0;
  • $yahoo2=0;
  • $msn=0;
  • $google=0;
  • while (!feof($fp)) { //on parcourt toutes les lignes
  • $str = fgets($fp,2048);
  • if ($str == "" or $str == null){
  • echo "Nombre de Visites analysés : ".$i."<br /><br/>";
  • echo "Nombre de Firefox/1.0.7 1.0.6 analysés : ".$fire."<br/>";
  • // echo "Nombre de Firefox/1.4 1.5 (beta) analysés : ".$fire2."<br/>";
  • echo "Nombre de Internet Explorer analysés : ".$MSIE."<br/>";
  • echo "<br/>Nombre de navigateurs en Anglais analysés : ".$us."<br/>";
  • echo "Nombre de navigateurs en Francais analysés : ".$fr."<br/>";
  • echo "<br>Nombre de Linux analysés : ".$linux."<br/>";
  • echo "Nombre de Mac/Apple analysés : ".$mac."<br/>";
  • echo "<br>Nombre de googlebot analysés : ".$google."<br/>";
  • echo "Nombre de yahoobot analysés : ".$yahoo."<br/>";
  • echo "Nombre de YahooSeeker analysés : ".$yahoo2."<br/>";
  • echo "Nombre de msn bot analysés : ".$msn."<br/>";
  • exit;
  • }
  • $pos = strpos($str,">");
  • if ($pos == false)
  • echo "erreur dans la page";
  • else{
  • $page = substr ($str,$pos);
  • //fonction qui joue
  • }
  • if ( ereg("Firefox", $str) )
  • $fire++;
  • if ( ereg("en-US;", $str) )
  • $us++;
  • if ( ereg("fr-FR;", $str) )
  • $fr++;
  • if ( ereg("fr)", $str) )
  • $fr++;
  • if ( ereg("Mac", $str) )
  • $mac++;
  • if ( ereg("Gmac", $str) )
  • $mac--;
  • if ( ereg("MSIE", $str) )
  • $MSIE++;
  • if ( ereg("msnbot", $str) )
  • $msn++;
  • if ( ereg("Linux", $str) )
  • $linux++;
  • if ( ereg("Googlebot", $str) )
  • $google++;
  • if ( ereg("Yahoo!", $str) )
  • $yahoo++;
  • if ( ereg("YahooSeeker", $str) )
  • $yahoo2++;
  • $i++;
  • }
  • }
<?
$DATE=getdate(time());
$fp = fopen("ip.txt", "a");
fputs ($fp, "$SCRIPT_NAME > $REMOTE_ADDR $REMOTE_HOST $HTTP_USER_AGENT $DATE[hours]H:$DATE[minutes]min $DATE[mday]D:$DATE[mon] de $DATE[year]\n");
fclose($fp);

echo $size[0];
    $rep = $_GET["rep"];
	$rep = "./".$rep;
	
	$handle=opendir($rep);
    
	echo "<font size='6'>Repertoires</font>\n<br />\n<ul>\n";
    while ($file = readdir($handle)) {
	if (is_dir($file)==true && $file!="."){
		if ($file!="..")
			echo "<li><a href='?rep=".$file."/'>".$file."</a>\n<br />\n";
	   }
    }
	echo "</ul>\n<br />\n<font size='6'>Fichiers</font>\n<br />\n";
    echo "<table border=0>\n<tr>\n";
     rewinddir();
     $i = 0;
	 
     while ($file = readdir($handle)) {
	 $file  = $rep.$file;
	 if(!ereg("index.php", $file)){
        if ($file != $rep && $file != $rep){
			if (substr($file,strlen($file)-3,3)=="jpg" || substr($file,strlen($file)-3,3)=="gif"|| substr($file,strlen($file)-3,3)=="bmp" || substr($file,strlen($file)-3,3)=="png" ){
                $size = getimagesize($file);
			if($size[0]>100 || $size[1]>100){
			if($size[0]>$size[1]){
          $wsize=100;
          $hsize=$size[1]/($size[0]/100);
		}
		else{
          $hsize=100;
          $wsize=$size[0]/($size[1]/100);
		}
         }
         else{
         $wsize=$size[0];
         $hsize=$size[1];
         }     
         echo "<td align='center'>\n<a href='".$file."' target=_blank>";
         echo "\n    <img src='".$file."' alt='".$file."' border='0' width=".$wsize." height=".$hsize.">\n   </a>\n  </td>\n";
         $i++;
         if ($i == 4){//4 est le nombre de colonnes
             echo " </tr>\n <tr>\n";
             $i = 0;
			}
		}
            else{//fichier pas images
            if (is_dir($file)==false){
                echo "<li><a href='".$file."'>".str_replace("./","",$file)."</a>\n<br />\n";
                }
            }
        }
     }}
     echo" </tr>\n</table>\n";


// fonction d'exploitation des logs 

if (!$fp = fopen("ip.txt","r")){
	echo "Echec de l'ouverture du fichier<br>";
}else{
	echo "Logs depuis le 3/10/2005 (8H15) <br>";
	$i=0;
	$fire=0;
//	$fire2=0;
	$fr=0;
	$us=0;
	$MSIE=0;
	$linux=0;
	$yahoo=0;
	$mac=0;
	$yahoo2=0;
	$msn=0;
	$google=0;
	while (!feof($fp)) { //on parcourt toutes les lignes
		
		$str = fgets($fp,2048);
		if ($str == "" or $str == null){
			echo "Nombre de Visites analysés : ".$i."<br /><br/>";	
			echo "Nombre de Firefox/1.0.7 1.0.6 analysés : ".$fire."<br/>";	
		//	echo "Nombre de Firefox/1.4 1.5 (beta) analysés : ".$fire2."<br/>";	
			echo "Nombre de Internet Explorer analysés : ".$MSIE."<br/>";
			echo "<br/>Nombre de navigateurs en Anglais analysés : ".$us."<br/>";
			echo "Nombre de navigateurs en Francais analysés  : ".$fr."<br/>";
			echo "<br>Nombre de Linux analysés : ".$linux."<br/>";				
			echo "Nombre de Mac/Apple analysés : ".$mac."<br/>";				
			echo "<br>Nombre de googlebot analysés : ".$google."<br/>";				
			echo "Nombre de yahoobot analysés : ".$yahoo."<br/>";				
			echo "Nombre de YahooSeeker analysés : ".$yahoo2."<br/>";
			echo "Nombre de msn bot analysés : ".$msn."<br/>";		
			exit;
		}
		$pos  = strpos($str,">");
		if ($pos ==  false)
			echo "erreur dans la page";
		else{
			$page = substr ($str,$pos);
			//fonction qui joue
		}	
		if ( ereg("Firefox", $str) )
			$fire++;
		if ( ereg("en-US;", $str) )
			$us++;
		if ( ereg("fr-FR;", $str) )
			$fr++;
		if ( ereg("fr)", $str) )
			$fr++;
		if ( ereg("Mac", $str) )
				$mac++;
		
		if ( ereg("Gmac", $str) )
				$mac--;
		
		if ( ereg("MSIE", $str) )
				$MSIE++;
				
		if ( ereg("msnbot", $str) )
				$msn++;
				
		if ( ereg("Linux", $str) )
				$linux++;
		if ( ereg("Googlebot", $str) )
				$google++;
		if ( ereg("Yahoo!", $str) )
				$yahoo++;
		if ( ereg("YahooSeeker", $str) )
				$yahoo2++;
		$i++;
	}
}

 Conclusion

en demo sur
http://lopez.thomas1.free.fr/fichiers/ voila.

demo d'explotation des logs ici:
http://lopez.thomas1.free.fr/log.php

Si vous utilisez ce source ou que vous l'avez amélioré, svp, ou demande sur le source, http://lopez.thomas1.fr/Linux/mail.php

voila j'espère que ca vous plaira ;) .


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

19 mai 2005 21:45:30 :
EVOLUTION
20 mai 2005 11:35:55 :
<br /> et <img ... />
20 juin 2005 23:08:51 :
log .... $SCRIPT_NAME recuperant le nom de la page dynamiquement
05 octobre 2005 14:34:11 :
Voila les modifs sur l'explotation des logs. Thomas.
05 octobre 2005 14:40:57 :
fautes d'orthographe mais il doit en rester
05 octobre 2005 14:58:52 :
C mieux ! je suis trop *** :(!
10 octobre 2005 17:09:01 :
grosse mise à jour du listage ;)
17 octobre 2005 09:42:52 :
Mise à jour esthétique suppression des "./" + commentaires dans le source.

 Sources de la même categorie

Source avec Zip Source avec une capture GENERATEUR D'ONGLET DE NAVIGATION PHP par pos123
FORMATER UN LIEN YOUTUBE, DAILYMOTION OU VIMEO POUR L'UTILIS... par kgb93
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
Source avec Zip Source avec une capture SYSTEME D'AUTHENTIFICATION PHP AVEC PROTÉCTION KEYLOGGER par mtrix000
Source avec Zip Source avec une capture GENERATEUR DE BOUTONS DE PARTAGES POUR RESEAUX SOCIAUX par cod57

Commentaires et avis

Commentaire de Anthomicro le 19/05/2005 18:11:24

Salut,

Tu peux mettre ce code en cat débutants, remplacer <? par <?php, <BR> par <br />

Ensuite $REMOTE_ADDR : $_SERVER['REMOTE_ADDR'] idem pour $REMOTE_HOS, etc... (c'est déprécié)

Commentaire de Syruis le 19/05/2005 21:46:31

désolé c'est un code vite fait et c'est pas mon code finaliser mais il fonctionne parfaitement. J'ai mis a jour...

Commentaire de GAME2OVR le 20/05/2005 08:38:50

bof je le trouve pas terrible, tu devrais amélioré l'affichage parce que j'ai rien compris à ton machin... ensuite j'ai l'impression que le colorateur ne fonctionne pas correctement ^^ pour voir la source non ?
evite les " avec les echo, ça ralenti le script, meme si tu met des "\n" avec concaténation ça ira plus vite...

Commentaire de Syruis le 20/05/2005 09:38:03

Rien compris?? ya rien a comprendre ... ca marche !!!

il est peut être un peu lent mais ce qui ralenti le +, c'est l'affichage de toutes les images du répertoire.

Commentaire de twisteurwin le 20/05/2005 11:31:08

salut les gars!

Syruis > Je t'ai mis un 7/10 car je trouve que ta source peut être intéressante pour gérer un affichage par catégorie des repertoires...
Cependant je te suggère de faire les corrections que t'as indiqué "Anthomicro" au dessus pour que ton script soit commptatible en xhtml ex:
<br> =<br />, <img src="pic.gif"> = <img src="pic.gif" />...
Et oui faut s'y mettre tous ensemble car un jour ton site ne s'affichera plus !
Mais aussi pour le $_SERVER['REMOTE_ADDR'] et le $_SERVER['REMOTE_HOST']...
Perso j'ai viré les quotes dans ton script j'ai fais remplacer
$REMOTE_ADDR par $_SERVER[REMOTE_ADDR], idem pour HOST...
Pk j'ai viré les quotes ? parce que faut aller voir dans le log vous comprendrez...

Faut faire la mise à jour car ca risque de crier sur ta source :-)

+++

Commentaire de Syruis le 20/05/2005 11:37:12

Voila les balises sont fermantes par contre mon log me convient comme ca.
=>
Mon script fonctionne parfaitement sur les serveurs free pour info.

Pis si on en parle c'est qu'on en veut!

Commentaire de Anthomicro le 20/05/2005 17:13:38

Faut pas virer les quotes dans les variables $_SERVER['REMOTE_ADDR'] quand t'affiches avec echo et les simples quotes. Pour les doubles quotes et echo c'est inutile, autant prendre des simples.

Commentaire de Syruis le 23/05/2005 22:15:33

Desole mais j'aime bien les " " habitude tu java ca marche donc ; Alors que les balises fermantes c'est normal . ;)

Commentaire de Syruis le 05/10/2005 15:00:00

une mise à jour qui devrait vous plaire non?

Commentaire de Anthomicro le 05/10/2005 15:39:37

pas vraiment non...

Commentaire de Syruis le 05/10/2005 15:48:15

Bon bah tant pis :(

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales