2013-07-03 54 views
1

我正在處理其他人的PHP代碼,無法找到某個內容的源文件。我正在尋找一個解決方案,使我能夠輕鬆訪問網站上顯示的任何文件的文件名。我做了一些研究,但不知道如何處理這個問題,並希望爲網站的CSS找到類似Firebug的東西。查看網站內容文件名的最簡單方法是什麼?

I found this

的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

您需要解析HTML源代碼並尋找標籤,如img src,href等。 –

+0

您是否可以不搜索文件系統? – sgroves

+0

如果網站使用的是mod_rewrite或其他重寫規則,您可能會發現頁面的URL位置與服務器端應用程序文件沒有多大關係。 – dethtron5000

回答

0

簡短的回答:不可能。

龍答:

哪個文件生成你要找的內容取決於許多因素。對於一個簡單的系統,它可以是1:1的文件名到url映射,如/index.php=> DOCUMENT_ROOT/index.php,而對於更復雜的系統,單行輸出可能由數千個文件產生,每個文件打印一個字符。即使您的網址與xyz.css類似,它仍然可能由.php文件生成,或者甚至是以.xyz結尾的文件,或者根本沒有文件擴展名。

最流行的CMS系統已經使用某種類型的URL路由/ Apache(/無論Web服務器)重寫,並且不知道任何關於你所談論的系統(你並沒有真正提供很多信息),這是完全不可能的給出一個正確的答案。如果你有更多關於你正在查看的系統的信息(編程語言應該是php - 是否有一些框架使用了?php擴展?一些php cms?也許它是混合php和其他語言?哪個web服務器? apache/lighttpd/...是否有重寫/ url路由到位?......)您可能會得到更好的答案。

相關問題