每次刷新页面时,我都会尝试将数据写入php文件。下面的代码成功写入文件,但是,第一次重写后文件内容保持不变,即使每次刷新页面时用于写入文件的数组中包含的数据都不同。
我的问题是:如何重写或替换已存在的.php文件的内容?
我尝试unlink('../html/freesample2.php');
来解决这个问题,删除'已写'文件,然后重新创建它,但它没有帮助。
我感谢任何建议。
//Create variable for file I want to write to
//second parameter 'a' stands for APPEND
$f = fopen('../html/freesample2.php', 'a') or die('fopen failed');
$php_script= '<?php $free_sample_array_new = Array(); $free_sample_array_new[] = '.$free_sample_array[0].'; $free_sample_array_new[] = '.$free_sample_array[1].'; ?>';
fwrite($f, $php_script);
fclose($f);
答案 0 :(得分:5)
如果要打开文件进行书写,可以使用'w'
作为fopen()
的访问模式。如果该文件尚未存在,则会创建该文件,或者将其截断为空,并且可以将其写入其中,就好像它是新的一样。
或者,您可以使用file_put_contents使操作成为oneliner。
旁注:如果要使用文字值生成php代码,请查看var_export函数,这可以大大简化它(使用第二个可选参数)。
答案 1 :(得分:0)
运行此代码并检查每次刷新后freesample2.php是否有新值?
<?
$free_sample_array = array(rand());
$f = fopen('../html/freesample2.php', 'w') or die('fopen failed');
$php_script= '<?php $free_sample_array_new = Array(); $free_sample_array_new[] = '.$free_sample_array[0].'; ?>';
fwrite($f, $php_script);
fclose($f);
?>
答案 2 :(得分:0)
如果您使用的是Windows,则必须先关闭csv文件(如果在桌面上打开),然后再使用&#39; w&#39;模式。