Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP, как толком получить релятивный адрес / 11 сообщений из 11, страница 1 из 1
04.02.2013, 16:05
    #38136509
ccoder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP, как толком получить релятивный адрес
Как толком получить релятивный адрес, если сам файл
http://127.0.0.1:8888/aaaa/houses_list.php
а css находится
http://127.0.0.1:8888/aaaa/css/theme.css
нужно именно получить
http://127.0.0.1:8888/aaaa/ и прибавить css/theme.css соотвественно.

так а как получить http://127.0.0.1:8888/aaaa/ я так и ненашел толком
пишут что есть какойто base_url(), но не работает
из $_SERVER тоже нельзя вытянуть именно http://127.0.0.1:8888/aaaa/, а http://127.0.0.1:8888/ есть

Вообше как толком это дело сделано в движках?
Т.е. сама суть какая? (так реализацию можно и самому посмотреть)
...
Рейтинг: 0 / 0
04.02.2013, 16:23
    #38136574
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP, как толком получить релятивный адрес
./css/theme.css
...
Рейтинг: 0 / 0
04.02.2013, 18:46
    #38136898
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP, как толком получить релятивный адрес
возможно удобно будет использовать тег BASE
...
Рейтинг: 0 / 0
05.02.2013, 08:52
    #38137332
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP, как толком получить релятивный адрес
ccoderиз $_SERVER тоже нельзя вытянуть именно http://127.0.0.1:8888/aaaa/, а http://127.0.0.1:8888/ есть

ну в однмо индексе http://127.0.0.1:8888/ а в другом /aaaa/houses_list.php для второго примените basedir и конкатинируйте
...
Рейтинг: 0 / 0
05.02.2013, 09:48
    #38137391
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP, как толком получить релятивный адрес
Можно поглядеть как это в Yii, например, реализовано. Он сам определяет этот путь.
...
Рейтинг: 0 / 0
05.02.2013, 10:10
    #38137429
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP, как толком получить релятивный адрес
ccoder,

Код: php
1.
2.
$url = 'http://127.0.0.1:8888/aaaa/houses_list.php';
$css = dirname($url).'/css/theme.css';


а в чем проблема? я чегото непонимаю?
...
Рейтинг: 0 / 0
05.02.2013, 10:20
    #38137448
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP, как толком получить релятивный адрес
А если ЧПУ?
...
Рейтинг: 0 / 0
05.02.2013, 11:03
    #38137520
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP, как толком получить релятивный адрес
Hett,

ЧПУ для css? это чтото новое
...
Рейтинг: 0 / 0
05.02.2013, 11:24
    #38137568
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP, как толком получить релятивный адрес
Код: php
1.
2.
$url = 'http://127.0.0.1:8888/aaaa/item/create';
$css = dirname($url).'/css/theme.css';



Подключится ли ЦСС ?
...
Рейтинг: 0 / 0
05.02.2013, 11:32
    #38137586
spider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP, как толком получить релятивный адрес
В Yii это делает вот так.

Код: php
1.
2.
3.
4.
5.
6.
	public function getBaseUrl()
	{
		if($this->_baseUrl===null)
			$this->_baseUrl=rtrim(dirname($this->getScriptUrl()),'\\/');
		return $this->_baseUrl;
	}



Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
	public function getScriptUrl()
	{
		if($this->_scriptUrl===null)
		{
			$scriptName=basename($_SERVER['SCRIPT_FILENAME']);
			if(basename($_SERVER['SCRIPT_NAME'])===$scriptName)
				$this->_scriptUrl=$_SERVER['SCRIPT_NAME'];
			elseif(basename($_SERVER['PHP_SELF'])===$scriptName)
				$this->_scriptUrl=$_SERVER['PHP_SELF'];
			elseif(isset($_SERVER['ORIG_SCRIPT_NAME']) && basename($_SERVER['ORIG_SCRIPT_NAME'])===$scriptName)
				$this->_scriptUrl=$_SERVER['ORIG_SCRIPT_NAME'];
			elseif(($pos=strpos($_SERVER['PHP_SELF'],'/'.$scriptName))!==false)
				$this->_scriptUrl=substr($_SERVER['SCRIPT_NAME'],0,$pos).'/'.$scriptName;
			elseif(isset($_SERVER['DOCUMENT_ROOT']) && strpos($_SERVER['SCRIPT_FILENAME'],$_SERVER['DOCUMENT_ROOT'])===0)
				$this->_scriptUrl=str_replace('\\','/',str_replace($_SERVER['DOCUMENT_ROOT'],'',$_SERVER['SCRIPT_FILENAME']));
			else
				throw new CException(Yii::t('yii','CHttpRequest is unable to determine the entry script URL.'));
		}
		return $this->_scriptUrl;
	}
...
Рейтинг: 0 / 0
05.02.2013, 11:35
    #38137592
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP, как толком получить релятивный адрес
HettПодключится ли ЦСС ?
ну так это надо сделать в одном месте. при инициализации. и дальше лепить к любым урлам
типа
Код: php
1.
2.
define('BASEURL', 'http://127.0.0.1:8888/aaaa/');
$css = BASEURL.'/css/theme.css';
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP, как толком получить релятивный адрес / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]