Liste des répertoires et sous-répertoires

Utilisation : Copiez le script et lancez le : C'est tout!!

Chemin a paramétrer : $BASE = '../'; Liste répertoires et sous-répertoires

Présentation dans un tableau

Utilise images, voir les liens en bas du code.


Information sur les mises à jour

Dernière mise à jour :

07 Août 2019
refactoring du code en PHP 7
fonctionnement du code vérifié
correction du code
amélioration du code
modification de la description

33 476  vues
Compatibilité du code
PHP 5, PHP 7 et PHP 8
  code classé dans   Fichiers-répertoires
  code source classé dans   Fichiers-répertoires
 
01
02
03
04
05
06
07
08
09
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
                    
<?php
/*------------------------------*/
/*
Titre : Liste des répertoires et sous-répertoires

Auteur : Mathieu
Date édition : 01 Sept 2004
Date mise a jour : 07 Aout 2019

Rapport de la maj:
- refactoring du code en PHP 7
- fonctionnement du code vérifié
- correction du code
- amélioration du code
- modification de la description
*/
/*------------------------------*/?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
* {font-size: 10pt;}
a:link, a:hover, a:active, a:visited {color: #0000FF;}
</style>
</head>
<body>
<?php
$order = isset($_GET['order']) ? $_GET['order'] : '';
$order0 = isset($_GET['order0']) ? $_GET['order0'] : '';
$dir = isset($_GET['dir']) ? $_GET['dir'] : '';
$asc = isset($_GET['asc']) ? $_GET['asc'] : '';

/* racine */
$BASE = '../';

/* infos à  extraire */
function addScheme($entry,$base,$type) {
$tab['name'] = $entry;
$tab['type'] = filetype($base.'/'.$entry);
$tab['date'] = filemtime($base.'/'.$entry);
$tab['size'] = filesize($base.'/'.$entry);
$tab['perms'] = fileperms($base.'/'.$entry);
$tab['access'] = fileatime($base.'/'.$entry);
$t = explode('.', $entry);
$tab['ext'] = $t[count($t)-1];
return $tab;
}
/* liste des dossiers */
function list_dir($base, $cur, $level=0) {
global $BASE, $order, $asc;
if ($dir = opendir($base)) {
$tab = array();
while($entry = readdir($dir)) {
if(is_dir($base.'/'.$entry) && !in_array($entry, array('.','..'))) {
$tab[] = addScheme($entry, $base, 'dir');
}
}
/* tri */
usort($tab,'cmp_name');
foreach($tab as $elem) {
$entry = $elem['name'];
/* chemin relatif à  la racine */
$file = $base.'/'.$entry;
/* marge gauche */
for($i=1; $i<=(4*$level); $i++) {
echo ' ';
}
/* l'entrée est-elle le dossier courant */
if($file == $cur) {
echo "<img src=\"images/dir-open.gif\" /> $entry<br />\n";
} else {
echo
" <img src=\"images/dir-close.gif\" /> <a href=\"$_SERVER[PHP_SELF]?dir=".
rawurlencode($file)."&order=$order&asc=$asc\">$entry</a><br />\n";
}

/* l'entrée est-elle dans la branche dont le dossier courant est la feuille
*/
if(preg_match("#".$file.'/#',$cur.'/')) {
list_dir($file, $cur, $level+1);
}
}
closedir($dir);
}
}
/* liste des fichiers */
function list_file($cur) {
global $order, $asc, $order0;
if ($dir = opendir($cur)) {
/* tableaux */
$tab_dir = array();
$tab_file = array();
/* extraction */
while($file = readdir($dir)) {
if(is_dir($cur.'/'.$file)) {
if(!in_array($file, array('.','..'))) {
$tab_dir[] = addScheme($file, $cur, 'dir');
}
} else {
$tab_file[] = addScheme($file, $cur, 'file');
}
}
/* tri */
usort($tab_dir,'cmp_'.$order);
usort($tab_file,'cmp_'.$order);
/* affichage */
echo '<table cellspacing="0" cellpadding="0" border="0">';
echo '<tr style="font-size:8pt;font-family:arial;">
<th>'.(($order=='name')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=name&asc=$asc&order0=$order\">Nom</a></th><td> </td>
<th>".(($order=='size')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=size&asc=$asc&order0=$order\">Taille</a></th><td> </td>
<th>".(($order=='date')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=date&asc=$asc&order0=$order\">Dernière modification</a></th><td>" .
" </td>
<th>".(($order=='type')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=type&asc=$asc&order0=$order\">Type</a></th><td> </td>
<th>".(($order=='ext')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=ext&asc=$asc&order0=$order\">Extention</a></th><td> </td>
<th>".(($order=='perms')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=perms&asc=$asc&order0=$order\">Permissions</a></th><td> </td>
<th>".(($order=='access')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=access&asc=$asc&order0=$order\">Dernier accès</a></th></tr>";
foreach($tab_dir as $elem) {
echo '<tr><td><img src="images/dir-close.gif" /> '.$elem['name'].
'</td><td> </td>
<td> </td><td> </td>
<td>'.date("d/m/Y H:i:s", $elem['date']).'</td><td> </td>
<td>'.assocType($elem['type']).'</td><td> </td>
<td> </td><td> </td>
<td>'.$elem['perms'].'</td><td> </td>
<td>'.date("d/m/Y", $elem['access'])."</td></tr>\n";
}
foreach($tab_file as $elem) {
echo '<tr><td><img src="images/file-none.gif" /> '.$elem['name'].
'</td><td> </td>
<td align="right">'.formatSize($elem['size']).'</td><td> </td>
<td>'.date("d/m/Y H:i:s", $elem['date']).'</td><td> </td>
<td>'.assocType($elem['type']).'</td><td> </td>
<td>'.assocExt($elem['ext']).'</td><td> </td>
<td>'.$elem['perms'].'</td><td> </td>
<td>'.date("d/m/Y", $elem['access'])."</td></tr>\n";
}
echo "</table>";
closedir($dir);
}
}
/* formatage de la taille */
function formatSize($s) {
/* unités */
$u = array('octets','Ko','Mo','Go','To');
/* compteur de passages dans la boucle */
$i = 0;
/* nombre à  afficher */
$m = 0;
/* division par 1024 */
while($s >= 1) {
$m = $s;
$s /= 1024;
$i++;
}
if(!$i) $i=1;
$d = explode('.',$m);
/* s'il y a des décimales */
if($d[0] != $m) {
$m = number_format($m, 2, ',', ' ');
}
return $m.' '.$u[$i-1];
}
/* formatage du type */
function assocType($type) {
/* tableau de conversion */
$t = array(
'fifo' => 'file',
'char' => 'fichier spécial en mode caractère',
'dir' => 'dossier',
'block' => 'fichier spécial en mode bloc',
'link' => 'lien symbolique',
'file' => 'fichier',
'unknown' => 'inconnu'
);
return $t[$type];
}
/* description de l'extention */
function assocExt($ext) {
$e = array(
'' => "inconnu",
'doc' => "Microsoft Word",
'xls' => "Microsoft Excel",
'ppt' => "Microsoft Power Point",
'pdf' => "Adobe Acrobat",
'zip' => "Archive WinZip",
'txt' => "Document texte",
'gif' => "Image GIF",
'jpg' => "Image JPEG",
'png' => "Image PNG",
'php' => "Script PHP",
'php3' => "Script PHP",
'htm' => "Page web",
'html' => "Page web",
'css' => "Feuille de style",
'js' => "JavaScript"
);
if(in_array($ext, array_keys($e))) {
return $e[$ext];
} else {
return $e[''];
}
}
function cmp_name($a,$b) {
global $asc;
if ($a['name'] == $b['name']) return 0;
if($asc == 'a') {
return ($a['name'] < $b['name']) ? -1 : 1;
} else {
return ($a['name'] > $b['name']) ? -1 : 1;
}
}
function cmp_size($a,$b) {
global $asc;
if ($a['size'] == $b['size']) return cmp_name($a,$b);
if($asc == 'a') {
return ($a['size'] < $b['size']) ? -1 : 1;
} else {
return ($a['size'] > $b['size']) ? -1 : 1;
}
}
function cmp_date($a,$b) {
global $asc;
if ($a['date'] == $b['date']) return cmp_name($a,$b);
if($asc == 'a') {
return ($a['date'] < $b['date']) ? -1 : 1;
} else {
return ($a['date'] > $b['date']) ? -1 : 1;
}
}
function cmp_access($a,$b) {
global $asc;
if ($a['access'] == $b['access']) return cmp_name($a,$b);
if($asc == 'a') {
return ($a['access'] < $b['access']) ? -1 : 1;
} else {
return ($a['access'] > $b['access']) ? -1 : 1;
}
}
function cmp_perms($a,$b) {
global $asc;
if ($a['perms'] == $b['perms']) return cmp_name($a,$b);
if($asc == 'a') {
return ($a['perms'] < $b['perms']) ? -1 : 1;
} else {
return ($a['perms'] > $b['perms']) ? -1 : 1;
}
}
function cmp_type($a,$b) {
global $asc;
if ($a['type'] == $b['type']) return cmp_name($a,$b);
if($asc == 'a') {
return ($a['type'] < $b['type']) ? -1 : 1;
} else {
return ($a['type'] > $b['type']) ? -1 : 1;
}
}
function cmp_ext($a,$b) {
global $asc;
if ($a['ext'] == $b['ext']) return cmp_name($a,$b);
if($asc == 'a') {
return ($a['ext'] < $b['ext']) ? -1 : 1;
} else {
return ($a['ext'] > $b['ext']) ? -1 : 1;
}
}
?>
<table border="1" cellspacing="0" cellpadding="10" bordercolor="gray">
<tr valign="top"><td>
<!-- liste des répertoires
et des sous-répertoires -->
<?php
if(!in_array($order, array('name','date','size','perms','ext','access','type')))
{
$order = 'name';
}
if(($order == $order0) && ($asc != 'b')) {
$asc = 'b';
} else {
$asc = 'a';
}
/* lien sur la racine */
if(!$dir) {
echo "<img src=\"images/dir-open.gif\" /> /<br />\n";
} else {
echo
"<img src=\"images/dir-close.gif\" /> <a href=\"".$_SERVER['PHP_SELF'].
"\">/</a><br" .
" />\n";
}
list_dir($BASE, rawurldecode($dir), 1);
?>
</td><td>
<!-- liste des fichiers -->
<?php
/* répertoire initial à  lister */
if(!$dir) {
$dir = $BASE;
}
list_file(rawurldecode($dir));
?>
</td></tr>
</table>
<?php
/*------------------------------*/
/*
Titre : Liste des répertoires et sous-répertoires

Auteur : Mathieu
Date édition : 01 Sept 2004
Date mise a jour : 07 Aout 2019

Rapport de la maj:
- refactoring du code en PHP 7
- fonctionnement du code vérifié
- correction du code
- amélioration du code
- modification de la description
*/
/*------------------------------*/?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
* {font-size: 10pt;}
a:link, a:hover, a:active, a:visited {color: #0000FF;}
</style>
</head>
<body>
<?php
$order = isset($_GET['order']) ? $_GET['order'] : '';
$order0 = isset($_GET['order0']) ? $_GET['order0'] : '';
$dir = isset($_GET['dir']) ? $_GET['dir'] : '';
$asc = isset($_GET['asc']) ? $_GET['asc'] : '';

/* racine */
$BASE = '../';

/* infos à  extraire */
function addScheme($entry,$base,$type) {
$tab['name'] = $entry;
$tab['type'] = filetype($base.'/'.$entry);
$tab['date'] = filemtime($base.'/'.$entry);
$tab['size'] = filesize($base.'/'.$entry);
$tab['perms'] = fileperms($base.'/'.$entry);
$tab['access'] = fileatime($base.'/'.$entry);
$t = explode('.', $entry);
$tab['ext'] = $t[count($t)-1];
return $tab;
}
/* liste des dossiers */
function list_dir($base, $cur, $level=0) {
global $BASE, $order, $asc;
if ($dir = opendir($base)) {
$tab = array();
while($entry = readdir($dir)) {
if(is_dir($base.'/'.$entry) && !in_array($entry, array('.','..'))) {
$tab[] = addScheme($entry, $base, 'dir');
}
}
/* tri */
usort($tab,'cmp_name');
foreach($tab as $elem) {
$entry = $elem['name'];
/* chemin relatif à  la racine */
$file = $base.'/'.$entry;
/* marge gauche */
for($i=1; $i<=(4*$level); $i++) {
echo ' ';
}
/* l'entrée est-elle le dossier courant */
if($file == $cur) {
echo "<img src=\"images/dir-open.gif\" /> $entry<br />\n";
} else {
echo
" <img src=\"images/dir-close.gif\" /> <a href=\"$_SERVER[PHP_SELF]?dir=".
rawurlencode($file)."&order=$order&asc=$asc\">$entry</a><br />\n";
}

/* l'entrée est-elle dans la branche dont le dossier courant est la feuille
*/
if(preg_match("#".$file.'/#',$cur.'/')) {
list_dir($file, $cur, $level+1);
}
}
closedir($dir);
}
}
/* liste des fichiers */
function list_file($cur) {
global $order, $asc, $order0;
if ($dir = opendir($cur)) {
/* tableaux */
$tab_dir = array();
$tab_file = array();
/* extraction */
while($file = readdir($dir)) {
if(is_dir($cur.'/'.$file)) {
if(!in_array($file, array('.','..'))) {
$tab_dir[] = addScheme($file, $cur, 'dir');
}
} else {
$tab_file[] = addScheme($file, $cur, 'file');
}
}
/* tri */
usort($tab_dir,'cmp_'.$order);
usort($tab_file,'cmp_'.$order);
/* affichage */
echo '<table cellspacing="0" cellpadding="0" border="0">';
echo '<tr style="font-size:8pt;font-family:arial;">
<th>'.(($order=='name')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=name&asc=$asc&order0=$order\">Nom</a></th><td> </td>
<th>".(($order=='size')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=size&asc=$asc&order0=$order\">Taille</a></th><td> </td>
<th>".(($order=='date')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=date&asc=$asc&order0=$order\">Dernière modification</a></th><td>" .
" </td>
<th>".(($order=='type')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=type&asc=$asc&order0=$order\">Type</a></th><td> </td>
<th>".(($order=='ext')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=ext&asc=$asc&order0=$order\">Extention</a></th><td> </td>
<th>".(($order=='perms')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=perms&asc=$asc&order0=$order\">Permissions</a></th><td> </td>
<th>".(($order=='access')?(($asc=='a')?'/\\ ':'\\/ '):'').
"<a href=\"".$_SERVER['PHP_SELF']."?dir=".rawurlencode($cur).
"&order=access&asc=$asc&order0=$order\">Dernier accès</a></th></tr>";
foreach($tab_dir as $elem) {
echo '<tr><td><img src="images/dir-close.gif" /> '.$elem['name'].
'</td><td> </td>
<td> </td><td> </td>
<td>'.date("d/m/Y H:i:s", $elem['date']).'</td><td> </td>
<td>'.assocType($elem['type']).'</td><td> </td>
<td> </td><td> </td>
<td>'.$elem['perms'].'</td><td> </td>
<td>'.date("d/m/Y", $elem['access'])."</td></tr>\n";
}
foreach($tab_file as $elem) {
echo '<tr><td><img src="images/file-none.gif" /> '.$elem['name'].
'</td><td> </td>
<td align="right">'.formatSize($elem['size']).'</td><td> </td>
<td>'.date("d/m/Y H:i:s", $elem['date']).'</td><td> </td>
<td>'.assocType($elem['type']).'</td><td> </td>
<td>'.assocExt($elem['ext']).'</td><td> </td>
<td>'.$elem['perms'].'</td><td> </td>
<td>'.date("d/m/Y", $elem['access'])."</td></tr>\n";
}
echo "</table>";
closedir($dir);
}
}
/* formatage de la taille */
function formatSize($s) {
/* unités */
$u = array('octets','Ko','Mo','Go','To');
/* compteur de passages dans la boucle */
$i = 0;
/* nombre à  afficher */
$m = 0;
/* division par 1024 */
while($s >= 1) {
$m = $s;
$s /= 1024;
$i++;
}
if(!$i) $i=1;
$d = explode('.',$m);
/* s'il y a des décimales */
if($d[0] != $m) {
$m = number_format($m, 2, ',', ' ');
}
return $m.' '.$u[$i-1];
}
/* formatage du type */
function assocType($type) {
/* tableau de conversion */
$t = array(
'fifo' => 'file',
'char' => 'fichier spécial en mode caractère',
'dir' => 'dossier',
'block' => 'fichier spécial en mode bloc',
'link' => 'lien symbolique',
'file' => 'fichier',
'unknown' => 'inconnu'
);
return $t[$type];
}
/* description de l'extention */
function assocExt($ext) {
$e = array(
'' => "inconnu",
'doc' => "Microsoft Word",
'xls' => "Microsoft Excel",
'ppt' => "Microsoft Power Point",
'pdf' => "Adobe Acrobat",
'zip' => "Archive WinZip",
'txt' => "Document texte",
'gif' => "Image GIF",
'jpg' => "Image JPEG",
'png' => "Image PNG",
'php' => "Script PHP",
'php3' => "Script PHP",
'htm' => "Page web",
'html' => "Page web",
'css' => "Feuille de style",
'js' => "JavaScript"
);
if(in_array($ext, array_keys($e))) {
return $e[$ext];
} else {
return $e[''];
}
}
function cmp_name($a,$b) {
global $asc;
if ($a['name'] == $b['name']) return 0;
if($asc == 'a') {
return ($a['name'] < $b['name']) ? -1 : 1;
} else {
return ($a['name'] > $b['name']) ? -1 : 1;
}
}
function cmp_size($a,$b) {
global $asc;
if ($a['size'] == $b['size']) return cmp_name($a,$b);
if($asc == 'a') {
return ($a['size'] < $b['size']) ? -1 : 1;
} else {
return ($a['size'] > $b['size']) ? -1 : 1;
}
}
function cmp_date($a,$b) {
global $asc;
if ($a['date'] == $b['date']) return cmp_name($a,$b);
if($asc == 'a') {
return ($a['date'] < $b['date']) ? -1 : 1;
} else {
return ($a['date'] > $b['date']) ? -1 : 1;
}
}
function cmp_access($a,$b) {
global $asc;
if ($a['access'] == $b['access']) return cmp_name($a,$b);
if($asc == 'a') {
return ($a['access'] < $b['access']) ? -1 : 1;
} else {
return ($a['access'] > $b['access']) ? -1 : 1;
}
}
function cmp_perms($a,$b) {
global $asc;
if ($a['perms'] == $b['perms']) return cmp_name($a,$b);
if($asc == 'a') {
return ($a['perms'] < $b['perms']) ? -1 : 1;
} else {
return ($a['perms'] > $b['perms']) ? -1 : 1;
}
}
function cmp_type($a,$b) {
global $asc;
if ($a['type'] == $b['type']) return cmp_name($a,$b);
if($asc == 'a') {
return ($a['type'] < $b['type']) ? -1 : 1;
} else {
return ($a['type'] > $b['type']) ? -1 : 1;
}
}
function cmp_ext($a,$b) {
global $asc;
if ($a['ext'] == $b['ext']) return cmp_name($a,$b);
if($asc == 'a') {
return ($a['ext'] < $b['ext']) ? -1 : 1;
} else {
return ($a['ext'] > $b['ext']) ? -1 : 1;
}
}
?>
<table border="1" cellspacing="0" cellpadding="10" bordercolor="gray">
<tr valign="top"><td>
<!-- liste des répertoires
et des sous-répertoires -->
<?php
if(!in_array($order, array('name','date','size','perms','ext','access','type')))
{
$order = 'name';
}
if(($order == $order0) && ($asc != 'b')) {
$asc = 'b';
} else {
$asc = 'a';
}
/* lien sur la racine */
if(!$dir) {
echo "<img src=\"images/dir-open.gif\" /> /<br />\n";
} else {
echo
"<img src=\"images/dir-close.gif\" /> <a href=\"".$_SERVER['PHP_SELF'].
"\">/</a><br" .
" />\n";
}
list_dir($BASE, rawurldecode($dir), 1);
?>
</td><td>
<!-- liste des fichiers -->
<?php
/* répertoire initial à  lister */
if(!$dir) {
$dir = $BASE;
}
list_file(rawurldecode($dir));
?>
</td></tr>
</table>

      Fonctions du code - Doc officielle PHP

   php.net  
Description
Versions PHP
    array
Crée un tableau
PHP 4, 5, 7 et 8
    array_keys
Retourne toutes les clés ou un ensemble des clés d'un tableau
PHP 4, 5, 7 et 8
    closedir
Ferme le pointeur sur le dossier
PHP 4, 5, 7 et 8
    count
Compte tous les éléments d'un tableau ou dans un objet Countable
PHP 4, 5, 7 et 8
    date
Formate un horodatage Unix
PHP 4, 5, 7 et 8
    echo
Affiche une chaîne de caractères
PHP 4, 5, 7 et 8
    explode
Scinde une chaîne de caractères en segments
PHP 4, 5, 7 et 8
    fileatime
Renvoie la date à laquelle le fichier a été accédé pour la dernière fois
PHP 4, 5, 7 et 8
    filemtime
Lit la date de dernière modification du fichier
PHP 4, 5, 7 et 8
    fileperms
Lit les droits d'un fichier
PHP 4, 5, 7 et 8
    filesize
Lit la taille d'un fichier
PHP 4, 5, 7 et 8
    filetype
Retourne le type de fichier
PHP 4, 5, 7 et 8
    in_array
Indique si une valeur appartient à un tableau
PHP 4, 5, 7 et 8
    isset
Détermine si une variable est déclarée et est différente de null
PHP 4, 5, 7 et 8
    is_dir
Indique si le fichier est un dossier
PHP 4, 5, 7 et 8
    number_format
Formate un nombre pour l'affichage
PHP 4, 5, 7 et 8
    opendir
Ouvre un dossier en lecture
PHP 4, 5, 7 et 8
    preg_match
Effectue une recherche de correspondance avec une expression rationnelle standard
PHP 4, 5, 7 et 8
    rawurldecode
Décode une chaîne URL
PHP 4, 5, 7 et 8
    rawurlencode
Encode une chaîne en URL, selon la RFC 3986
PHP 4, 5, 7 et 8
    readdir
Lit une entrée du dossier
PHP 4, 5, 7 et 8
    return
Retourne le controle du programme au module appelant
PHP 4, 5, 7 et 8
    usort
Trie un tableau en utilisant une fonction de comparaison
PHP 4, 5, 7 et 8

[9]

  • avatar

    Administrateur

    03 Sept 2019 à 20:20

    images/dir-open.gif ET images/dir-close.gif  ET images/file-none.gif ..... Ne sont pas dispo sur le site, a vous de les ajouter.

  • avatar

    Invité

    03 Sept 2019 à 18:30

    Bonjour, "Utilise images, voir les liens en bas du code."
    Je ne trouve pas les liens pour les images. Peut-etre une incompréhension de ma part, peut-etre un lien qui a sauté lors d'une mise a jour. En tout cas trés utile quand je fais une démo et que j'oublie ou se trouve tel fichier ou image ; je lance "discretement" dans un autre onglet le prog. Néanmoins, je vais ajouter une clé d'accés pour ne pas faciliter le travail d'un éventuel curieux !! Merci

  • avatar

    KOogar

    04 Jan 2011 à 03:09

    essaye :
    if(preg_match("/$file.'\/'/", $cur.'/', $matches))

  • avatar

    Invité

    03 Jan 2011 à 18:34

    Voila j'ai un problème avec le script !! Car la fonction EREG() n'est plus supporter !! Je l'ai remplacer pas PREG-MATCH() mais ça beug!! 

  • avatar

    Invité

    14 Mai 2009 à 16:57

    Salut,
    le script est nickel, sauf que j'ai des messages d"erreur aussi !
    Je me penche la dessus !
    Est-il possible de rendre les noms de fichiers qui apparaissent à droites interactif via des liens hypertextes ?
    D'avance merci.

  • avatar

    Scoubidou

    21 Août 2005 à 14:28

    Depuis hier je me casse la tete a faire un lien pour les fichier, mais je n'arrive pas a mettre le /, a tu une solution a me proposer ?

  • avatar

    Scoubidou

    20 Août 2005 à 13:49

    dsl pour le double post sa a bugger :(

    sinon j'ai trouver l'erreur pour $BASE = '../'; , j'ai mis :
    $BASE = 'g:\neeweb\sites\scoubidou\';

  • avatar

    Laurent

    20 Août 2005 à 04:46

    Ce script est nickel !! Voir ++
    regarde la base, j'ai modifier en :
    $BASE = '../';
    + clair pour les débutants ^^
    ..ce qui est plus juste si tu met le script à la racine, mais bon c'est la BASE du webmastering que de connaitre les chemins : ../../../

    Merci pour l'info des icones, ^^
    ++

  • avatar

    Scoubidou

    20 Août 2005 à 00:20

    Le lien de dl ne marche pas ;)

    sinon sa m'affiche qu'un "/" dans un tableau oO

Minimum 10 mots. Votre commentaire sera visible après validation.


 Autres snippets qui pourraient vous intéresser

Calcul la taille de répertoires et sous répertoires

Compatibilité : PHP 5, PHP 7, PHP 8

Cette fonction permet de connaitre la taille d'une répertoire. La fonction va calculer le poids de tout les fichiers contenu dans le répertoire.

Effacer un repertoire et ses sous repertoires - PHP Sources

Compatibilité : PHP 5, PHP 7, PHP 8

Ce script permet d'effacer un répertoire dan sa totalité même s'il contient des fichiers ou des dossiers .

* Requêtes exécutées avec Recherche Contextuelle

  Les derniers scripts PHP / MySQL

PmWiki 2.5.9

logo PmWiki
Langue langue fr
Date  hier
Taille 0.68 Mo
Catégorie Wiki

CubeCart 6.6.2

logo CubeCart
Langue langue en
Date 16 Avril 2026
Taille 16 Mo
Catégorie Ecommerce

Magepattern 1.1

logo Magepattern
Langue langue fr
Date 15 Avril 2026
Taille 6 Mo
Catégorie CMS

PHP 8.5.5

logo PHP
Langue langue us
Date 12 Avril 2026
Taille 32 Mo
Catégorie PHP

PHP 8.4.20

logo PHP
Langue langue us
Date 12 Avril 2026
Taille 30 Mo
Catégorie PHP

Serendipity 2.6.0

logo Serendipity
Langue langue fr
Date 11 Avril 2026
Taille 15 Mo
Catégorie Blogs
avatar

Mathieu

  01 Sept 2004

  SOURCE   Télécharger

Information sur les mises à jour

Dernière mise à jour :

07 Août 2019
refactoring du code en PHP 7
fonctionnement du code vérifié
correction du code
amélioration du code
modification de la description

33 476 Vues
Compatibilité du code
PHP 5, PHP 7, PHP 8
53 codes

Catégorie :  Fichiers-répertoires

Affiche la taille d'un fichier en Ko, Mo, Go, To, Po, Eo, Zo
Affiche une citation au hasard
Affiche une ligne d'un fichier de manière aléatoire
Afficher le code source d'un fichier PHP
Ajoute des lignes au début de vos fichiers textes
Calcul et affiche le nombre de ligne de plusieurs fichiers
Calcul la taille d'un dossier en Octet
Calcul la taille de répertoires et sous répertoires
Change le chmod d'un fichier par FTP
Compresse et décompresse un fichier
Compte le nombre de fichiers d'un répertoire
Compte le nombre de ligne
Copie du contenu d'un dossier en conservant l'arborescence
Copie récursive de dossiers
Copier des fichiers d'1 serveur à1 autre serveur
Création massive de fichiers zip à partir d'une table SQL
Créer un nouveau fichier
Créer un nouveau répertoire
Créer une arborescence récursivement
Découpe des fichiers volumineux
Découpe le path d'1 fichier
Déplace le pointeur de lignes
Déplace un dossier avec sous répertoires
Déplace un fichier dans un autre répertoire
Efface un répertoire et ses sous répertoires
Extrait les adresses emails d'un fichier texte
Indique si 1 répertoire existe sinon il le créer
Interprète du code PHP dans un fichier HTML
Limite la vitesse de download d'un fichier zip
Lire le contenu d'un fichier avec fopen
Lire le contenu d'un fichier ligne par ligne
Liste des répertoires et sous-répertoires
Liste un répertoire
Liste un répertoire par date
Liste un répertoire par ordre alphabétique
Liste un répertoire selon une extension
Mise en cache d'un site
Modifications dans plusieurs fichiers
Modifie massivement le contenu de fichiers texte
Obtenir l'extension d'un fichier
Obtenir l'extention d'un fichier d'une url
Réécrire un fichier en partant de la fin
Régule la vitesse de téléchargement d'un fichier local
Recherche une chaine de caractère dans un fichier
Remplace les balises BR par des \n
Renommer l'extension de fichiers
Supprime des fichiers selon une date
Supprime l'extension d'un fichier
Téléchargement de fichiers zip avec compteur
Upload basique + Formulaire
Upload Multi classe + Formulaire
Upload Multi tout type de fichiers + formulaire
Vide un répertoire de tous ses fichiers