2010-04-16 4 views
1

사용자가 업로드 한 폴더/파일을 검색하기 위해 directory_map ('source directory', false) 함수를 사용하려고합니다. 그것은 작동하고 결과를 다단 배열 형식으로 침을 뱉습니다.Codeigniter directory_map()

다중 레벨 배열이 얼마나 깊은 지 알 수 없습니다. 배열을 반복하여 읽을 수있는 형식 (예 : html (ol/ul) 태그)으로 표시하려면 어떻게해야합니까?

+0

모든 (하위) 디렉토리를 태그로 표시 하시겠습니까? –

+0

안녕 Sylvio, 중첩 된 ul/ol로 표시하고 싶습니다. – aeran

답변

0

재귀 함수, whoop!

다음은 내보기 파일 중 하나에서 사용되는 재귀 함수의 예제입니다.

  <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> 

기본적으로 컨텐츠가 배열인지 문자열인지를 확인하는 함수를 만들려고합니다.

문자열 인 경우 echo. 해당 배열 인 경우 동일한 함수를 다시 호출하십시오.