Я использую readdir для завалки имен файлов из нескольких каталогов. Мне было интересно, есть ли способ организовать данные, чтобы каждый раз, когда он запускал новый каталог, он создавал новый столбец, т.е.
---| 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 | | |
если это возможно, это было бы здорово; поскольку для отображения имен пользователей в верхней части я уже имею эту часть. Мне просто нужно знать, можно ли сделать часть столбцов, и если да, то как это сделать.
Кодирование, которое у меня есть до сих пор:
<!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>
<!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> <?php echo '<table class="table"><tr>'; $folders = @scandir('Users'); foreach($folders as $item): if ((substr($item, 0, 1) == '.') || (preg_match("/\.php$/", $item))) continue; ?> <td align="top"> <table width="220" border="1" valign="top"> <tr><th width="210" valign="top"><?php echo $item;?></th></tr> <?php 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; ?><tr><td><?php echo $target_item ;?></td></tr><?php } } ?> </table> </td> <?php endforeach; echo '</tr></table>'; ?> <style type="text/css"> td { vertical-align: top; } </style> </body> </html>