如何通过PHP重写文件的特定值?

时间:2017-01-21 16:28:13

标签: php variables fwrite

<?php
  $info = "Hi";
  $file = fopen("file.txt","w");
  fwrite($file,$info);
  fclose($file);
?> 

我目前正在使用上面的代码将值写入文本文件。但是,是否可以检索存储在该文本文件中的某些变量,而只是重写它们?

示例:

file.txt的

$one = "first";
$two = "second";
$three = "third";

通过PHP代码,文本文件中指定的“变量”应更改其内容。

新文件.txt

$one = "first";
$two = "hi";
$three = "third";

2 个答案:

答案 0 :(得分:0)

如果我理解正确,你可以在文件file.txt中编写一些PHP代码。如果你只存储了变量,我相信你可以通过一些正则表达式去做你想做的事。

然而,对于任何更复杂的事情(甚至可能是针对这种特定情况),我建议您使用一些PHP解析器来解析所有变量及其值,并相应地进行更改。 (here's a PHP parser written in PHP)。

编辑:

只是为了清理,简单的替换是不够的。想象一下,您有类似$first = "a";的内容,然后您决定将a替换为\。一个天真的替代品,会在你的file.txt文件中留下$first = "\";

答案 1 :(得分:0)

是的,您可以使用str_replace()将变量替换为您喜欢的数据

$s_input = 'this is a #first text';

$a_repfr = array('#first', '#second', '#third');
$a_repto = array('funny', 'php', 'love');

$s_output = str_replace($a_repfr, $a_repto, $s_input);