Salut ! Je cherche à coder un formulaire me permettant de lister les dossiers du serveur, les fichiers et leur taille... Je veux surtout pouvoir naviguer dans les dossiers, mais je bloque sur ce code; il fonctionne sauf qu'il ne veut pas aller dans les sous-dossiers d'un dossier. Merci d'essayer ce code et de m'aider à le perfectionner :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<style type="text/css"> 
<!--
 body,.mybox { 
  font-family:'Lucida console'; 
  font-size:12px; 
  color:#000000; 
  background:#DDDDDD; 
 } 
 .mybox { 
  background:#FFFFFF; 
  width:100px; 
 } 
-->
</style> 
<?php 
 
$myd=@$_POST['myd'];  // Sélection dossier
$myf=@$_POST['myf'];  // Sélection fichier
@chdir($myd);
echo '<b>'.getcwd().'</b><br/>';
 
$lstd=Array();  // Dossiers
$lstf=Array();  // Fichiers
$lsts=Array();  // Tailles
 
if($handle=@opendir(getcwd())) 
  while(($file=@readdir($handle))!==false)
    if(is_dir($file)){
      $lstd[]=$file;
    }else {
      $lstf[]=$file;    
      $lsts[]=@filesize(getcwd().'/'.$file);
    };    
@closedir($handle);
 
echo '<form name="f1" method="post">';
echo '<select name="myd" size="20" class="mybox" onDblClick="f1.submit();">';
for($x=0;$x<count($lstd);$x++){
  echo '<option value="'.$lstd[$x].'"';
  if($lstd[$x]==$myd) echo ' selected';
  echo '/>'.$lstd[$x].'</option>';
}  
echo '</select>';
 
echo '<select name="myf" size="20" class="mybox" style=width:300px;">';
for($x=0;$x<count($lstf);$x++){
  echo '<option value="'.$lstf[$x].'"';
  if($lstf[$x]==$myf) echo ' selected';
  echo '/>'.$lstf[$x].' ('.$lsts[$x].')</option>';
}  
echo '</select>';
 
echo '<br/>'; 
echo '<noscript>';
echo '<input name="lister" type="submit" value=" LISTER " class="mybox"/>';
echo '</noscript>'; 
echo '</form>';
?>