note 115645 added to function.readdir

From: Date: Sun, 31 Aug 2014 18:10:33 +0000
Subject: note 115645 added to function.readdir
Groups: php.notes 
Request: Send a blank email to php-notes+get-200350@lists.php.net to get a copy of this message
this function recurrsively goes to a particular depth and stops after the depth is reached. function read_path($root = '.', $depth = 1) { if($depth == 0) { return; } $last_letter = $root[strlen($root)-1]; $root = ($last_letter == '\\' || $last_letter == '/') ? $root : $root.DIRECTORY_SEPARATOR; $files = array('files'=>array(), 'dirs'=>array()); if ($handle = opendir($root)) { while (false !== ($file = readdir($handle))) { if ($file == '.' || $file == '..') { continue; } $file = $root.$file; if (is_dir($file)) { $directory_path = $file.DIRECTORY_SEPARATOR; $files['dirs'][$directory_path] = NULL; } elseif (is_file($file)) { $files['files'][] = $file; } } closedir($handle); } $done = [$root=>$files]; foreach ($done[$root]['dirs'] as $key=>$value) { $done[$root]['dirs'][$key] = $this->read_path($key, $depth-1); } return $done[$root]; } ---- Server IP: 72.52.91.14 Probable Submitter: 59.180.58.187 ---- Manual Page -- http://php.net/manual/en/function.readdir.php Edit -- https://master.php.net/note/edit/115645 Del: integrated -- https://master.php.net/note/delete/115645/integrated Del: useless -- https://master.php.net/note/delete/115645/useless Del: bad code -- https://master.php.net/note/delete/115645/bad+code Del: spam -- https://master.php.net/note/delete/115645/spam Del: non-english -- https://master.php.net/note/delete/115645/non-english Del: in docs -- https://master.php.net/note/delete/115645/in+docs Del: other reasons-- https://master.php.net/note/delete/115645 Reject -- https://master.php.net/note/reject/115645 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#200350) next »