2014-01-28 18 views
0

我想知道是否有方法列出所有我的客户端文件夹从一个PHP文件,但因为即时通讯运行在Drupal网站上,当我去他们的客户端文件夹的位置网站,我得到一个404页面,因为它认为它是一个drupal页面,我正在寻找..因此,我想让它试图登陆的页面,并使该页面列出该网址的文件夹。自动列出服务器上的一个位置的所有文件夹

URL是simplemedia.dk/kunder/ - 而不是列出所有子文件夹它显示了你可以看到..

如果我输入完整网址simplemedia.dk/kunder/merkur我得到客户的网站作为即时通讯应该。

我觉得PHP是我需要的东西。

请帮忙?

回答

0

Martin149的在正确的轨道上的所有文件的列表。由于您似乎只想列出子文件夹,glob有一个GLOB_ONLYDIR标志。这将忽略目录中的所有文件,并且因为您想将PHP脚本放在kunder目录中,所以这里不会显示(因为您只查找目录)。

<ul> 
<?php foreach (glob("*", GLOB_ONLYDIR) as $dir): ?> 
    <li><a href='./<?php echo $dir ?>'><?php echo $dir ?></a></li> 
<?php endforeach; ?> 
</ul> 
+0

这似乎工作对我来说我想要的方式..除了现在它显示列表中的根文件夹,但我希望它显示一个子文件夹..我在哪里添加子文件夹路径?我希望显示的列表的路径。 – Sillo

+0

glob的第一个参数“\ *”是过滤器。所以你可以修改它为例如glob(“kunder/*”,GLOB_ONLYDIR)。 –

+0

当我使用提供的代码时,它只显示“kunder”作为链接,我希望它显示“kunder”的内容,该文件仅用于安装文件夹。 – Sillo

0
<?php 
foreach (glob("*") as $filename) { 
    echo "<a href='./{$filename}'>{$filename}</a><br />\n"; 
} 
?> 

这应该输出在指定目录

2

您的.htaccces文件中的条目应该足以使其工作。把你的客户站点放在一个子文件夹中,这样url就像simplemedia.dk/kunder/clients/merkur。

首先,修改的Drupal的.htaccess

# don't rewrite urls like this 
RewriteCond %{REQUEST_URI} "/clients/" 
RewriteRule (.*) $1 [L] 

然后添加一个.htaccess文件到您的客户提供此项

Options +Indexes 

这将列出目录文件夹的内容。只要您在该目录中只有客户端文件夹,您就不必担心将列表限制为目录。

我只是跑了一个快速测试,而Alex的代码是正确的,它不会运行在没有一些.htaccess魔法的Drupal站点上下文中。内置的重写规则仍然会修改请求,Drupal会给你一个404页面。

相关问题