我正在处理其他人的PHP代码,无法找到某个内容的源文件。我正在寻找一个解决方案,让我可以轻松访问网站上显示的任何文件名。我做了一些研究,但不知道如何使用它,并希望找到像Firebug的网站的CSS。
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;
}
?>
答案 0 :(得分:0)
简短回答:不可能。
答案很长:
生成您要查找的内容的文件取决于许多因素。对于一个简单的系统,它可以是1:1文件名到url映射,如/index.php =&gt; DOCUMENT_ROOT / index.php,对于更复杂的系统,可能会有数千个文件生成一行输出,每个文件都打印一个字符。即使您的网址类似于xyz.css,它仍可能由.php文件生成,甚至可能由以.xyz结尾或根本没有文件扩展名的文件生成。
大多数流行的CMS系统已经使用某种url路由/ apache(/无论网络服务器)重写,并且不知道你正在谈论的系统(你真的没有提供太多信息),这是完全不可能的一个正确的答案。
如果你有关于你正在研究的系统的更多信息(编程语言应该是php - 是否有一些框架使用?php扩展?一些php cms?也许它是混合php和其他一些语言?哪个webserver?以防万一apache / lighttpd / ...是否有重写/ url路由到位?...)你可能会得到更好的答案。