2016-02-11 2 views
1

Я получил строку, которая дает мне расположение чего-то:PHP: Получите часть от пути

/var/www/web1/htdocs Проблема заключается в следующем: последняя часть, возможно, изменится: Это может также быть /var/www/web1/public_html или /var/www/web1/httpdocs.

Теперь я хотел бы получить путь без последней части пути:

/var/www/web1

Как я могу это сделать?

+0

Используйте это '$ _SERVER ['DOCUMENT_ROOT'] ' – Haridarshan

+0

Привет и спасибо за ваш ответ. Нет, это не работает, потому что путь не имеет ничего сделать сам скрипт. Он предоставляется пользователем. Они также могут предоставить '/ home/mydir', которые должны привести к'/home/' – MyFault

+0

, чтобы вы получили эту строку в качестве входных данных? Если это так, вы можете взорвать его с помощью '/'. И в зависимости от длины взорванного массива вы можете изменить путь с -1 значением – Haridarshan

ответ

0

Насколько я понимаю ваш вопрос, вам нужно что-то вроде этого

$url = $_SERVER['REQUEST_URI']; //your URL or PATH ENTERED BY USER. 
$parts = explode('/',$url); 
print_r($parts); 
0

.htaccess

<IfModule mod_rewrite.c> 
RewriteEngine On 
#RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php [L] 
</IfModule> 

вставки кода файла index.php

echo $_SERVER['REQUEST_URI'],"<br>",$_SERVER['HTTP_HOST'],"<br>",$_SERVER['DOCUMENT_ROOT'],'<br>',$_SERVER["SCRIPT_FILENAME"],"<br>",$_SERVER['HTTP_HOST']; 
Смежные вопросы