| |
|
|
| | Здравствуйте форумчане!
Пишу скрипт для WAP наподобие эксплорера. Не могу сделать выход "Наверх", а точнее получить адрес папки-источника.
В переменной $url содержится текущий адрес: papka1/papka2/papka3/
Как можно получить адрес вышележащей папки (в данном случае papka1/papka2/)? | |
| |
|
|
| |
|
|
| |
для: Zauber
(20.06.2006 в 09:55)
| | | сделал так возможно есть и более простые пути
$d=substr(strrchr($act,"/"),1);
$dir=str_replace("/".$d,"",$act);
|
где $act - papka1/papka2/papka3, а $dir- papka1/papka2, только если ты в конце пути ставишь слеши ничего не получится :). | |
| |
|
|
| |
|
|
| |
для: Zauber
(20.06.2006 в 09:55)
| | | Попробуй сделать вначале так
<?
// Адрес текуще папки, чтобы не писать вручную
$nowDir = dirname(__FILE__);
// Вырежем последнюю папку
$tmp = substr(strrchr($nowDir, "/"), 1);
// Меняем последнюю папку на "пусто"
$resDir=str_replace("/".$tmp, "", $nowDir);
?>
|
| |
| |
|
|
| |
|
|
| |
для: Zauber
(20.06.2006 в 09:55)
| | | а "../" на вышележащую деректорию разве не переносит?.. | |
| |
|
|
| |
|
|
| |
для: NFR
(20.06.2006 в 12:43)
| | | насколько я знаю ../ это корневой каталог | |
| |
|
|
| |
|
|
| |
для: KPETuH
(20.06.2006 в 13:50)
| | | корневой каталог "/" , вроде бы :) | |
| |
|
|
| |
|
|
| |
для: KPETuH
(20.06.2006 в 13:50)
| | | информатику в школе учил/нет?..
или это я её забыл?.. | |
| |
|
|
| |
|
|
| |
для: NFR
(20.06.2006 в 12:43)
| | | Переносит. Но позволить юзеру удалённо открывать любой каталог я не могу. Потому в начале скрипта режу попытки таким образом выйти на несколько уровней выше.
Способ от KPETuH вполне рабочий :) Пока буду юзать его, выявляя недостатки. | |
| |
|
|
| |
|
|
| |
для: Zauber
(20.06.2006 в 09:55)
| | | и еще как вариант можно вот так попробовать:
$dir1 = dirname(__FILE__);
chdir ('../');
$dir2 = getcwd();
chdir ($dir1);
|
если "папки" на самом деле папки... а не результат мод реврайт | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(20.06.2006 в 14:29)
| | | Способ от mihdan заработал сразу :)
Только один недостаток неверно обрабатывает строки вида: /111/11/111111 (возвращает 1, вместо /111/11). | |
| |
|
|
| |
|
|
| |
для: Zauber
(20.06.2006 в 15:48)
| | | Всем спасибо!
Проблему разрулил так:
В $url адрес папки
$tmp = substr(strrchr($url, '/'), 1);
$length = strlen($tmp);
$updir = substr($url,0,-$length-1);
|
В $updir адрес папки на 1 уровень выше. | |
| |
|
|