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
Ищу White-label решение Букмекерской конторы под аренду |
Разработка веб-сайта WordPress
1002 UAH
|
Сломалась корзина WooCommerce (WordPress) — не добавляет товар и не открывается страница корзиныНа сайте интернет-магазина https://www.dobryi-gospodar.com/ (WordPress + WooCommerce) полностью перестала работать функция оформления заказа. При нажатии на кнопку "Добавить в корзину" (как в карточке товара, так и в каталоге) начинается длительная загрузка (индикатор крутится),… CMS, PHP ∙ 2 дня 15 часов назад ∙ 60 ставок |
Функция поиска товаров по изображениюНеобходимо разработать и интегрировать на сайт функциюпоиска товаров по изображению.Что нужно реализоватьКнопка«Поиск по фото»на сайте.Загрузка изображения пользователем: JPG.Поиск визуально похожих товаров в каталоге.Вывод результатов в виде стандартных карточек товаров: фото,… PHP, Веб-программирование ∙ 2 дня 23 часа назад ∙ 46 ставок |
Парсер expireddomains.net
5000 UAH
Нужен парсер expireddomains.net на сайте нужно сначала залогиниться, проблема в том что блокирует ИП при попытке парсить данные, нужно парсить тематические домены по списку ключевых слов, кто не уверен в своих силах не пишите PHP, Веб-программирование ∙ 4 дня 22 часа назад ∙ 51 ставка |