![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 1 Dołączył: 4.08.2012 Ostrzeżenie: (10%) ![]() ![]() |
witam, oprocz bledu zadam o razu 2. pytanie aby nie zakladac nowego watku. ale najpierw blad (IMG:style_emoticons/default/wink.gif)
kod:
wyskakuje error - Warning: fclose() expects parameter 1 to be resource, integer given in... moglby ktos wyjasnic dlaczego? wydaje mi sie ze uzylem wszystkiego jak nalezy, fclose wymaga uchwytu, jest uchwyt: $fp. ale mimo wszystko napewno cos zle zrobilem wiec prosze o wskazanie bledu. i teraz pytanie: na kursie wyczytalem ze nalezy zamykac pliki funkcja fclose gdy skonczymy cos do nich zapisywac. bylo to dosyc mocno podkreslone. tutaj nie zamknalem ani $fp ani $fp2 i cały skrypt (wydaje sie ze) dziala jak nalezy. stad moje pytanie: co jezeli ignorowaloby sie zamykanie plikow, jakie sa konsekwencje? dziekuje i pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@untorched: Formalnie, wypadałoby jeszcze sprawdzać czy fwrite i fclose wykonały się w pełni poprawnie. Ot, cudowne API PHP-owskiej biblioteki standardowej.
@michat34: W momencie gdy skrypt PHP kończy swoją pracę wszystkie zewnętrzne zasoby (m.in. uchwyty do plików) są zamykane i zwalniane. Także nawet jeżeli byś w skrypcie mocno nawalił, istnieje duże prawdopodobieństwo, że nic złego się nie stanie. Nie mniej jednak, niezamknięcie pliku: 1. Niepotrzebnie wydłuża czas, gdy jest on otwarty, czyli wydłuża czas istnienia blokady systemowej na pliku. 2. Nie jestem pewien jak wygląda dokładnie implementacja fwrite w PHP, ale istnieje szansa, że jeżeli nie zamkniesz pliku w pewnych przypadkach żadne dane nie zostaną do niego zapisane. Tu należy pamiętać, że ostatecznie PHP zwalnia wszystkie zasoby, ale istnieje możliwość, że jego praca zostanie gwałtownie przerwana (np. brak zasilania). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 16:35 |