Как заставить прочитать переменную из базы определенную в скрипте который выводит ее?

E-mail

Новичок
Как заставить прочитать переменную из базы определенную в скрипте который выводит ее?

МОЙ код:

$dir="a/s/d/f/g";

mysql_connect($db['host'],$db['user'],$db['pass']);
mysql_select_db($db['name']);

$row=mysql_fetch_row(mysql_query($query));

eval('$content=$row[0];');

echo $content;


=====================

в базе хранится:

<a href=$dir/image/f.html>

=====================
переменная $row[0] достает это из базы и я хочу сделать так чтобы вместо переменной $dir писалось предопределенное ей в скрипте значение.

решение есть?
 

E-mail

Новичок
это мне пришло уже в голову, но есть ли какиенибудь другие способы?

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

SiMM

Новичок
> хочется хранить в базе статьи где путь к картинкам относителен как раз этой переменной
> разве я ее просто так определяю в начале скрипта?
Не вижу тут противоречий, как и причин не использовать str_replace.
 

_RVK_

Новичок
>если сайт работает на локальной машине, то $dir одна если нет, то другая

А почему так получилось?
 

E-mail

Новичок
_RVK_
страница строится по информации из бд, в бд есть информация которая должна содержать переменные, для того чтобы если путь измениться можно было бы легко его изменить поменяв всеголишь в конфиге значение переменной.

если использовать реплейс то это уже напоминает шаблоны а не ооп...

есть какие-нибудь другие решения, того что мне надо?:)
 

_RVK_

Новичок
>есть какие-нибудь другие решения, того что мне надо

Еужно сначала разобраться зачем это тебе нада, и нада ли вообще.
Итак, ты хочешь сказать что пути внутри сайта утебя разные, на сервере и на локалке? Или пример с картинкой неудачный?
 

E-mail

Новичок
я хочу сказать что при использовании str_replace смысл использования eval отпадает
 

SelenIT

IT-лунатик :)
E-mail
это уже напоминает шаблоны а не ооп...
Разве одно как-то противоречит другому?
при использовании str_replace смысл использования eval отпадает
Все же ответ на наводящий вопрос _RVK_ был бы полезнее для решения твоей проблемы, чем повторение и так очевидного ;)
 

SiMM

Новичок
> смысл использования eval отпадает
А он и так как правило всегда отсутствует. _RVK_ походу намекает на то, что тебе нужно настроить VirtualHost и использовать относительные пути в HTML'е и не парить мозг окружающим. Как-то я сразу не догадался, о чём был вопрос.
 

_RVK_

Новичок
SiMM Одно ясно что хранить переменные в базе это плохой вариант. Просто я не знаю что посоветовать. Мой ответ зависит от задачи, суть которой я и пытаюсь выяснить.
 

E-mail

Новичок
моя задача хранить контент.

а контент должен содержать относительные урлы

чтобы без лишнего гимора менять в cms структуру
 

_RVK_

Новичок
И что вы часто меняете "cms структуру"? Сколько раз в неделю?
 

alexhemp

Новичок
E-mail

Чтобы без лишнего гемора менять структуру каталогов, нужно хранить картинки, используя свою систему управления картинками

При сохранении в базу - пути к таким картинкам вообще убирать

например

<img src="/some/path/333.gif"> при сохранении убирать "/some/path/" и оставлять только <img src="333.gif">

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

У меня на крупных проектах например сделано примерно так

создана 3-х уровневая система каталогов под названиями

/images/0/0/0
/images/0/0/1
...
/images/0/1/9
...
/images/0/1/0
...
/images/1/0/0
...
/images/9/9/9

И в зависимости от последних цифр идентификатора картинки строиться к ней путь.

т.е. картинка с именем 4567.gif будет храниться в /images/7/6/5/4567.gif

Это я к тому - что путь может быть и вычислимым.

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

_RVK_

Новичок
Отвечу вопросом на вопрос: Зачем проектировать так, что потом возникла необходимость что-то переделывать? Можешь мне привести пример ситуации, когда это необходимо?
 
Сверху