[php] Blokady plików w PHP

0

Kończę robić księgę gości i mam pewien problem jeśli chodzi o dopisywanie nowych postów. Zastanawiam się jak powinny być rozmieszczone blokady plików. Algorytm jest taki

  1. Otwiera plik do odczytu
  2. Czyta całość do tablicy
  3. Zamyka
  4. Dodaje daną do tablicy na początek
  5. Otwiera do zapisu
  6. Zapisuje
  7. Zamyka plik.

Gdzie powinna znajdować się blokada żeby nie było żadnych problemów i jaki powinien być jej rodzaj?? Czy jeśli zablokuje plik i zamknę go to blokada dalej go trzyma??

0

Nie wiem czy to o takie blokowanie chodzi ale jeśli masz na myśli: flock ($fp, LOCK_EX); i flock ($fp, LOCK_UN); to w 2 książkach które właśnie czytam jest jaki schemat:

  1. otwarcie pliku
  2. flock ($fp, LOCK_EX);
  3. zczytanie danych
  4. flock ($fp, LOCK_UN);
  5. zamknięcie pliku;

podobnie przy zapisie.

0

Tak się właśnie zastanawiałem ale nie jestem pewny czy w tej przerwie pomiędzy odczytaniem a zapisaniem nie wskoczy ten sam skrypt ale uruchomiony przez inną osobę :| Ja che mieć pewnośc że ten plik nie będzie użyty przez inny skrypt do czasu wykonania bierzącego <lol>

0

Do tego właśnie służy flock aby temu zapobiegać. Dzięki temu inny skrypt "grzecznie" poczeka az zwolni sie dostep do tego pliku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0