Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

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

 

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

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

тема: Запись в определенную строку файла
 
 автор: Innocead   (02.08.2005 в 16:56)   письмо автору
 
 

Я еще новичок, так что не ругайтесь...


  if ($submit)  {
       $text2 = "$tema|||$date|||$limsg1|||$mess\n";
          $fp2 = fopen("$baza", "a+");
               if ($fp2) {
                    fputs($fp2, $text2);
                      }
         fclose($fp2);
                       }

а как сделать так, чтобы запись производилась в определенную строку?
т.е.
file:
$tema|||$date|||$limsg1|||$mess
$tema|||$date|||$limsg1|||$mess - сюда надо записать
$tema|||$date|||$limsg1|||$mess

я так подумал... найти определенный $mess в файле и записать в эту строку

з.ы.
пишу новостной скрипт (так хочу редактировать новости)

   
 
 автор: Akira   (02.08.2005 в 18:23)   письмо автору
 
   для: Innocead   (02.08.2005 в 16:56)
 

Лучше пишите каждую новость в отдельный файл, так проше будет редактировать.

   
 
 автор: cheops   (02.08.2005 в 19:36)   письмо автору
 
   для: Innocead   (02.08.2005 в 16:56)
 

Да в середину файла можно записать данные, примерно так, как это делается в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=242, только нужно знать в какую строку записывать данные.

   
 
 автор: Innocead   (03.08.2005 в 18:02)   письмо автору
 
   для: cheops   (02.08.2005 в 19:36)
 

А как тогда провести поиск строки? у меня получилось что-то типа этого...

   $file = fopen ("test.txt","r+"); 
  $i = 0;
  $mess = 7364365;
  if ($file) 
  {     
    $file_array = file("test.txt");   
     do{
     $filename = strrpos($file_array[$i], $mess); // строка, наверное, не верна
     if (isset($filename)) $st = 1;  //строка, наверное, не верна
     $i++;
       }
      while ($st = 1);
     $i--; 
    $file_array[$i]="tema|||date|||limsg1|||$mess\r\n"; 
   
    foreach ($file_array as $value) 
    { 
      fwrite ($file, $value); 
    } 
    fclose ( $file); 
  } 
    

но пишет...
Fatal error: Maximum execution time of 15 seconds exceeded in /www/a/ap/appz.hoha.ru/site/php/ex.php on line 10

   
 
 автор: cheops   (03.08.2005 в 18:16)   письмо автору
 
   для: Innocead   (03.08.2005 в 18:02)
 

А по какому критерию вы ищите строку - что она должна содержать?

   
 
 автор: cheops   (03.08.2005 в 18:18)   письмо автору
 
   для: cheops   (03.08.2005 в 18:16)
 

-

   
 
 автор: Innocead   (04.08.2005 в 13:11)   письмо автору
 
   для: cheops   (03.08.2005 в 18:18)
 

Вообщем я нашел решение, номер строки я передаю переменной

if ($submit) {
          $file = fopen ("baza.dat","r+"); 
                            if ($file)
                                      {
                               $file_array = file("baza.dat");   
                              $file_array[$number_1] = "$tema_1|||$data_1|||$limsg1|||$mess_1";
                   $foreach ($file_array as $value) 
                                 { 
                                fwrite ($file, $value); 
                                 } 
                                fclose ( $file); 
                                       }


только остался последний вопрос... после редактирования в файле остается последняя строка пустой, как от нее избавиться!
т.е.
$tema_1|||$data_1|||$limsg1|||$mess_1
$tema_1|||$data_1|||$limsg1|||$mess_1
$tema_1|||$data_1|||$limsg1|||$mess_1
--------пустая-строка--------------------------

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования