2013-12-18 32 views
-1

我做了一個簡單的ajax文件瀏覽器。服務器上的空間是多用戶的,所以每個用戶只能訪問它的文件夾。php scandir:防止父文件夾

/all_folders/user1 
/all_folders/user2 
... 

隨着scandir我得到'。'和'..':有了這個最後的選項,他可以轉到父文件夾。如何防止這個「熱鍵」?

因爲我發送文件夾列表從PHP到JavaScript我試圖(在PHP中)刪除未設置的值與索引1從scandir結果的數組,但在此之後'。 doens't工作,所以用戶不能去以前的文件夾。

我該如何解決這個問題?

+0

你能顯示你的代碼嗎?當你使用'scandir()'時,你可以過濾'.'和'..'' – Raptor

+0

我只想過濾..但如果我用unset或array_diff過濾它。無法轉到上一個文件夾。這是正常的嗎? – newtphp

+0

您正在給其他用戶的PHP訪問權限?爲什麼? – PHPglue

回答

0

嘗試這樣

<?php 
    $dir = scandir('/path'); 

    if($baseFolder) 
    { 
     $key=array_search('..',$dir); 
     array_splice($dir, $key ,1); 
    } 
?> 

然後,你將有不同的所有文件夾「..」,也是關鍵將是爲了..

希望這有助於。