15
Сен
2016

PHP – Запись в файл в многопользовательском режиме

Записываю протокол событий вот таким скриптом:

<?php
$trnum = $_REQUEST['x'];
$file=fopen("track.log",'a');
flock($file,2);
fputs($file,"$trnum \t" . date("Y-m-d h:ia") . "\n");
flock($file,3);
fclose($file);
?>

Но возникает вопрос: Что будет, если вызовов будет слишком много и со всех сторон? Не выйдет ли, что пока я залочил файл в одном вызове скрипта, другой тоже попытался, ругнулся и ничего не записал? Как предусмотреть это в коде?

Источник: https://ru.stackoverflow.com/questions/566731/php-%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D1%8C-%D0%B2-%D1%84%D0%B0%D0%B9%D0%BB-%D0%B2-%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%BE%D0%BC-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D0%B5

Тебе может это понравится...

Добавить комментарий