[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос по путям к файлам
CaXaP
Всем привет.

Один вопрос:

1. У меня на хосте папка domains, там папка mysite.com - это папка моего сайта (купленного домена).
В ней файл index.php - вся маршрутизация идёт на него.
Там же есть папка Admin, где находится админка, запускающаяся файлом Admin/admin.php.
В админке можно подгружать рисунки, они сохраняются по адресу pictures/ (т.е. в папке в корне сайта).
И пути картинок в БД я заношу так: ../pictures/ - т.е. возврат на одну папку (из папки Admin) и вход в папку pictures - это для того, чтоб они корректно отображались в админке.
Соответствено на самом сайте я потображаю картинки так: <img src='.$data["pic_address"].'>, а т.к. в БД адрес записан ../pictures, то фактически, скрипт должен смотреть не в директории сайта, а в директории выше.
Отсюда вытекает 2 подвопроса:
1. Почему же картинки всё равно отображаются? Мб потому, что он не поднимается выше корневой директории домена?
2. Как записать адрес в БД так, чтоб он корректно отобразился и при выводе из index.php, и при выводе из Admin/admin.php ?
Я пробовал с $_SERVER['DOCUMENT_ROOT'], но тогда он вообще нигде не выводится...

Заранее спасибо.



Спустя 2 часа, 16 минут, 30 секунд (30.10.2008 - 00:19) kirik написал(а):
Код
1. Почему же картинки всё равно отображаются? Мб потому, что он не поднимается выше корневой директории домена?

ага..некуда подниматься
Код
2. Как записать адрес в БД так, чтоб он корректно отобразился и при выводе из index.php, и при выводе из Admin/admin.php ?

А зачем в БД прописывать полный путь? А если ты захочешь переместить сайт из корня, например в папку www.site.com/site ? Тогда пути придется переписывать? Мне кажется что в БД лучше прописывать имя самой картинки, а уже в каждом из скриптов дописывать путь.

Спустя 43 минуты, 15 секунд (30.10.2008 - 01:02) CaXaP написал(а):
по 1 пункту спасибо, правда я уже локально это восстановил (:

по 2-му

Тут такая ситуация - я пишу некую админку, которая настраивается под любую БД (т.е. ставишь её на сайт и она после небольшой настройки (настройки админки, не сайта)) становится способной редактировать любые данные БД (+ аплоадить картинки как я описал выше). Поэтому мне нельзя менять скрипт сайта, а можно менять лишь админку.

Возможно, помогла бы переменная корневого каталога сайта (т.е. чтоб я мог написать путь относительно корня сайта) - я бы записал в БД прям это значение и всё - оно одинакого отображалось бы и в админке, и на сайте.
Тогда вышло б что-нидь вроде:
$root."/pictures/".$img_name - было б просто идеально!
$_SERVER['DOCUMENT_ROOT'] не подошёл... по ходу от того, что это корневая директория сервера, а не сайта. Мне бы сайта найти... Если такое возможно =\ Как никак всякие .htaccess и mod_rewrite могут это дело извращать как могут...

И второй способ, к-й на ум пришёл - в админке сделать настройку "префикс пути к картинке". Т.е. в БД буду записывать путь для сайта, а в админке отображать картинку по пути $prefix.$path - это может подкорректировать путь специально для админки.

В любом случае спасибо за советы.

Спустя 27 минут, 46 секунд (30.10.2008 - 01:30) Sephiroth_Lukaw написал(а):
Цитата(CaXaP @ 29.10.2008, 22:02) [snapback]53161[/snapback]
$_SERVER['DOCUMENT_ROOT'] не подошёл... по ходу от того, что это корневая директория сервера, а не сайта. Мне бы сайта найти...
Код
print_r($_SERVER);


Цитата("kirik")
Мне кажется что в БД лучше прописывать имя самой картинки, а уже в каждом из скриптов дописывать путь.
+100

Цитата("CaXaP")
2. Как записать адрес в БД так, чтоб он корректно отобразился и при выводе из index.php, и при выводе из Admin/admin.php ?
В БД просто имя заносим, а как из неё достаём, просто дописываем "/img_catalog/" будет, что-то типа
HTML
<img src="/img_catalog/file.jpg">

Спустя 1 час, 54 минуты, 32 секунды (30.10.2008 - 03:24) kirik написал(а):
2 Sephiroth_Lukaw, тут человек говорит, что ему нельзя менять код самог сайта.. Тоесть прописать путь до картинки в самом движке сайта не получится..

Цитата
$_SERVER['DOCUMENT_ROOT'] не подошёл...

попробуй что-нибудь намутить с dirname(__FILE__)

Цитата
И второй способ, к-й на ум пришёл - в админке сделать настройку "префикс пути к картинке". Т.е. в БД буду записывать путь для сайта, а в админке отображать картинку по пути $prefix.$path - это может подкорректировать путь специально для админки.

выходит самый нормальный вариант...

Можно еще сделать так - картинки записывать в таком виде: %IMG_PATH%image_file.jpg, потом вывод flush'ить, и заменять в выводе %IMG_PATH% на нужный путь. Но этот способ тоже потребует небольшую правку движка сайта.

Удачи!


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.