在PHP中将一些数据写入文件中的特定区域

时间:2011-11-04 20:52:26

标签: php fopen

我是第一次尝试使用fopen,并想知道在使用数据添加或替换该内容之前是否可以搜索文件中的特定部分?

理想情况下,我想:

  1. 使用fopen获取文件
  2. 搜索名为<!-- test -->
  3. 的评论
  4. 将该评论替换为新数据。
  5. 这可能吗? (对于记录 - 将数据附加到文件末尾或将新数据添加到特定行号对于我正在处理的内容不起作用,因为文件不断变化)。

    谢谢!

2 个答案:

答案 0 :(得分:1)

<?php 
// make sure radio is set
if( isset($_POST['enableSocialIcons']) )
{
  // Open file for read and string modification 
  $file = "/test"; 
  $fh = fopen($file, 'r+'); 
  $contents = fread($fh, filesize($file)); 
  $new_contents = str_replace("hello world", "hello", $contents); 
  fclose($fh); 

  // Open file to write 
  $fh = fopen($file, 'r+'); 
  fwrite($fh, $new_contents); 
  fclose($fh); 
}
?> 

来自:http://www.php.net/manual/en/function.fopen.php#81325

编辑:要查看表单发送的确切内容,请在您发布到的PHP文件的顶部执行此操作:

<?php

echo '<pre>';
print_r($_POST);
echo '</pre>';

exit;

?>

答案 1 :(得分:0)

如果您阅读整个文件然后使用str_replace进行更改,您应该能够得到您想要的内容。