Обработка файлов с использованием PHP - PullRequest
0 голосов
/ 12 июля 2010

Может кто-нибудь подсказать метод изменения / удаления содержимого текстового файла с использованием PHP

Ответы [ 3 ]

3 голосов
/ 12 июля 2010

Использование file_put_contents:

file_put_contents($filename, 'file_content');

Если вы хотите добавить файл вместо замены его содержимого, используйте:

file_put_contents($filename, 'append_this', FILE_APPEND);

(file_out_contents - более простая альтернатива использованию всего комплекса fopen.)

2 голосов
/ 12 июля 2010

Используя fopen :

if (is_writable($filename)) {
  if (!$handle = fopen($filename, 'w')) {
     echo "Cannot open file ($filename)";
     exit;
  }
  if (fwrite($handle, $somecontent) === FALSE) {
    echo "Cannot write to file ($filename)";
    exit;
  }

  echo "Success, wrote to file ($filename)";

  fclose($handle);
}

Запишите "" в файл, чтобы удалить его содержимое.

Для удаления содержимого построчно используйте:

$arr = file($fileName);

unset($arr[3]); // 3 is an arbitrary line

затем запишите содержимое файла. Или вы имеете в виду файлы, отображенные в память?

1 голос
/ 12 июля 2010

Существует несколько способов чтения файлов. Большие файлы могут быть обработаны очень быстро, используя

$fd = fopen ("log.txt", "r"); // you can use w/a switches to write append text
while (!feof ($fd)) 
{ 
   $buffer = fgets($fd, 4096); 
   $lines[] = $buffer; 
} 
fclose ($fd); 

Вы также можете использовать file_get_contents () для чтения файлов. его короткий способ достижения того же самого.

чтобы изменить или добавить файл, который вы можете использовать

$filePointer = fopen("log.txt", "a");
fputs($filePointer, "Text HERE TO WRITE");
fclose($filePointer);

ВЫ МОЖЕТЕ ТАКЖЕ ЗАГРУЗИТЬ ФАЙЛ В МОДУЛЬ, И ПОЭТОМУ ВЫПОЛНИТЕ ПОИСК, чтобы УДАЛИТЬ ОСОБЫЕ ЭЛЕМЕНТЫ МОДЕЛИ.

$lines = file('FILE WITH COMPLETE PATH.'); // ОДНОСЛЭШ ДОЛЖЕН БЫТЬ ДВОЙНЫМ СЛЭШОМ В ПУТИ, ЧТО-ТО КАК C: //PATH//TO//FILE.TXT Выше код загрузит файл в массиве $ lines.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...