0

我正在处理别人的 PHP 代码,找不到某个内容的源文件。我正在寻找一种解决方案,它可以让我轻松访问网站上显示的任何内容的文件名。我做了一些研究,但不知道如何使用它,并希望为网站的 CSS 找到类似 Firebug 的东西。

我找到了这个

PHP是这样的:

<?PHP
function getFileList($dir)
{
// array to hold return value
$retval = array();

// add trailing slash if missing
if(substr($dir, -1) != "/") $dir .= "/";

// open pointer to directory and read list of files
$d = @dir($dir) or die("getFileList: Failed opening directory $dir for reading");
while(false !== ($entry = $d->read())) {
  // skip hidden files
  if($entry[0] == ".") continue;
  if(is_dir("$dir$entry")) {
    $retval[] = array(
      "name" => "$dir$entry/",
      "type" => filetype("$dir$entry"),
      "size" => 0,
      "lastmod" => filemtime("$dir$entry")
    );
  } elseif(is_readable("$dir$entry")) {
    $retval[] = array(
      "name" => "$dir$entry",
      "type" => mime_content_type("$dir$entry"),
      "size" => filesize("$dir$entry"),
      "lastmod" => filemtime("$dir$entry")
    );
  }
}
$d->close();

return $retval;
}
?>
4

1 回答 1

0

简短的回答:不可能。

长答案:

哪个文件生成您要查找的内容取决于许多因素。对于一个简单的系统,它可能是 1:1 的文件名到 url 映射,例如 /index.php => DOCUMENT_ROOT/index.php,对于更复杂的系统,可能会由数千个文件生成单行输出,每个文件打印一个特点。即使您的网址类似于 xyz.css,它仍可能由 .php 文件生成,甚至由以 .xyz 结尾或根本没有文件扩展名的文件生成。

大多数流行的 CMS 系统已经使用某种 url 路由 / apache ( / 不管 webserver ) 重写,并且在不了解您正在谈论的系统的任何信息(您并没有真正提供太多信息)的情况下,完全不可能给出正确的答案.

如果您获得有关您正在查看的系统的更多信息(编程语言据说是 php - 是否使用了一些框架?php 扩展?一些 php cms?也许它是混合 php 和其他一些语言?哪个网络服务器?如果是 apache/ lighttpd/... 是否有重写/url 路由?...)您可能会得到更好的答案。

于 2013-07-03T16:08:50.420 回答