1

每次刷新页面时,我都会尝试将数据写入 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);
4

3 回答 3

6

如果要打开文件进行写入,可以'w'使用fopen(). 如果该文件尚不存在,则将创建该文件,或者将其截断为空,您可以将其写入它,就好像它是新的一样。

或者,您可以使用file_put_contents使操作成为单行。

旁注:如果您使用文字值生成 php 代码,请查看var_export函数,这可以大大简化它(使用第二个可选参数)。

于 2012-08-02T16:25:22.947 回答
0

如果您在 Windows 上,则必须先关闭 csv 文件(如果在桌面上打开),然后再以“w”模式写入。

于 2014-10-21T02:59:08.160 回答
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);
?>
于 2012-08-02T16:28:37.823 回答