1

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

我有这个代码:

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

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

我怎样才能让它工作(使用 fwrite 在另一个文件中设置预先存在的变量,也就是覆盖它)?

4

2 回答 2

2

尝试这个:

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

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

更重要的是,您确实应该为此使用数据库或单独的平面文本文件。像这样修改 php 代码简直丑陋。

于 2011-05-06T21:55:44.983 回答
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);
?>
于 2013-05-23T07:45:14.203 回答