2013-07-10 97 views
5

我试图使用来从URL当前文件名:获取当前文件名时,只有文件夹路径被称为

$currentFile = window.location.pathname.split("/").pop(); 

此工作正常,如果完整路径是一样的东西:

http://www.yoursite.com/folder/index.php 

将返回的index.php,index.cfm,index.html的等

但是当网址http://www.yoursite.com/folder/

我无法检索当前的文件名,这是可能通过js或jQuery?

+0

否,因为默认索引文件是Web服务器中的设置。你可以做一个假设,只是说它是index.html,如果你正在加载一个文件夹... – Populus

+0

该URL没有文件名可以得到。你能解释你为什么试图这样做吗? – loganfsmyth

+0

是的,我使用jQuery来显示/隐藏特定文件夹结构/联系人中的元素,但不是index.php文件,或仅用于index.php文件。 – lharby

回答

5

如果您只有URL中的路径,那么您无法从中获取文件名 - 不使用jQuery,也不使用任何其他客户端方法。这是因为只有发送这个文件的服务器知道这个文件是什么。具体来说,在Web服务器配置中,有一个指令,指示只有指定目录名称时要搜索的文件名。例如,在阿帕奇这可能是

DirectoryIndex index.html index.php home.htm 

这告诉了只有一个目录请求命名服务器将尝试从该目录服务文件index.html服务器;如果不存在,则index.php;如果那也不存在那么home.htm。如果那个也不存在,那么行为取决于其他配置选项。其他Web服务器软件具有相似的配置选项。

因此,当您向服务器发送类似http://www.yoursite.com/folder/的请求时,只有该服务器才会知道实际使用的文件。

+0

优秀的答案,谢谢澄清。 – lharby

+0

伟大的问答,自己学到了东西,+1谢谢 – Anil

相关问题