2014-01-28 20 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頁面。

相關問題