Guardar directorio y archivos en array multidimensional
Publicado por Nicolás (24 intervenciones) el 08/11/2016 21:03:58
Hola. Estoy trabajando en un código que me permita guardar directorios y archivos en un array multidimensional. La idea es guardar los subdirectorios y archivos en un array a través de una función opendir como $array [$is_dir] [$is_file]. Tengo un código preliminar:
pero me arroja este error:
Notice: Undefined variable: listDir in C:\xxx.php
Gracias por vuestra ayuda.
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
<!DOCTYPE html>
<html>
<head>
<title>Dir en array</title>
<meta charset="utf-8">
</head>
<body>
<?php
//función para obtener el nombre de las carpetas y los archivos en array multidimensional
function dirToArray($dir) {
//creo un array
$listDir = array();
//abro los directorios contenidos en $dir
if($handler = opendir($dir)) {
//leo todos los elementos contenidos
while (($file = readdir($handler)) !== FALSE) {
//verifico que hayan elementos
if ($file != "." && $file != "..") {
/*si los elementos son archivos, guardo los elementos
en algún indice (dimensión) del array*/
if(is_file($dir."/".$file)) {
$listDir[] = $file;
/*si los elementos son directorios, guardo los elementos
en otro índice o dimensión, repitiendo hasta que hayan elementos*/
}elseif(is_dir($dir."/".$file)){
$listDir[$file] = dirToArray ($dir."/".$file);
}
}
}
closedir($handler);
}
return $listDir;
}
$dir = "xxx/";
dirToArray($dir);
echo $listDir[2][1];
?>
</body>
</html>
pero me arroja este error:
Notice: Undefined variable: listDir in C:\xxx.php
Gracias por vuestra ayuda.
Valora esta pregunta


0