я должен использовать flock при чтении файла в PHP?

Итак, я новичок в PHP, и пример из книги показывает, что когда я пишу в файл в php, я должен использовать flock ($ fp, LOCK_EX) после открытия файла, а затем flock ($ fp, LOCK_UN) перед закрытием файла , Как это:

$fp = fopen("$DOCUMENT_ROOT/order.txt", 'ab');
flock($fp, LOCK_EX);
fwrite($fp, $outputstring, strlent($outputstring));
flock ($fp, LOCK_UN);
fclose($fp);

Но в другом примере о том, как читать файл, я не уверен, что автор забыл поставить flock () или нет необходимости ставить flock () при чтении файла. Вот пример:

$fp = fopen("$DOCUMENT_ROOT/order.txt", 'rb');
while (!feof($fp))
{
$order = fgets($fp, 999)
echo $order."<br/>";
}
fclose($fp);

Так я должен поставить flock () во втором примере или нет?

Заранее спасибо.

1

Решение

Нужно только использовать flock если будет несколько процессов, обращающихся к файлу одновременно.

Если в коде, который пишет в файл, всегда будет работать только одна копия, вам, вероятно, не нужно использовать flock, Однако если возможно, что несколько процессов могут попытаться запустить код (и, следовательно, получить доступ к файлу) одновременно, то вам следует использовать flock чтобы убедиться, что они делают это по одному.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]