Игнорирует ли PHP File_get_contents блокировка файлов?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Игнорирует ли PHP File_get_contents блокировка файлов?

Сообщение Anonymous »

Я прочитал страницу Руководства PHP по функции 'file_get_contents', которая не указывает ничего о том, как ведет себя 'file_get_contents` в отношении блокировки файлов PHP. Однако в разделе комментариев пользователь Крис предполагает, что < /p>


file_get_contents обычно не уважает блокировку стадо, т. Е.
Advisory Bocking. < / / p>

Вы можете облегчить это с помощью дополнительного кода, чтобы запросить общую блокировку,
like ... < /p>
< /blockquote>

Код: Выделить всё

< /code>

, который я протестировал с успехом. Я также проверил, что, несмотря на то, что файл был заблокирован с помощью Flock () 
исключительно lock_ex , можно было прочитать еще один процесс PHP через файл через File_get_contents , как предложил бы комментарий. < /p>

Однако, и в основном я прошу информацию, я прочитал веб -страницу под названием «Чтение заблокированных файлов в PHP», которая утверждала следующее в отношении File_get_contents < /code> и блокировка файлов. < /p>


Чтение заблокированного файла с помощью файла file_get_contents () < /p>

< P> Это один из худшего способа прочитать файл, пока он заблокирован и изменен, потому что:

- file_get_contents () вернет пустую строку (например, в "")

- FileSize () вернет фактическое число байтов, записанных в файл < /p>
< /blockquote>

I Эта претензия правильно? Я запускаю некоторые тесты, блокируя файл исключительно и постоянно записывая его, используя при использовании File_get_contents в другом процессе PHP для чтения файла и не испытывал поведения, которое, как указано выше


file_get_contents () вернет пустую строку (например, в "") < /p>
< /blockquote>

В целом это правда, что PHP File_get_contents ничего не заботится о блокировке консультативных файлов.
Кроме того, я правильно предполагаю, что претензии, представленные на веб -странице пустой строки, возвращаемой File_get_contents, пустые ", являются правдой только в том случае, если файл пуст или временно пуст (в то время как изменение), но не в целом пустым (Только по причине того, что файл был Flock () ed)?

Подробнее здесь: https://stackoverflow.com/questions/492 ... le-locking
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»