Codeigniter directory_map () - PullRequest
       11

Codeigniter directory_map ()

1 голос
/ 16 апреля 2010

Я пытаюсь использовать функцию directory_map ('source directory', false) для сканирования загруженных пользователем папок / файлов. Работает и выкладывает результат в многоуровневый формат массива.

Я бы не знал, насколько глубоким будет многоуровневый массив. Как перебрать массив и отобразить его в читаемом формате (например, в тегах html (ol / ul))?

1 Ответ

0 голосов
/ 16 апреля 2010

Рекурсивные функции, блин!

Вот пример рекурсивной функции, используемой в одном из моих файлов просмотра.

            <tbody> 
                <?php function album_row($albums, $parent, $lvl) { ?>
                <?php if(isset($albums[$parent])) foreach ($albums[$parent] as $album): ?>
                    <tr>
                        <td><?php echo form_checkbox('action_to[]', $album->id); ?></td>
                <td><?php echo repeater('-- ', $lvl);?> <?php echo $album->title;?></td>
                <td><?php echo $album->num_photos;?></td>
                <td><?php echo date('M d, Y', $album->updated_on);?></td>
                <td><?php echo anchor('photos/' . $album->slug, lang('photo_albums.view_label'), 'target="_blank"') . ' | ' .
                                anchor('admin/photos/manage/' . $album->id, lang('photo_albums.manage_label')) . ' | ' .
                                anchor('admin/photos/edit/' . $album->id, lang('photo_albums.edit_label')) . ' | ' .
                                anchor('admin/photos/delete/' . $album->id, lang('photo_albums.delete_label'), array('class'=>'confirm')); ?>
                </td>
              </tr>
              <?php album_row($albums, $album->id, $lvl+1) ?>
              <?php endforeach; }?>            
              <?php album_row($albums, 0, 0); ?>
            </tbody>

Ваш будет немного отличаться, так как в основном вы хотите создать функцию, которая проверяет, является ли содержимое массивом или строкой.

Если это строка, эхо. Если это массив, снова вызовите ту же функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...