Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как изменить переменную?


Автор: R.M. 9.8.2005, 14:43
Есть вот такая задача:

Есть файл add.php с текстовым полем с именем bordercolor
Есть файл config.php в котором есть переменная $bordercolor
Как сделать чтобы при вводе в текстовое поле числа "1" переменная $bordercolor в

файле config.php изменяла своё значение на "1"?

Не подскажите как? Заранее спасибо.

Автор: Mal Hack 9.8.2005, 14:45
Перезаписывать файл конфигурации с новым значением..

Автор: R.M. 9.8.2005, 16:56
Mal Hack

Наверное если бы я знал как я бы не спрашивал.
Можно поподробнее?

Автор: Mal Hack 9.8.2005, 17:01
http://php.net/fopen
http://php.net/fwrite
http://php.net/fclose

тебе остается лишь сгенерировать сроки для записи...

В принципе тут тоже все просто:
Код

$str .= "\$" . $var_name . " = " . addslaches( $var_value ) . "; \n";

Автор: R.M. 9.8.2005, 17:54
Mal Hack

А если цу меня много таких строк то если я перепишу одну она запишется вместо всех, так? как быть в таком случае?

Автор: Mal Hack 9.8.2005, 17:59
Писать все строки занова.

Автор: slang 9.8.2005, 18:02
Можно дописывать новую строку в конец файла, тогда она будет заменять старое значение
Добавлено @ 18:03
Но лучше все-таки аккуратно составить config.php, чтобы потом его снова переписывать каждый раз.

Добавлено @ 18:05
Код

$file = "./config.php";
$f = fopen($file, at);
$str_rec = "пишешь чего хочешь";
$record = fputs($f,$str_rec);
$f = fclose($f);

Автор: R.M. 9.8.2005, 18:07
И ещё
Fatal error: Call to undefined function: addslaches()
??

Автор: Mal Hack 9.8.2005, 18:14
В хэлпы можно глянуть самостоятельно?
http://php.net/addslaches
Дальше вторая ссылка.

Автор: Guest 10.8.2005, 01:06
Mal Hack

Может ты меня не так понял или ты незнаешь как это сделать?

Пример - админка IPB форума. Ты можешь например поменять максимальное количество символов в подписи и т.д., и все переменные 100% не перезаписываются.

Автор: Mal Hack 10.8.2005, 01:30
Тут скорее всего фишка такая. Читается конфиг, именно ситается. В исходном тексте находится переменная (нужная), далее заменяется ее значение на новое и файл полностью перезаписывается.

Просто можно работать по разному. Либо со всем текстом конфига, либо построчно. Я говорил про второй вариант, он ИМХО наиболее оптимален.
Добавлено @ 01:30
... Просто не самый лучший способ в данном случае использовать регулярки.

Автор: satan 10.8.2005, 13:51
Цитата(Mal @ 10.8.2005, 01:30)
Тут скорее всего фишка такая. Читается конфиг, именно ситается. В исходном тексте находится переменная (нужная), далее заменяется ее значение на новое и файл полностью перезаписывается.

Просто можно работать по разному. Либо со всем текстом конфига, либо построчно. Я говорил про второй вариант, он ИМХО наиболее оптимален.
Добавлено @ 01:30
... Просто не самый лучший способ в данном случае использовать регулярки.

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)