我有两个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在另一个文件中设置预先存在的变量,又称覆盖它)?
答案 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);
?>