Revision: 24874
Updated Code
at March 13, 2010 14:35 by Lostindream
Updated Code
/* Reading directory contents * @param STRING $dir - Name of the directory * @param STRING $filter - Regular expression * @param BOOLEAN $type - 0 => Files and directories, 1 => Only files, 2 => Only directories * @return ARRAY|BOOLEAN - Returning array if success, else FALSE */ function dirContents($dir, $filter=null, $type=0) { $dir .= "/"; $dir = eregi_replace("[\/]+","/", $dir); if(is_dir($dir) && $d=opendir($dir)) { $files = array(); while(($file=readdir($d)) !== false) { if($file!="." && $file!="..") { if($type==1 && is_dir($dir.$file)) {continue;} if($type==2 && !is_dir($dir.$file)) {continue;} if($filter!==null && !preg_match("/".$filter."/i",$file)) {continue;} $arrayOfFiles[] = $file; } } closedir($d); sort($arrayOfFiles,SORT_LOCALE_STRING); return($arrayOfFiles); }else{return false;} }
Revision: 24873
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at March 13, 2010 14:24 by Lostindream
Initial Code
/* Reading directory contents * @param STRING $dir - Name of the directory * @param STRING $filter - Regular expression * @param BOOLEAN $type - 0 => Files and directories, 1 => Only files, 2 => Only directories * @return ARRAY|BOOLEAN - Returning array if success, else FALSE */ function dirContents($dir, $filter=null, $type=0) { $dir .= "/"; $dir = eregi_replace("[\/]+","/", $dir); if(is_dir($dir) && $d=opendir($dir)) { $files = array(); $i = 0; while(($file=readdir($d)) !== false) { if($file!="." && $file!="..") { if($type==1 && is_dir($dir.$file)) {continue;} if($type==2 && !is_dir($dir.$file)) {continue;} if($filter!==null && !preg_match("/".$filter."/i",$file)) {continue;} $arrayOfFiles[] = $file; $i++; } } closedir($d); sort($arrayOfFiles,SORT_LOCALE_STRING); return($arrayOfFiles); }else{return false;} }
Initial URL
Initial Description
Very simple to use. **Calling:** $files = dirContents(DIR_PATH, [FILTER, [TYPE]]); **Examples:** $files = dirContens("my-dir"); _$files_ is array containing all, both files either directories $files = dirContens("my-dir", "img[0-9]"); _$files_ is array containing files or directories with 'img0', 'img1', 'img2', etc. in their names $files = dirContents("my-dir/", "\.php", 1); _$files_ is array containing only files with '.php' in their names **Tip:** After calling _dirContents()_ try to call *print_r* for showing the array of files echo '<pre>'; print_r($files); echo '</pre>'; Thank you for your comments.
Initial Title
Comfortable directory contents with filters
Initial Tags
php, file, regexp, filter, directory
Initial Language
PHP