За последние 24 часа нас посетил 60321 программист и 1744 робота. Сейчас ищут 939 программистов ...

Запись в файл в определенное место

Тема в разделе "PHP для новичков", создана пользователем Invoker, 13 дек 2016.

  1. Invoker

    Invoker Активный пользователь

    С нами с:
    8 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    Здравствуйте. Помогите пожалуйста разобраться с ошибками в коде. Есть файл в котором следующее (текст построчно):
    Январь
    Мероприятия месяца
    Тематический контроль
    Календарь мероприятий
    Февраль
    Мероприятия месяца
    Тематический контроль
    Календарь мероприятий
    Март и т.д.
    нужно сделать для начала хотябы запись в определенный месяц в тематический контроль (в конец тематического контроль перед началом календаря мероприятий)
    есть код:
    Код (Text):
    1.  $file_array =  file ("sobitiya.txt");
    2.   if(!$file_array)  {    echo("Ошибка открытия файла");  }
    3.  
    4.   else
    5.   {
    6.     $num_str =  count($file_array); }
    7.        
    8.     switch ($_POST['merop']) {
    9.    
    10.       case "Мероприятия месяца":
    11.       $text = $data." ".$vremya." ".$nazvanie.". ".$mesto.". Отв. ".$otvetstv.".";
    12.        break;
    13.        case "Тематический контроль":
    14.        $text = $nazvanie;
    15.        break;
    16.        case "Календарь мероприятий":
    17.        $text = $data."\r\n".$vremya." ".$nazvanie.". ".$mesto.". Отв. ".$otvetstv.".";
    18.        break;}
    19.      
    20.              
    21. switch ($_POST['SelectMyLove']) {
    22.    
    23.       case Январь:
    24.      
    25.       /*switch ($_POST['merop']) {
    26.    
    27.       case "Мероприятия месяца":
    28.      
    29.        break;
    30.        case "Тематический контроль":
    31.      
    32.        break;
    33.        case "Календарь мероприятий":
    34.      
    35.        break;}*/
    36.    
    37.            
    38.     for ($i = $num_str; $i >= 0; $i--)
    39.     {  
    40.     $file_array[$i+1]=$file_array[$i];
    41.     if ($file_array[$i+1] == "Февраль\r\n"){      
    42.            
    43.                 for ($n = $i; n >= 0; $n--) {
    44.                     $file_array[$n]=$file_array[$n-1];
    45.                     if ($file_array[$n] == "Календарь мероприятий\r\n"){
    46.                         $file_array[$n-1] = $text."\r\n";
    47.                         }
    48.                 }
    49.                 }
    50.     }
    51.    
    52.     break;
    точно уверен что в коде нехватает break"а чтобы прерывать циклы, не уверен в какое место его нужно забабахать. когда запускаю этот код файл преображается:
    Январь
    Январь
    Мероприятия месяца
    Тематический контроль
    строка которую вводит пользователь
    Февраль
    то есть пропадает строка календарь мероприятий и на ее месте записывается строка пользователя.
    помогите разобраться, уже все глаза проглядел, не понимаю
     
  2. Invoker

    Invoker Активный пользователь

    С нами с:
    8 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    всё кажется разобрался