Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: В текстовом файле добавить в конец каждой строки определенную запись?
 
 автор: Djamali   (11.07.2008 в 16:21)   письмо автору
 
 

Люди скажите пожалуйста как мне в текстовом файле добавить в конец КАЖДОЙ СТРОКИ определенную запись?

   
 
 автор: GeorgeIV   (11.07.2008 в 16:29)   письмо автору
 
   для: Djamali   (11.07.2008 в 16:21)
 

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

   
 
 автор: Trianon   (11.07.2008 в 16:35)   письмо автору
 
   для: GeorgeIV   (11.07.2008 в 16:29)
 

а текст в переменную - зачем?

   
 
 автор: cheops   (13.07.2008 в 09:47)   письмо автору
 
   для: Djamali   (11.07.2008 в 16:21)
 

Можно поступить следующим образом
<?php
  // Имя файла
  $filename = "index.htm";
  // Запись
  $order = "test";

  $contents = file_get_contents($filename);
  $contents = preg_replace("|([\r\n]+)|is", "$order\\1", $contents);
  file_put_contents($filename, $contents);
?>

   
 
 автор: Valick   (13.07.2008 в 10:07)   письмо автору
 
   для: Djamali   (11.07.2008 в 16:21)
 

А можно вот так:

// Открываем файл если он существует
    if(file_exists($file))
        {
        $f=fopen($file, "r+t") or die("Невозможно открыть файл");
// Блокируем файл (разделяемая блокировка)
        flock($f, LOCK_SH);    // ждём завершения процесса записи
// В файл теперь никто не пишет, можно читать
        $cont=explode("\n",fread($f,filesize($file)));    // считываем файл
        fclose($f);        // закрываем файл


foreach ($cont as $key=>$value)
    {
     $mass[$key]=$value.$dobavka;
    }

    $f=fopen($file, "r+t") or die("Невозможно открыть файл");
// Блокируем файл (блокировка с запретом "подвисания")
    while(!flock($f, LOCK_EX+LOCK_NB))
        {
        sleep(1);    // ждём одну секунду
        }
// Файл заблокирован, можно производить запись

    ftruncate($f, 0); // очищаем файл
    rewind($f); // переходим в начало файла
    foreach ($mass as $key=>$values)
    {
// Записываем строку из массива
    fwrite ($f, $values."\n");
    }
        fclose($f);        // закрываем файл

код не проверял
скопипастил из используемых мной функций

   
 
 автор: Valick   (13.07.2008 в 11:07)   письмо автору
 
   для: Valick   (13.07.2008 в 10:07)
 


<?php
$file="test.txt";
$dobavka="ghbdtn";
// Открываем файл если он существует
    if(file_exists($file))
        {
        $f=fopen($file, "r+t") or die("Невозможно открыть файл");
// Блокируем файл (блокировка с запретом "подвисания")
    while(!flock($f, LOCK_EX+LOCK_NB))
        {
        sleep(1);    // ждём одну секунду
        }

        $cont=explode("\n",fread($f,filesize($file)));    // считываем файл

    foreach ($cont as $key=>$value)
    {
     $mass[$key]=$value.$dobavka;
    }

    ftruncate($f, 0); // очищаем файл
    rewind($f); // переходим в начало файла
    foreach ($mass as $key=>$values)
    {
// Записываем строку из массива
    fwrite ($f, $values."\n");
    }
        fclose($f);        // закрываем файл
    }
?>

этот работает