Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вопрос: Как можно автоматически определять путь до файла подставляя "../"
 
 автор: Dinya_1   (31.03.2011 в 22:50)   письмо автору
 
 

Здравствуйте. Подскажите пожалуйста Как можно осуществить следующее.


есть файл footer.php подключенный к странице www.sayt.ru/index.php
В нем выводим фоновое изображение по указанному(прямому) адресу src="img/file.gif"


После нужно подключить это же файл (footer.php) только на уровень ниже www.sayt.ru/goroda/index.php

и так как путь до изображения указан на прямую, то путь нужно изменить, на src="../img/file.gif"

Вопрос: Как можно автоматически определять путь до файла подставляя "../"

т.е сам файл (footer.php) остается в корне сайта, нужно только менять пути в нем.

p/s на данном этапе по незнанию, приходится создавать на каждом уровне (footer.php), так не удобно, и грамоздко...
Подскажите кто знает.

  Ответить  
 
 автор: cheops   (31.03.2011 в 23:03)   письмо автору
 
   для: Dinya_1   (31.03.2011 в 22:50)
 

Может проще указывать абсолютный путь к файлу, а не относительный? Т.е. вместо
src="img/file.gif"
писать
src="/img/file.gif"
тогда не нужно будет заботиться о том, на каком уровне находится footer.php.

  Ответить  
 
 автор: Dinya_1   (31.03.2011 в 23:09)   письмо автору
 
   для: cheops   (31.03.2011 в 23:03)
 

а, понял!Ё т.е. без точек. Спасибо!

  Ответить  
 
 автор: cheops   (31.03.2011 в 23:12)   письмо автору
 
   для: Dinya_1   (31.03.2011 в 23:09)
 

Локально имеется в виду на локальном хосте в произвольной папке, не являющейся DocumentRoot?

  Ответить  
 
 автор: Dinya_1   (31.03.2011 в 23:38)   письмо автору
 
   для: cheops   (31.03.2011 в 23:12)
 

>Локально имеется в виду на локальном хосте в произвольной папке, не являющейся DocumentRoot?

да, на локальном хосте.

указал обсалютный путь до файла
http://www.sayt.ru/img/file.gif


работает.

  Ответить  
 
 автор: cheops   (31.03.2011 в 23:58)   письмо автору
 
   для: Dinya_1   (31.03.2011 в 23:38)
 

А не хотите на локальном хосте воспользоваться дополнительными виртуальными хостами для проектов, вроде site.dev.

  Ответить  
 
 автор: Dinya_1   (31.03.2011 в 23:50)   письмо автору
 
   для: cheops   (31.03.2011 в 23:12)
 

Нет, оказывается не работает :(

ни так
http://www.sayt.ru/img/file.gif

ни так
/img/file.gif

  Ответить  
 
 автор: cheops   (31.03.2011 в 23:59)   письмо автору
 
   для: Dinya_1   (31.03.2011 в 23:50)
 

Должно работать, это стандартная функция, изображение точно по этому пути расположено?

  Ответить  
 
 автор: Dinya_1   (01.04.2011 в 00:40)   письмо автору
 
   для: cheops   (31.03.2011 в 23:59)
 


src="http://www.sayt.ru/img/file.gif"

Оказывается в таком виде работает, при подключенном интернете.
Тогда получается что без подключения, отладить можно будет только на "корневых страницах"...
немного не удобно, потому как можно и позабыть об этом, и долго искать причины....

а в таком виде ничего не показывает, хотя в HTML странице адрес виден.

src="/img/file.gif" 

  Ответить  
 
 автор: cheops   (01.04.2011 в 00:46)   письмо автору
 
   для: Dinya_1   (01.04.2011 в 00:40)
 

>src="/img/file.gif"
Это путь от DocumentRoot. Если у вас localhost, то эта запись эквивалентна http://localhost/img/file.gif

PS Знает как я обычно поступаю? Завожу переменную-перфикс, которую подставляю во все пути, а значение переменной вычисляю в зависимости от состояния $_SERVER['SERVER_NAME']. Обычно это позволяет решить проблему с путями на любой машине и при перемещении на любой домен, так как все можно настроить одной строкой в конфигурационном файле.

  Ответить  
 
 автор: Dinya_1   (01.04.2011 в 08:26)   письмо автору
 
   для: cheops   (01.04.2011 в 00:46)
 

Спасибо. :).

  Ответить  
 
 автор: Косорылый   (03.04.2011 в 06:49)   письмо автору
 
   для: cheops   (01.04.2011 в 00:46)
 

а почему нельзя конкретно дать директиву серверу плясать от корня RewriteBase / ?

  Ответить  
 
 автор: cheops   (03.04.2011 в 09:52)   письмо автору
 
   для: Косорылый   (03.04.2011 в 06:49)
 

Потому что у многих на локальном хосте один виртуальных хост, а не несоклько под каждый из проектов. Если под каждый из проектов выделен отдельный хост, то да, можно плясать от корня, указывая абсолютный путь.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования