Iniciar nueva columna cuando readdir se mueve a un nuevo directorio
Edición original:
Estoy usando readdir para enganchar nombres de archivos de múltiples directorios. Me preguntaba si hay una manera de organizar los datos para que cada vez que inicie un nuevo directorio cree una nueva columna, es decir,
---| user1 | user2 | user3 |
---| file1a | file2a | file3a |
---| file1b | file2b | file3b |
---| file1c | file2c | file3c |
---| file1d | ^ | file3d |
---| file1e | | | ^ |
---| ^ | end | | |
---| | | dir2 | end |
---| end | #start | dir3 |
---| dir1 | col3 | etc. |
---| #start | | |
---| col2 | | |
Si esto es posible, sería genial. En cuanto a mostrar los nombres de usuario en la parte superior, ya tengo esa parte hacia abajo. Solo necesito saber si se puede hacer la parte de las columnas y, de ser así, cómo hacerlo.
La codificación que tengo hasta ahora es:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<table border="1">
<?php
if ($handle = opendir('Users/')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
echo '<th>';
echo "$entry\n";
echo '</th>';
}
}
}
?>
<?php
$folders = @scandir('Users');
foreach($folders as $item){
if ((substr($item, 0, 1) == '.') || (preg_match("/\.php$/", $item)))
continue;
if (is_dir("Users/$item")){
$target_folders = @scandir("Users/$item/uploaded/");
foreach($target_folders as $target_item){
if ((!preg_match("/^[.]/",$target_item)) || (!is_dir("Users/$item/uploaded/$target_item")));
if ((substr($target_item, 0, 1) == '.'))
continue;
echo '<tr>';
echo '<td>';
echo $target_item;
echo '</td>';
echo '</tr>';
}
}
}
?>
</table>
</body>
</html>