Задать вопрос
okovalev
@okovalev

File_put_contents() с флагом LOCK_EX блокирует файл только для PHP или для всех программ?

Вот у file_put_contents есть флаг LOCK_EX (Получить эксклюзивную блокировку на файл на время записи. Другими словами, между вызовами fopen() и fwrite() произойдет вызов функции flock(). Это не одно и то же, что вызов fopen() с флагом "x".)
Я не понимаю, он только для php блокирует файл или для всех программ?
т.е. я боюсь, что bash-скрипт допустим может прочитать файл, когда он еще записан только наполовину)
  • Вопрос задан
  • 158 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
Ssssory
@Ssssory
Develop
Все функции с файловой системой, которые на f или file работают, условно, через api операционной системы. Условно, работают напрямую с памятью, а значит, блокировка будет не на уровне языка. LOCK_EX удобная и надёжная опция. Можно и нужно использовать.
Ответ написан
Комментировать
@profaller
Для всех, т.к. вся работа с файлами внутри любой программы так или иначе будет осуществляться через вызовы функций ядра ОС.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы