2012-08-28 88 views
1

我想知道如何得到一個互聯網網址不包含文件名的文件名結尾。獲取URL的文件名時,URL以「/」

例如 「http://www.google.com/」。我如何獲得「index.html」?

感謝您的幫助!

+6

然後你覺得這有點棘手。如果默認文檔是** not **'index.html'會怎麼樣?只有服務器知道肯定!更好的是......你怎麼知道它甚至代表一個文件?它畢竟只是一個URI ... –

+1

你不能確定你正在接收的頁面是一個物理文件。實際上,如今,瀏覽器收到的大部分資源都是*邏輯*而不是*物理*。 –

+0

誰說有*文件? –

回答

1

你不能做到這一點的兩點意見作爲解釋的問題

  1. 文件本身可能的index.htm,index.html的,的index.php,的index.asp或任何其他。你不知道該文件是什麼。

  2. 如果網站使用框架,指出了@andrecalil文件可能不存在的文件,但重定向到一個完全不同的文件名。你可以做到這一點把所有這些可能文件名在數組中,並使用像cURL(PHP函數)的功能,看是否返回任何內容

的一種方式。如果是這樣,那就意味着使用文件名,否則,該特定文件不被使用。對於像WordPress這樣的網站,這種方法可能不起作用,因爲它們不使用物理文件。他們使用重定向(我相信)。

這只是一種可能的方法。

1
string fileNameILike = "index.html" 

如果有網址的任何文件名段比沒有文件名,你可以從URL獲得 - 只要發明之一,如果你有(即保存在客戶端的文件)。大多數服務器框架甚至沒有物理文件支持特定的URL。

+0

如果我知道MIME類型,我可以在邏輯上使用它來獲得更準確的猜測嗎? – Keeper

+0

不是真的......我可以'something.com/myfile.jpg'返回不是'image/jpeg'的東西,所以擴展名不能保證文件類型,反之亦然。爲什麼你需要知道文件名? –