2013-12-18 4 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); 
    } 
?> 

Тогда вы будете иметь все папки, кроме «..», а также ключи будут в порядке ..

Надеется, что это помогает.

Смежные вопросы