function scandir_recursive( $dir ) { $flist = array(); $directory = realpath( $dir )."/"; $i = 0; foreach( scandir( $directory ) as $folderItem ) { if( $folderItem != '.' && $folderItem != '..' ) { if( is_dir( $directory.$folderItem.'/' ) ) { foreach( $this->scandir_recursive( $directory. $folderItem ) as $fname => $fdata ) $flist[$fname] = $fdata; } else { $fname = substr( $directory, strlen( '/downloads/' ) ).$folderItem; $flist[$fname]['name'] = $folderItem; $flist[$fname]['full_path'] = substr( $directory, strlen( '/downloads/' )); $flist[$fname]['size'] = filesize( $directory.'/'.$folderItem ); $flist[$fname]['mod_time'] = filemtime( $directory.'/'.$folderItem ); $flist[$fname]['type'] = ( is_dir( $directory.'/'.$folderItem ) ? 1 : 0 ); } } $i++; } return $flist; }