Программное изменение куска кода в PHP-файле

Кинотавр

Новичок
Программное изменение куска кода в PHP-файле

Имеется инклудящийся файл, в котором задается несколько переменных типа:

PHP:
<?
$a = 1;
$b = "value";
$c = "Hitler Kaput";
?>
Необходимо, чтобы программа меняла в этом файле какую-либо переменную, например $b, причем без изменения других переменных.
Есть ли какой-либо способ делать это без парсинга?
 

Кром

Новичок
$b = "another_value"; а так что ли нельзя записать в вызываемом файле?
 

HEm

Сетевой бобер
делаешь файл file.ini
содержимое -
a=1
b=value
c=Hitler Kaput
открываешь через file(), парсишь через explode()
при желании можешь за небольшое время написать себе класс для этого дела
 

Crazy

Developer
Автор оригинала: Eugene Bond
[m]parse_ini_file[/m]
Очень печальный совет. Контрольный пример:

PHP:
<?php

print_r(parse_ini_file('data.ini'));

?>
тестовый файл (data.ini):
Код:
<? 
$a = 1; 
$b = "value"; 
$c = "Hitler \"Kaput\""; 
?>
 

Eugene Bond

sudo rm - rf /
Crazy, а где ты видел, что бы .ини файл начинался с "<?"???

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

Crazy

Developer
Автор оригинала: Eugene Bond
Crazy, а где ты видел, что бы .ини файл начинался с "<?"???
Прочитай первое письмо треда. Речь идет вовсе не об ini-файлах.

Я продемонстрировал непригодность данной функции для решения поставленной задачи. :)

P.S. Кстати, проблема вовсе не в "<?" -- это как раз не мешает...
 

Кинотавр

Новичок
Да, речь шла о php-файле, который инклудится в ходе генерации страницы. В некоторых случаях в этот файл надо вносить изменения - менять значения переменных.
Выходит, никаких способов кроме чисто строковых обработок, нет?
Ну например что-нибудь типа перенаправления потока.
 

Кинотавр

Новичок
Ну типа перенаправления потока. Фигачишь команды php, шлёп, и они вместо отработки php-компилятором, вывалились в файл в виде исходника.
Есть что-нибудь типа этого ?
 

ONK

Пассивист PHPСluba
У тебя какая задача стоит?
Если сохранить информацию в файла для последующего использования то решение массив + serialize()\unserialize(); + операции чтения\запист файла. Если надо создавать именно файл с пхп кодом для include(), то придётся заняться обработкой строк...
 

Кинотавр

Новичок
Да, второй вариант.
В общем, я так и понял, что придется заняться обработкой строк.
Спасибо.
 

HEm

Сетевой бобер
от оно как, я подозревал что нечто такое просто обязано иметь место быть ;)
 
Сверху