Замена слова в файле PHP help

[Удален]
1504

Всем привет, помогите пожалуйста досмыслить праивльную работу кода, не получается:

есть фаил, где прописаны перменные, - файл config.php

$perem1 = "zna4enie1";

$perem2 = "zna4enie2";
$perem3 = "zna4enie3";

и нужно скриптом менять их значения (к примеру первой переменной), упрощенная версия (в полной там через "ввод соответствующих значений") :

$file=fopen("config.php","r+");

$str=file("config.php");
$pattern = "#zna4enie1#i";
$replacement= "na_eto_menyaem";
$pp=preg_replace($pattern,$replacement,$str[0]);
fputs($file,$pp);
fclose($file);

В итоге он меняет значение, НО если значение большое по символам то он удаляет следущую запись, получается так:

$perem1 = "na_eto_menyaem";

m2 = "zna4enie2";

$perem3 = "zna4enie3";

то есть удаляется столько бит символов со второй строки, на сколько их становится больше чем в первой, если же наоборот - "на то что меняем меньше" -то появляется перенос строки и остаток от прошлой переменной(((

Вот реализовал другим способом:

$file=fopen("config.php","r+");

$str=file("config.php");
$str2=strpos($str[0],'"zna4enie1"'); // считаю номер символа на котором идет совпадение то что в кавычках с первой строкой файла config.php
fseek($file, $str2,SEEK_SET); // переставляю "курсор" в файле с начала ("r+") на номер символа где идет совпадение
$str3=explode(" ",$str[0]);
$pr=strtr("zn",$str3); // делаю замену переменной что в файле на слово "zn", в итоге получается остаток, если слово велико, то съедает следующее...
fputs($file,'"'.$pr.'"');
fclose($file);

результат такой

$perem1 = "zn"4enie1";

$perem2 = "zna4enie2";

$perem3 = "zna4enie3";

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

S
На сайте с 28.10.2005
Offline
319
#1


$str = file_get_contents ( 'config.php' );
$str = str_replace ( 'zna4enie1', 'na_eto_menyaem', $str );
file_put_contents ( 'config.php', $str );
BrokenBrake
На сайте с 03.03.2007
Offline
194
#2

А зачем это нужно? Кажется, кто-то хочет написать говнокод :)

[Удален]
#3
BrokenBrake:
А зачем это нужно? Кажется, кто-то хочет написать говнокод :)

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий