Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2010, 21:31   #1
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию ЧПУ и изображения

Организовал на сайте ЧПУ с помощью модуля mod_rewrite. Теперь, если урл страницы выглядит так: http://localhost/page/1/ и я хочу вставить изображение:

Код:
<img src="image.png">
то путь до изображения преобразуется в http://localhost/page/1/image.png

Естественно, по этому адресу изображения нету и оно не отображается.

Как исправить? Пробовал в хеадере прописать:

Код:
<base href="http://localhost/">
не помогло.

P.S. изображение находится в одной директории с пхп файлом, т.е. если
http://localhost/page/1/ = http://localhost/page.php?p=1, то image.png находится в одной дириктории с page.php
No name. Just Linel.
Linel вне форума Ответить с цитированием
Старый 14.09.2010, 21:51   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Абсолютный путь по URL?
Код:
<img src="http://localhost/image.png">
Andkorol вне форума Ответить с цитированием
Старый 14.09.2010, 22:01   #3
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию

Хорошо. Указываю абсолютный путь. Потом перекидываю сайт на хостинг. В итоге нужно менять путь до каждого изображения в каждом скрипте?
No name. Just Linel.
Linel вне форума Ответить с цитированием
Старый 14.09.2010, 22:13   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

А в скрипте этот самый путь ни как нельзя подставлять?
Arigato вне форума Ответить с цитированием
Старый 14.09.2010, 22:14   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Для этого дальновидные разработчики ЗАРАНЕЕ вводят переменные или ,ещё лучше - константы:
Код:
<?php
$host = 'http://localhost/';
// or
define('HOST', 'http://localhost/');
?>
Затем по коду используют эти переменные(или константы) для ссылок:
Код:
<img src="<?=$host;?>image.png">
<a href="<?=$host;?>page/2">Link</a>
<!-- or -->
<img src="<?=HOST;?>image.png">
<a href="<?=HOST;?>page/2">Link</a>
Потом,при изменении URL вы просто меняете значение в одном месте - и всё.
Чем больше таких вот моментов вы предусмотрите на этапе проектирования и разработки - тем проще вам(и не только) будет потом сопровождать ваш код.
Andkorol вне форума Ответить с цитированием
Старый 22.09.2010, 22:04   #6
kogemrka
Форумчанин
 
Аватар для kogemrka
 
Регистрация: 08.01.2010
Сообщений: 165
По умолчанию

Дык а почему бы не указывать путь до изображений и ссылки относительно корня сайта?
То есть вместо
Код:
<img src="image.png"> <!-- Путь относительно текущей папки -->
писать
Код:
<img src="/image.png"> <!-- Путь относительно корня сайта -->
kogemrka вне форума Ответить с цитированием
Старый 24.09.2010, 09:07   #7
Ruzarh
Пользователь
 
Регистрация: 20.11.2009
Сообщений: 11
По умолчанию

Можно объявить константу вот так:

PHP код:
define('DIR_ROOT'str_replace("\\","/"$_SERVER['DOCUMENT_ROOT'] .'/')); 
и использовать вот так:
PHP код:
<img src="<?php echo DIR_ROOT?>image.png">
Ruzarh вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размеры изображения RamireZ Мультимедиа в Delphi 5 05.10.2008 09:48
Изображения в WebBrowser. Teen4jump Работа с сетью в Delphi 3 15.08.2008 12:13
Видеозахват изображения promcontroller.ru Компьютерное железо 2 07.08.2008 17:09
Чтение изображения из базы данных, Вместо изображения - "System.Byte[]" ruelCrow Общие вопросы .NET 3 10.07.2008 23:29
Изображения в БД alikon1 БД в Delphi 3 08.10.2007 13:13