Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Удаление строк по времени
Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2014
Помог: 0 раз(а)
Добрый день, всем форумчанам!
Решил попрактиковаться в написании небольшой утилиты для выполнения работ. Вроде утилиту сделал, все хорошо, осталась самая малость.
Есть файл на сервере, в котором содержаться следующие строки:
Но почему-то обнуляется весь файл. Смутно догадываюсь, что скорее всего не правильно работает сравнение строк или дат, но вот как правильно, не могу сообразить.
Подскажите, что я делаю не правильно?
RickMan
Отправлено: 29 Августа, 2014 - 09:36:08
Участник
Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012
Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2014
Помог: 0 раз(а)
RickMan пишет:
И что за переменная $file используетсмя там, которая не объявлена нигде?
Прошу прощения, действительно за место $file должен стоять $lines
Но все равно не работает. (Добавление)
Мелкий пишет:
Мой вариант:
Что-то этот код для меня тяжеловат пока для восприятия. Буду вчитываться (Добавление) Мелкий
Подскажите, а что получиться, если "Work.txt" файл будет на сервере и несколько человек к нему обратятся одновременно через php с вашим вариантом?
Может такое произойти, что файл "Work.txt" будет недоступен кому-либо из людей (при условии, что в файле будет не более 10000 строк) ?
Мелкий
Отправлено: 29 Августа, 2014 - 10:25:25
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
AlexAngel пишет:
Может такое произойти, что файл "Work.txt" будет недоступен кому-либо из людей (при условии, что в файле будет не более 10000 строк) ?
Недоступен - нет, не может. Файл всегда будет. Вот только вопрос, что будет в файле...
Но race condition мой код не учитывает. Вот тут не уверен, возможно достаточно будет только указания флага LOCK_EX у file_put_contents, возможно надо на flock заменять.
----- PostgreSQL DBA
AlexAngel
Отправлено: 30 Августа, 2014 - 05:52:15
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2014
Помог: 0 раз(а)
Мелкий Спасибо, действительно работает!
Но для меня этот код сложноват оказался, поэтому я переделал по аналогии так:
Получиться, что только один человек может записывать файл одновременно, а для второго будет выходить ошибка, или я не прав?
Как сделать чтобы и удаляло, не тормозило и работало если обращается одновременно больше 10 человек?
likvidator
Отправлено: 30 Августа, 2014 - 09:03:11
Посетитель
Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012
Помог: 4 раз(а)
[+]
AlexAngel пишет:
Как сделать чтобы и удаляло, не тормозило и работало если обращается одновременно больше 10 человек?
БД? Не,не слышал... Вообще,почему именно файл?
AlexAngel
Отправлено: 30 Августа, 2014 - 10:01:11
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2014
Помог: 0 раз(а)
Просто с БД на php не работал еще.
Вот например как перевести мой код на mysql ?
likvidator
Отправлено: 30 Августа, 2014 - 16:02:08
Посетитель
Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012
Помог: 4 раз(а)
[+]
AlexAngel пишет:
Вот например как перевести мой код на mysql ?
Ну.. начать нужно не с чтения,а с записи данных в бд ( запись в файл вы не выложили)...
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.