⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scan.php

📁 HTMLArea的免费版
💻 PHP
字号:
<?php    // /home/username/foo/public_html/    $dir          = $_SERVER['DOCUMENT_ROOT'];    $include      = '/\.(php|shtml|html|htm|shtm|cgi|txt|doc|pdf|rtf|xls|csv)$/';    $exclude      = '';    $dirinclude   = '';    $direxclude   = '/(^|\/)[._]|htmlarea/'; // Exclude the htmlarea tree by default    $hash = '';    foreach(explode(',', 'dir,include,exclude,dirinclude,direxclude') as $k)    {      if(isset($_REQUEST[$k]))      {        if(get_magic_quotes_gpc())        {          $_REQUEST[$k] = stripslashes($_REQUEST[$k]);        }        $hash .= $k . '=' . $_REQUEST[$k];        $$k = $_REQUEST[$k];      }    }    if($hash)    {      session_start();      if(!isset($_SESSION[sha1($hash)]))      {        ?>        [ ];        <?php        exit;      }    }    function scan($dir, $durl = '')    {      global $include, $exclude, $dirinclude, $direxclude;      static $seen = array();      $files = array();      $dir = realpath($dir);      if(isset($seen[$dir]))      {        return $files;      }      $seen[$dir] = TRUE;      $dh = @opendir($dir);      while($dh && ($file = readdir($dh)))      {        if($file !== '.' && $file !== '..')        {          $path = realpath($dir . '/' . $file);          $url  = $durl . '/' . $file;          if(($dirinclude && !preg_match($dirinclude, $url)) || ($direxclude && preg_match($direxclude, $url))) continue;          if(is_dir($path))          {            if($subdir = scan($path, $url))            {              $files[] = array($url, $subdir);            }          }          elseif(is_file($path))          {            if(($include && !preg_match($include, $url)) || ($exclude && preg_match($exclude, $url))) continue;            $files[] = $url;          }        }      }      @closedir($dh);      return dirsort($files);    }    function dirsort($files)    {      usort($files, 'dircomp');      return $files;    }    function dircomp($a, $b)    {      if(is_array($a)) $a = $a[0];      if(is_array($b)) $b = $b[0];      return strcmp(strtolower($a), strtolower($b));    }    function to_js($var, $tabs = 0)    {      if(is_numeric($var))      {        return $var;      }      if(is_string($var))      {        return "'" . js_encode($var) . "'";      }      if(is_array($var))      {        $js = array();        foreach($var as $k => $v)        {          $js[] = to_js($v, $tabs + 1);        }        return "[\n" . tabify(implode(",\n", $js), $tabs) . "\n]";      }      return 'null';    }    function tabify($text, $tabs)    {      if($text)      {        return str_repeat("  ", $tabs) . preg_replace('/\n(.)/', "\n" . str_repeat("  ", $tabs) . "\$1", $text);      }    }    function js_encode($string)    {      static $strings = "\\,\",',%,&,<,>,{,},@,\n,\r";      if(!is_array($strings))      {        $tr = array();        foreach(explode(',', $strings) as $chr)        {          $tr[$chr] = sprintf('\x%02X', ord($chr));        }        $strings = $tr;      }      return strtr($string, $strings);    }    echo to_js(scan($dir));?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -