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 !

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


Information sur la source

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é: 2 663 / 138

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

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

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.

Commentaires et avis

signaler à un administrateur
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é)

signaler à un administrateur
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...

signaler à un administrateur
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...

signaler à un administrateur
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.

signaler à un administrateur
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 :-)

+++

signaler à un administrateur
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!

signaler à un administrateur
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.

signaler à un administrateur
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 . ;)

signaler à un administrateur
Commentaire de Syruis le 05/10/2005 15:00:00

une mise à jour qui devrait vous plaire non?

signaler à un administrateur
Commentaire de Anthomicro le 05/10/2005 15:39:37

pas vraiment non...

signaler à un administrateur
Commentaire de Syruis le 05/10/2005 15:48:15

Bon bah tant pis :(

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

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,156 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é.