За последние 24 часа нас посетили 21996 программистов и 1682 робота. Сейчас ищут 1658 программистов ...

Прошу помощи

Тема в разделе "Вопросы от блондинок", создана пользователем Zurab, 24 апр 2009.

  1. Zurab

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

    С нами с:
    29 мар 2009
    Сообщения:
    20
    Симпатии:
    0
    Доброго времени суток ! Скажите, возможно написать скрипт удаляющий из текстового файла указанную строку ? Если да, буду благодарен тому кто напишут.
     
  2. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Да.
     
  3. alexander.pro

    alexander.pro Активный пользователь

    С нами с:
    11 июл 2008
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Г. Кострома
    Написать в принципе возможно.

    1)Открываешь файл.
    2)Читаешь строки в массив. file()
    3)Удаляешь нужный элемент массива.
    4)Пишешь массив в файл.
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Нее -) В прошлый раз и так до кучи написали, хватит халявы ;)
    В этот раз надо заплатить. Принимаем только процы x286.
     
  5. alexander.pro

    alexander.pro Активный пользователь

    С нами с:
    11 июл 2008
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Г. Кострома
  6. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    пажалуйста
    PHP:
    1. <?
    2. interface FileStrDeleter_Interface {
    3.     function FileLoad();
    4.     function FileDelStr($strnum);
    5.     function FileReWrite();
    6. }
    7.  
    8. class FileStrDeleter implements FileStrDeleter_Interface {
    9.     private $filename='';
    10.     private $data=array();
    11.     function __construct($filename){
    12.         $this->filename=$filename;
    13.     }
    14.     function FileLoad(){
    15.         $fp=@file_get_contents($this->filename);
    16.         if($fp) return get_magic_quotes_gpc()?explode("\r\n",stripslashes($fp)):explode("\r\n",$fp); else return false;
    17.     }
    18.     function FileDelStr($strnum){
    19.         if($this->data=$this->FileLoad()){
    20.            if($this->data[$strnum]){
    21.                unset($this->data[$strnum]);
    22.                $this->data=array_values($this->data);
    23.                return $this->FileReWrite();
    24.            }
    25.         }
    26.         return false;
    27.     }
    28.     function FileReWrite(){
    29.         return @file_put_contents($this->filename,implode("\r\n",$this->data));
    30.     }
    31. }
    32. ?>
     
  7. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    Mr.M.I.T.
    месье знает толк в извращениях…

    почему не file()?

    p.s. забыл проверить что файл существует, читабелен и писать в него можно, а так же контрольное считывание для проверки записи и flock() :)
     
  8. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Код (Text):
    1.  interface FileStrDeleter_Interface
    Ну .. если уж на то пошло :D
    По регламенту, интерфейсы называть следует как IFileStrDeleter :)
     
  9. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Apple
    глупости, вон хотяб в ZF всегда просто добавляют приставку interface
    ;)
    да блин я хотел, но в браузере код писать это просто двойное извращение а редактор открывать лениво было
    вообще надо ещё драйверов написать, ну типа там для файлов, для БД, мэмкешеда...
     
  10. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    У мну эта привычка с опыта работы с С# :)
     
  11. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Apple
    там небыло __autoload() ;)
     
  12. alexander.pro

    alexander.pro Активный пользователь

    С нами с:
    11 июл 2008
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Г. Кострома
  13. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
    Ну вот опять превратили топик в "214 и еще один способ удаления строки из файла"!
    Возможность выбора — это хорошо, но дайте человеку хоть один шанс подумать!
     
  14. akrinel

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

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    S.t.A.M., если бы человек захотел подумать, он бы нашел ответ не создавая тему. Я гарантирую это.
     
  15. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    S.t.A.M.
    пусть думает теперь как это заюзать ;)
     
  16. Zurab

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

    С нами с:
    29 мар 2009
    Сообщения:
    20
    Симпатии:
    0
    Человек подумать захотел, и даже немного времени потратил =) Просто тяжело вести ход мысли, не очень хорошо зная тему=)
    Спасибо, разобрался !