|
|
|
| Подскажыте есть ли функции или библиотеки для логической склепки урлов.
Например:
http://site.ru/ -- page/index.php >> http://site.ru/page/index.php
http://site.ru/ -- index.php>> http://site.ru/index.php
http://site.ru/page/ -- /page2/index.php >> http://site.ru/page/page2/index.php
http://site.ru/page/ -- ../index.php >> http://site.ru/index.php
наперед спасибо | |
|
|
|
|
|
|
|
для: okey
(17.07.2007 в 01:14)
| | У Вас есть обе части URL'а? Какие проблемы? Символ конкатенции в PHP - "." (точка):
<?php
$url = $part1 . $part2;
?>
|
| |
|
|
|
|
|
|
|
для: okey
(17.07.2007 в 01:14)
| | Если необходимо отредактировать строки перед "склейкой" воспользуйтесь функцией substr_replace ( string string, string replacement, int start [, int length] ) | |
|
|
|
|
|
|
|
для: okey
(17.07.2007 в 01:14)
| | parse_url()
pathinfo()
realpath()
Конкатенация строк (либо подстановка переменных)
2Петр: и никаких substr_replace. В общем случае вы понятия не имеете, в каком месте substr найдет тот или иной шаблон поиска. | |
|
|
|
|
|
|
|
для: Trianon
(17.07.2007 в 09:53)
| | А как в таком случае делать
http://site.ru/page/xxx/ -- ../../index.php >> http://site.ru/index.php | |
|
|
|
|
|
|
|
для: Okey
(17.07.2007 в 15:02)
| | разобрать URL на составляющие.
сцепить путь из URL и второй (относительный) путь
применить realpath - получить нормализованный путь.
собрать URI из составляющих.
Впрочем, realpath похоже работает в контексте файловой системы сервера...
Ну тогда значит еще DOCUMENT_ROOT дописать придется. | |
|
|
|
|
|
|
|
для: Trianon
(17.07.2007 в 15:09)
| | Не DOCUMENT_ROOT, а http://site.ru | |
|
|
|
|
|
|
|
для: Unkind
(17.07.2007 в 15:14)
| | если бы... | |
|
|
|
|
|
|
|
для: Trianon
(17.07.2007 в 15:16)
| | Ну а при чем тут DOCUMENT_ROOT вообще? :) | |
|
|
|
|
|
|
|
для: Unkind
(17.07.2007 в 15:18)
| | ============
Описание
string realpath ( string path )
realpath() раскрывает все символические ссылки, переходы типа '/./', '/../' и лишние символы '/' в пути path, возвращая канонизированный абсолютный путь к файлу. В этом пути не будет символических ссылок и компонентов типа '/./' или '/../'.
realpath() возвращает FALSE при неудаче, например если файл не существует
==============
Отсюда можно сделать вывод, что realpath не просто комбинирует куски имен каталогов но и обращается к файловой системе.
Корень файловой системы живет в DOCUMENT_ROOT.
[ Если разбирается сервер отличный от собственного, задача вырождается в кражу контента и становится мне неинтересной. :) ] | |
|
|
|
|
|
|
|
для: Trianon
(17.07.2007 в 15:21)
| | Если разбирается сервер отличный от собственного, задача вырождается в кражу контента и становится мне неинтересной.
Вероятнее всего, но есть вообще вещь, из-за которой такое приходится делать (URL сформировывать, а не воровать контент). | |
|
|
|
|
|
|
|
для: Unkind
(17.07.2007 в 15:32)
| | Для этого случая, вероятно, придется руками написать функцию, нормализующую путь. | |
|
|
|