Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zapis i odczyt pliku
patryczakowy
post
Post #1





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


Witam zrobiłem prosty system cachowania polega na tym że w cronie co 15 minut jest generowany plik z danymi natomiast na stronie zawartość tego pliku jest wyświetlania do zapisu i odczytu blokowane są pliki i jak podejrzewam tu właśnie jest problem gdyż cron od czasu do czasu zawiesza serwer, poniżej są dwie funkcjie odpowiedzialne za odczyt i zapis do pliku czy da rady je jakoś zoptymalizować żeby taka sytuacja nie występowała może usunąć blokowanie plików
  1. function zapisz($plik,$dane)
  2. {
  3. $uchwyt=fopen($plik,'wb,./');
  4. if($uchwyt)
  5. {
  6. flock($uchwyt, LOCK_EX);
  7. fwrite($uchwyt,$dane);
  8. flock($uchwyt, LOCK_UN);
  9. fclose($uchwyt);
  10. }
  11. }
  12. function czytaj($plik)
  13. {
  14. $uchwyt=fopen($plik,'rb');
  15. if($uchwyt)
  16. {
  17. flock($uchwyt, LOCK_SH);
  18. $zwrot=file_get_contents($plik);
  19. flock($uchwyt, LOCK_UN);
  20. fclose($uchwyt);
  21. return $zwrot;
  22. }
  23. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


a nie możesz użyć po prostu samego file_put_contents i file_get_contents ?
Go to the top of the page
+Quote Post
patryczakowy
post
Post #3





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


mogę ale co w przypadku gdy w momencie zapisu nastą pi odczyt tego pliku bo zastosowanie flagi LOCK_EX da chyba ten sam efekt co przy użyciu poprzednich funkcji
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Możesz zawsze spróbować, jak dla mnie może to działać w inny sposób - w końcu to inne funkcje.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 16:33