Помогите со скриптом

Discussion in 'WASM.HEAP' started by 2FED, Apr 28, 2010.

  1. 2FED

    2FED New Member

    Blog Posts:
    0
    Извеняюсь конечно что топик не в тему сайта. Помогите пожалуста с простым скриптом

    надо просто чтобы в нужную строку файла дописывалась ещё одна строка
    например имеем
    Code (Text):
    1. строка
    2. строка2
    3. строка3
    надо дописать в строку 2 ещё что то и получаем
    Code (Text):
    1. строка
    2. строка2 ещё что то
    3. строка3
    http://mysite.com/script.php?EF=file.txt&ES=29&CMM=text

    EF = файл куда писать
    ES = номер строки
    CMM = текст который нужно дописать к строке

    вот что я набросал из кусков кода, в PHP вообще почти ничего не понимаю. Что надо добавить чтобы работало?

    Code (Text):
    1. if(isset($_GET['CAT']) && !empty($_GET['CMM']))
    2. {
    3.     $line  = $_GET['ES']
    4.  
    5.     $file=file($_GET['EF']);
    6.     $open=fopen($_GET['EF'],"w");
    7.     for($i=0;$i<count($file);$i++)
    8.     {
    9.         if(($i)!=$line)
    10.             {
    11.             fwrite($open,$file[$i]);
    12.             }
    13.     }
    14.     fclose($open);                 
    15. }
     
  2. rmn

    rmn Well-Known Member

    Blog Posts:
    0
    Code (Text):
    1. if(isset($_GET['CAT']) && !empty($_GET['CMM']))
    2. {
    3.     $line = $_GET['ES'];
    4.     $file=file($_GET['EF']);
    5.     $open=fopen($_GET['EF'],"w");
    6.     for($i=0;$i<count($file);$i++)
    7.     {
    8.         if(($i)==$line)
    9.         {
    10.             fwrite($open,$file[$i]);
    11.         }
    12.         else
    13.         {
    14.             fwrite($open,$file[$i] . " " . $_GET['CMM']);
    15.         }
    16.     }
    17.     fclose($open);
    18. }
     
  3. rmn

    rmn Well-Known Member

    Blog Posts:
    0
    так, т.е.
     
  4. 2FED

    2FED New Member

    Blog Posts:
    0
    получилось так что оно просто указаную строку удаляет
     
  5. 2FED

    2FED New Member

    Blog Posts:
    0
    а не.. это я пропарилсо.. Спасибо.
     
  6. 2FED

    2FED New Member

    Blog Posts:
    0
    Не совсем корректно работает



    вот так пишет если номер строки 1. В общем почемуто переводит коретку

    ps Нумерация идёт с нуля.. так что строка 1 это "строка2"


    Code (Text):
    1. строка
    2. строка2
    3.  ещё что тострока3
     
  7. rmn

    rmn Well-Known Member

    Blog Posts:
    0
    Code (Text):
    1. fwrite($open,str_replace("\n", " " . $_GET['CMM'] . "\n", $file[$i]);
     
  8. UbIvItS

    UbIvItS Well-Known Member

    Blog Posts:
    0
    по идее можно сделать управляющий файл, где будут храниться ссылки на файлы со строками или, вообще, это на бд переписать. при большом накопление строк лучше бд пользовать.
     
  9. 2FED

    2FED New Member

    Blog Posts:
    0
    define('NEWLINE', "\r\n");

    fwrite($open,trim($file[$i]) . " " . $_GET['CMM'].NEWLINE);

    вот так работает! всем спасибо :)
     
  10. 2FED

    2FED New Member

    Blog Posts:
    0
    Ещё один вопросик возник

    есть допустим

    Code (Text):
    1. строка
    2. строка2 CMM=text
    3. строка3
    можно ли как то удалить CMM= и всё что идёт после него?
     
  11. UbIvItS

    UbIvItS Well-Known Member

    Blog Posts:
    0
    2FED
    вообще, реджексы пользуй.