|
|
|
| Есть файл config.php в нем находится примерно такая картина:
<?
$name="ZetRider";
$icq="662495";
?>
|
Как можна редактировать то что находится между $name=" и "; тоесть само значение переменной? | |
|
|
|
|
|
|
|
для: ZetRider
(25.03.2006 в 15:31)
| | в смысле редактировать?
что ты хочешь получить? | |
|
|
|
|
|
|
|
для: ZetRider
(25.03.2006 в 15:31)
| | Действительно, нужно больше подробностей - содержимое файла содержится в переменной? Значение переменной известно заранее? | |
|
|
|
|
|
|
|
для: cheops
(25.03.2006 в 22:13)
| | есть файл в нем написана инфа которая выше... нужно ее выводить в форму, и если в форме произвести изменения то они сохранялсись.. вот фоорма потипу того:
<? include"config.php"; ?>
<center>
<table width="51%" border=0>
<tr class="zag"><td width="80%" colspan="2"><b><font face='verdana' size='1'><center>Настройки:</center></font></b></td></tr>
<form action="edit_conf.php" method="POST">
<tr class="text"><td width="41%"><font face='verdana' size='1'>Имя</font></td><td><input type="text" name="teamname" value="<?=$name?>" size="30"></td></tr>
<tr class="text"><td width="41%"><font face='verdana' size='1'>Ася</font></td><td><input type="text" name="sitename" value="<?=$icq?>" size="30"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Сохранить"></td></tr>
</table>
</center>
|
| |
|
|
|
|
|
|
|
для: ZetRider
(25.03.2006 в 22:41)
| | к примеру в строке $name="ZetRider"; я хочу отредактирова через форму слово ZetRider.. | |
|
|
|
|
|
|
|
|
для: JIEXA
(26.03.2006 в 00:48)
| | Да но етот вариант както работает глючно..... лана сасм пойму. | |
|
|
|
|
|
|
|
для: ZetRider
(26.03.2006 в 08:13)
| | что именно глючно? давайте вместе исправим | |
|
|
|
|
|
|
|
для: ZetRider
(25.03.2006 в 22:41)
| | Файл edit_conf.php должен выглядятеть примерно следующим образом
<?php
// Читаем содержимое файла config.php
$content = file_get_contents("config.php");
// Производим замену на новые значения
$content = preg_replace('|\$name[\s]*=[\s]*"([^"]+)";|',
'\$name="'.$_POST['teamname'].'";',
$content);
$content = preg_replace('|\$icq[\s]*=[\s]*"([^"]+)";|',
'\$icq="'.$_POST['sitename'].'";',
$content);
echo $content;
// Записываем содержимое файла
$fd = fopen("config.php","w");
if(!$fd) exit("Не возможно открыть файл");
fwrite($fd,$content);
fclose($fd);
// Осуществляем автоматический переход на главную страницу
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>
</HEAD></HTML>";
?>
|
PS Только лучше для таких целей использовать более "машинный формат", вроде
name||ZetRider
icq||662495
|
С ним проще работать и можно обойтись без регулярных выражений. | |
|
|
|
|
|
|
|
для: cheops
(26.03.2006 в 15:03)
| | хм.. а если так хранить инфу в конфиге
name||ZetRider
icq||662495
|
то как выводить на екран к примеру
? | |
|
|
|
|
|
|
|
для: ZetRider
(26.03.2006 в 19:36)
| | Да даже не так, а допустим
т.е. вы будете знать, что первый столбец - это name, второй icq и т.д. достаточно будет прочитать строку $str из файла и разбить её на части при помощи функции explode("||",$str); | |
|
|
|
|
|
|
|
для: cheops
(27.03.2006 в 01:48)
| | так... тогда выходит такой код:
<?php
$arr = file("config.php");
$i = 0;
foreach($arr as $line)
{
$i++;
list($peremen, $znachen) = explode("||", $line);
$user['peremen'][] = $peremen;
$user['znachen'][] = $znachen;
}
for($i=count($arr)-1; $i>=0; $i--)
{
echo "
".$user['znachen'][$i]."
<br>
";
}
?>
|
но всеравно непонять (( | |
|
|
|