Peuplarchie Posted April 5, 2009 Share Posted April 5, 2009 Good day to you all, I'm working on a piece of code which read a directory recursively and list them as an array. What I'm trying to do here is to echo only the ones with dir as "dir" as 4th key. Can somebody help me i'm fairly new with arry, specificly multidimensional array. Here is my code : <?php $dir = "Art/"; function recur_dir($dir) { $dirlist = opendir($dir); while ($file = readdir ($dirlist)) { if ($file != '.' && $file != '..') { $newpath = $dir.'/'.$file; $level = explode('/',$newpath); if (is_dir($newpath)) { $mod_array[] = array( 'level'=>count($level)-1, 'path'=>$newpath, 'name'=>end($level), 'kind'=>'dir', 'mod_time'=>filemtime($newpath), 'content'=>recur_dir($newpath) ); }else{ $mod_array[] = array( 'level'=>count($level)-1, 'path'=>$newpath, 'name'=>end($level), 'kind'=>'file', 'mod_time'=>filemtime($newpath), 'size'=>filesize($newpath) ); } } } closedir($dirlist); ksort($mod_array); return $mod_array; $key = array_search('dir', $mod_array); echo '<pre>'; echo $key; echo '</pre>'; } ?> Thanks ! Quote Link to comment Share on other sites More sharing options...
phpian Posted April 7, 2009 Share Posted April 7, 2009 sorry i've not tested this but i would do something like: foreach ($mod_array as $key => $array) { if ($array['kind'] == 'dir') { echo $key; } } Quote Link to comment Share on other sites More sharing options...
Peuplarchie Posted April 8, 2009 Author Share Posted April 8, 2009 Thanks ! That worked it out ! I understand more, but , here I'm using the array to store a recursive list of files and directories, I can"t seems to only see the file in level 3 let say, can you help me understand that ? foreach ($mod_array as $key => $array) { if ($array['level'] == '2') { echo $key; } } I can"t make it to work... Thanks ! Quote Link to comment Share on other sites More sharing options...
phpian Posted April 8, 2009 Share Posted April 8, 2009 sorry I don't understand the question. Could you rephrase it please. What are you trying to achieve and what's the problem? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.