使用fwrite()在文件中设置变量

时间:2011-05-06 21:51:56

标签: php fopen fwrite

我有两个php文件:一个叫做key.php,另一个是验证密钥的函数。我想定期写入key.php文件并从validator.php文件更新密钥。

我有这段代码:

 $fp = fopen('key.php', 'w');
 $fwrite = fwrite($fp, '$key = "$newkey"');

我要做的是将文件key.php中的$ key变量设置为$ new key的值,类似于$ newkey ='agfdnafjafl4';在validator.php中。

如何让它工作(使用fwrite在另一个文件中设置预先存在的变量,又称覆盖它)?

2 个答案:

答案 0 :(得分:2)

试试这个:

$fp = fopen('key.php', 'w');
fwrite($fp, '$key = "' . $newkey . '"');
fclose($fp);

这将从字面意义上“覆盖”变量。但是,它不会在脚本运行时修改您在脚本中使用的那个,您需要设置它($key = somevalue)。

更重要的是,你真的应该使用数据库或单独的平面文本文件。像这样修改php代码简直太丑了。

答案 1 :(得分:0)

for_example ,您有YOUR_File.php,并且写有$any_varriable='hi Mikl';

将该变量更改为“hi Nicolas”,请使用以下代码:

<?php
$filee='YOUR_File.php'; 
        /*read ->*/ $temmp = fopen($filee, "r");   $contennts=fread($temp,filesize($filee)); fclose($temmp);

// here goes your update
$contennts = preg_replace('/\$any_varriable=\"(.*?)\";/', '$any_varriable="hi Jack";', $contennts);
        /*write->*/ $temp =fopen($filee, "w");    fwrite($temp, $contennts);    fclose($temp);
?>