Open Source :D

Open Source :D - PHP - Programmation

Marsh Posté le 30-07-2003 à 13:13:53    

Slt tlm,
 
J'ai fais un ptit script PHP qui permet de lister les repertoires : www.nowhere-web.com/listdir/ que j'ai edité pour moi (quand j'entends pour moi c'est qu'il fonctionne sur OVH) et que j'ai adapte pour lycos.
 
Vous pouvez évidemment tt changer.
$Situ = "http://www.nowhere-web.com"; c'est pr indiquer le serveur des images, vous pouvez laisser cette adresse (c'est donc moi qui hébergerai les images comme ça il n'y a qu'un fichier ;-) )
 
Vous pouvre aussi faire des fichiers genre : "Video.avi.rout" et dedans, il y a l'adresse de la vidéo sur un autre serveur, emplacement, il sera direct renomé en "Video.avi" :-)
 
Voici le code :  
 

Code :
  1. <?php
  2. /* configuration */
  3. $Situ = "http://www.nowhere-web.com";  // Serveur des images
  4. $Domaine = "1";                        // Si l'accès à cette page est par nom de domaine
  5. $NomPage = "index.php";                // Nom de la page
  6. $TitrePage = "ListDir v 2.0";          // Titre de la page
  7. /* création des fonctions */
  8. function DetectRoutage($Fichier) {
  9. $LongFichier = strlen($Fichier);
  10. $DebutDecoup = $LongFichier - 5;                 // Détecte si le fichier est un *.*.rout
  11. $FinNomFichier = substr($Fichier,$DebutDecoup, $LongFichier);
  12. if($FinNomFichier == ".rout" ){
  13. $FichierRoutage = "oui";
  14. }
  15. else {
  16. $FichierRoutage = "non";
  17. }
  18. return $FichierRoutage;
  19. }
  20. function OpenRoutage($Fichier){
  21. $fp = fopen($Fichier, "r" );
  22. $Adresse = fread($fp, "100" );                   // Ouverture des fichiers *.*.rout et retourne l'adresse de routage
  23. fclose($fp);
  24. return $Adresse;
  25. }
  26. function ModifNomRoutage($Fichier){
  27. $LongFichier = strlen($Fichier);
  28. $FinDecoup = $LongFichier - 5;
  29. $NomFichier = substr($Fichier,"0", $FinDecoup);
  30. return $NomFichier;
  31. }
  32. /* Test du dossier */
  33. $Dossier = ".";
  34. $EstDossier = is_dir($Dossier);
  35. if(!$EstDossier) {
  36. echo "<head><title>$Title</title></head><body><font face=Verdana size=1><center>Le dossier spécifié n'est pas un vrai dossier.</center></font></body>";
  37. die;
  38. }
  39. /* Initialisation du tableau des icones */
  40. $Icone = array(
  41. 'gif'=>'img/img.gif',
  42. 'bmp'=>'img/img.gif',
  43. 'png'=>'img/img.gif',
  44. 'jpg'=>'img/img.gif',
  45. 'swf'=>'img/img.gif',
  46. 'txt'=>'img/doc.gif',
  47. 'doc'=>'img/doc.gif',
  48. 'html'=>'img/html.gif',
  49. 'htm'=>'img/html.gif',
  50. 'mp3'=>'img/zic.gif',
  51. 'wma'=>'img/zic.gif',
  52. 'wav'=>'img/zic.gif',
  53. 'mpg'=>'img/zic.gif',
  54. 'avi'=>'img/zic.gif',
  55. 'lol'=>'img/zic.gif',
  56. 'mpeg'=>'img/zic.gif',
  57. 'zip'=>'img/zip.gif',
  58. 'rar'=>'img/zip.gif',
  59. 'exe'=>'img/exe.gif',
  60. 'php'=>'img/exe.gif',
  61. ''=>'img/cpp.gif');
  62. /* Initialisation des varibales */
  63. $TableauFichiers = array();
  64. $OpenDossier = opendir($Dossier);
  65. /* Boucle qui liste les fichiers */
  66. while($Fichier = readdir($OpenDossier)){
  67. if($Fichier[0] != "." ){
  68. if($Fichier == $NomPage){
  69. }
  70. else {
  71. /* Recherche de l'icone */
  72. if(is_dir($Fichier)){
  73. $ImgIcone = "img/folder.gif";
  74. }
  75. else {
  76. $Rechextension = ereg("([^.]*$)",$Fichier,$ResultatExt);
  77. $FileExt = $ResultatExt[0];
  78. if(in_array($FileExt, $Icone)){
  79. $SrcValue = $Icone[$FileExt];
  80. $ImgIcone = "$SrcValue";
  81. }
  82. else {
  83. $SrcValue = $Icone[$FileExt];
  84. $ImgIcone = "$SrcValue";
  85. }
  86. /* Recherche de la taille */
  87. $StatInfo = stat($Fichier);
  88. $TailleFichier = $StatInfo[7];
  89. /* On met tout dans une variable */
  90. $TableauFichiers[]= "$ImgIcone]$Fichier]$TailleFichier";
  91. }
  92. }
  93. }
  94. }
  95. closedir($OpenDossier);  // fin de la boucle
  96. /* Recherche du path */
  97. if($Domaine == "1" ){
  98. $Path = $REQUEST_URI;
  99. $LongNomPage = strlen($NomPage);
  100. $LongPath = strlen($Path);
  101. $DebutDecoup = $LongPath - $LongNomPage;
  102. $DernierePartiePath = substr($Path,$DebutDecoup, $LongPath);
  103. if($DernierePartiePath == $NomPage){
  104. $Path = substr($Path,"0", $DebutDecoup);
  105. }
  106. }
  107. else {
  108. $Path = $REQUEST_URI;
  109. $LongNomPage = strlen($NomPage);
  110. $PathNb = strlen($Path);               // Détection du dossier en cours sur le serveur en fonction du domaine
  111. $PathNb = $PathNb - 1;
  112. $Path = substr($Path,1,$PathNb);
  113. $PathNb1 = strpos($Path, "/" );
  114. $PathNb1 = $PathNb1 + 1;
  115. $PathNb2 = strpos($Path, $LongNomPage);
  116. $PathNb2 = $PathNb2 - $LongNomPage;
  117. $Path = substr($Path,$PathNb1, $PathNb2);
  118. }
  119. /* Affichage haut */
  120. echo "<head><title>$TitrePage</title></head>
  121. <body oncopy=\"return false\"><table border=0 cellspacing=1 cellpadding=2>
  122. <tr valign=top><td width=50%><table width=406 height=77><tr><td width=32 height=32><img src=$Situ/img/hardware.gif></td>
  123. <td width=10 height=32></td><td width=344 height=32><font face=Verdana size=2>Système de stockage :</font></td>
  124. </tr><tr><td width=32 height=21></td><td width=10 height=21></td><td width=344 height=21>&nbsp;</td>
  125. </tr><tr><td width=386 colspan=3 height=12><font size=1 face=Verdana>
  126. - Ce script a été édité par <a href=http://www.nowhere-web.com/?x=stock>nowhere-web</a>.<br>
  127. - Vous pouvez aussi l'avoir, pour celà, faites une demande à webmaster@nowhere-web.com</font>
  128. </td></tr></table></td><td width=50%><table width=406 height=77>
  129. <tr><td width=32 height=32><img src=$Situ/img/help.gif></td>
  130. <td width=10 height=32></td><td width=344 height=32><font face=Verdana size=2>Lexique</font></td>
  131. </tr><tr><td width=32 height=21></td><td width=10 height=21></td><td width=344 height=21>&nbsp;</td></tr><tr>
  132. <td width=386 colspan=3 height=12>
  133. <table border=0 width=50%><tr><td width=50%><table border=0 cellpadding=2 width=68>
  134. <tr><td width=16><img border=0 src=$Situ/img/img.gif></td>
  135. <td width=58><font face=Verdana size=1>photo</font></td></tr><tr><td width=16><img border=0 src=$Situ/img/zic.gif></td>
  136. <td width=58><font face=Verdana size=1>vidéo</font></td>
  137. </tr><tr><td width=16><img border=0 src=$Situ/img/doc.gif></td><td width=58><font face=Verdana size=1>document</font></td>
  138. </tr><tr><td width=16><img border=0 src=$Situ/img/exe.gif></td><td width=58><font face=Verdana size=1>prog</font></td>
  139. </tr></table></td><td width=50%><table border=0 cellpadding=2 width=68>
  140. <tr><td width=16><img border=0 src=$Situ/img/file.gif></td>
  141. <td width=58><font face=Verdana size=1>fichier</font></td></tr><tr>
  142. <td width=16><img border=0 src=$Situ/img/zip.gif></td><td width=58><font face=Verdana size=1>zip</font></td>
  143. </tr><tr><td width=16><img border=0 src=$Situ/img/cpp.gif></td><td width=58><font face=Verdana size=1>autre</font></td>
  144. </tr><tr><td width=16><img border=0 src=$Situ/img/folder.gif></td><td width=58><font face=Verdana size=1>dossier</font></td>
  145. </tr></table></td></tr></table></td></tr></table></td></tr></table><hr color=#3366CC noshade width=80% align=left><p><font face=Verdana size=2>Voici le contenu de $Path </font></p>
  146. <table border=0 width=70%>";
  147. /* Deuxième boucle pour l'affichage */
  148. sort($TableauFichiers);  // classement par ordre
  149. foreach($TableauFichiers as $Valeur) {
  150. list( $SrcIcone, $NomFichier, $TailleFichier ) = split( ']', $Valeur );
  151. $UrlFichier = "$NomFichier";
  152. $Routage = DetectRoutage($NomFichier);
  153. if($Routage == "oui" ){
  154. $SrcIcone = "img/rout.gif";
  155. $TailleFichier = "???";
  156. $UrlFichier = OpenRoutage($NomFichier);
  157. $NomFichier = ModifNomRoutage($NomFichier);
  158. }
  159. $SrcFinal = "$Situ/$SrcIcone";
  160. echo "<tr><td width=2%><a href=$UrlFichier><img src=$SrcFinal border=0></a></td><td width=87%><font face=Verdana size=1>&nbsp;<a href=$UrlFichier>$NomFichier</a><font></td><td width=9%><p align=right><font face=Verdana size=1>$TailleFichier</font></td></tr>";
  161. }
  162. echo "</table></body>";
  163. ?>
  164. <XML style="display:none">


Message édité par nowhere-web le 30-07-2003 à 13:18:47
Reply

Marsh Posté le 30-07-2003 à 13:13:53   

Reply

Marsh Posté le 30-07-2003 à 21:11:36    

pas mal  :)  
 
tu aurais pu rajouter la date de la derniere modification et tout..  :)  
puis il manque plein d'extensions de fichier..


---------------
yvele n'est plus.
Reply

Marsh Posté le 31-07-2003 à 09:15:33    

Je sais pr la date mais je ne voulais pas surchargé l'interface  :pt1cable:  
 
Je sais aussi pr les extentions ms comme je l'ai dis, ça a été fais mon site et je n'uppais rien d'autre  :D  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed