Jeśli ustawię sobie na pliku:
flock($plik, 2);
To próba czytania go nic nie zwróci, np:
$tresc = file_get_contents('test.txt');
To rozumiem i widzę, że można to jakoś ogarnąć, sprawdzając stan pliku przed odczytem.
A co zrobić w sytuacji, gdy modyfikuję sobie właśnie plik, a jednocześnie istnieje możliwość, że w tym samym czasie, ktoś zażąda do niego dostępu przez serwer, wpisując w przeglądarce:
domena.jakaśtam/test.txt
Z testów mi wychodzi, że żadne flock nie blokuje serwerowi dostępu do pliku.
- Czy jest zatem możliwe, że plik zostanie zmodyfikowany w trakcie odczytywania przez serwer i użytkownik dostanie niespójny ciąg danych?
- Jeśli tak, to czy istnieje jakaś metoda zabezpieczenia się przed tym prostsza niż żeby zamiast wywoływania pliku TXT, wywołać plik PHP, który to dopiero odczyta sobie ten TXT i wyświetli użytkownikowi, lub ew. wyświetli info, że plik jest właśnie modyfikowany?