PHP запись в файл
Есть простейших код удаления последней строки в файле
<?php
// load the data and delete the line from the array
$lines = file('filename.txt');
$last = sizeof($lines) - 1 ;
unset($lines[$last]);
// write the new data to the file
$fp = fopen('filename.txt', 'w');
fwrite($fp, implode('', $lines));
fclose($fp);
?>
Нужно доработать его так, чтобы в момент изменения файла, не могла произойти коллизий из-за запуска копии скрипта, т.е. перед записью нужно добавить блокировку файла. Либо я ошибаюсь и этото код вполне будет работать правильно без блокировку и коллизия произойти не сможет.
Пример взят здесь qaru.site/questions/798915/how-can-i-remove-the-last-line-of-a-file-using-php
-
68 1 0 Сделаю за час, большой опыт в РНР. Пишите, если заинтересует.
-
151 9 0 $fp = fopen ( "filename.txt","w" );
flock ( $fp,LOCK_EX ); // БЛОКИРОВКА ФАЙЛА
... //работа с файлом
flock ( $fp,LOCK_UN ); // СНЯТИЕ БЛОКИРОВКИ
fclose ( $fp );
if ( !is_writable ( "filename.txt" ) ) {
echo "файл filename.txt не доступен для записи";
}
…
источник http://www.php.su/flock()
-
1941 72 4 3 Добрый вечер!
Для Вашей задачи есть решения поизящнее, суть предельно ясна, готов выполнить.
Читайте отзывы, обращайтесь :)
-
418 142 0 Здравствуйте.
Возьмусь прямо сейчас. Сделаю все быстро и качественно.
-
2748 153 0 1 Здравствуйте. Готов сделать лучше этого.
-
117 Привет,
Я из Армении, и у меня 3-летний опыт работы в области веб-разработки, если хотите, я могу работать на вас.
Я посылаю это, чтобы попросить ваше одобрение, которое поможет мне создать мой профиль на freelancehunt.com и выиграть больше работы.
Нарек Варданян
-
это устаревший метод
-

Для защиты файла с которым работает текущий процесс от изменений со стороны любого другого процесса в операционных системах применяются так называемые блокировки (locks). Для этого в PHP используется функция flock(). Пока на файле стоит блокировка все остальные делающие записать что-либо в этот файл стоят в очереди и дожидаются снятия блокировки. Подробнее почитать можно вот здесь - https://metanit.com/web/php/5.3.php, но в принципе можно найти и другие инструкции с примерами. Так что вам просто надо пару строчек в код добавить и всё.
-
Актуальні фриланс-проєкти в категорії PHP
Потрібна інтеграція KeyCRM → ПРРО Кашалот |
Сайт на WordPress з використанням теми Kadence та Kadence Blocks.
10 000 UAH
Нам потрібно створити сайт на WordPress з використанням теми Kadence та Kadence Blocks. Інтернет-магазину не буде (хоча, ймовірно, він буде доданий у майбутньому). Потрібна головна сторінка та кілька внутрішніх сторінок. Графіка вже готова, структура макета здебільшого… CMS, PHP ∙ 2 дні 12 годин тому ∙ 38 ставок |
Розробка 2 SEO-орієнтованих сайтів з продажу запчастин (квадроцикли та спецтехніка)Розробка двох спеціалізованих сайтів з продажу запчастинЗагальна інформація Потрібно розробити два спеціалізовані сайти: Запчастини для квадроциклів, UTV, SSV та іншої подібної техніки. Запчастини для спеціальної техніки. Існуючий сайт компанії: https://kiaparts.com.ua/ Нові… PHP, Веб-програмування ∙ 3 дні 10 годин тому ∙ 76 ставок |
Розробка веб-сайту WordPress
1002 UAH
|
Парсер expireddomains.net
5000 UAH
Потрібен парсер expireddomains.net на сайті потрібно спочатку залогінитись, проблема в тому що блочить ІР при намаганні парсити дані, потрібно парсити тематичні домени по списку ключових слів, хто не впевнений в своїх силах не пишіть PHP, Веб-програмування ∙ 8 днів 9 годин тому ∙ 52 ставки |