使用fwrite()在带有内部数组的php文件中添加变量?

时间:2019-04-24 13:37:48

标签: php arrays fopen fwrite

我无法使用fwrite在内部数组的php文件中添加变量。

我的 php 文件具有一个数组,如下所示:

<?php 
  $array48= array (
   0 => 
   array (
     0 => '2019-04-24-1248326-1313',
     1 => 1556110847000,
     2 => 30.6647,
     3 => 71.387200000000007,
     4 => 3.999999999999999,
     5 => 51,
     6 => 'O',
     7 => 13,
     8 => 0,
   )
 )

我想在文件的开头添加变量:

$fp_due_min_fa = fopen('../file.php', 'r+');
fwrite($fp_due_min_fa, '<?php ' . "\n" . '$id = ' . $id_terr . ';' . "\n");
fclose($fp_due_min_fa);

但是在此代码之后,php文件是这样的:

<?php 
  $id = 123456;
  556110847000,
     2 => 30.6647,
     3 => 71.387200000000007,
     4 => 3.999999999999999,
     5 => 51,
     6 => 'O',
     7 => 13,
     8 => 0,
   )
 )

数组坏了...

我将获得以下输出:

<?php 
  $id = 123456;
  $array48= array (
   0 => 
   array (
     0 => '2019-04-24-1248326-1313',
     1 => 1556110847000,
     2 => 30.6647,
     3 => 71.387200000000007,
     4 => 3.999999999999999,
     5 => 51,
     6 => 'O',
     7 => 13,
     8 => 0,
   )
 )

为什么我有这个错误?

希望你能帮助我。

非常感谢,对不起我的英语

1 个答案:

答案 0 :(得分:3)

总体设计看起来很糟糕,但通常只是读取,连接和写入以预先开始。为了不必去除开头的PHP标记,只需打开和关闭标记:

$output = "<?php \$id = $id_terr; ?>\n";
$file   = file_get_contents('../file.php');
file_put_contents('../file.php', $output.$file);

或者追加(假设没有如图所示的关闭PHP标记),

file_put_contents('../file.php', "\n\$id = $id_terr;\n", FILE_APPEND);