Запись некоторых данных в определенную область в файле на PHP - PullRequest
0 голосов
/ 05 ноября 2011

Я экспериментирую с fopen в первый раз, и мне было интересно, можно ли найти определенный раздел в файле перед добавлением или заменой этого содержимого данными?

В идеале я бы хотел:

  1. Используйте fopen, чтобы получить файл
  2. Поиск комментария под названием <!-- test -->
  3. Заменить этот комментарий новыми данными.

Это возможно? (для записи - добавление данных в конец файла или добавление новых данных к определенному номеру строки не будет работать для того, над чем я работаю, поскольку файл постоянно меняется).

Спасибо!

Ответы [ 2 ]

1 голос
/ 05 ноября 2011
<?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-файла, который вы отправляете:

<code><?php

echo '<pre>';
print_r($_POST);
echo '
';выход;?>
0 голосов
/ 05 ноября 2011

Если вы прочитали весь файл, а затем использовали что-то str_replace, чтобы внести изменения, вы сможете получить то, что вы хотите.

...