Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Czyszczenie pliku, najlepsza opcja?, Oraz czy używać fclose();?
KsaR
post
Post #1





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


Potrzebuje czyścić wielokrotnie mały plik. ( w pętli, Zależnie od warunku ...)
Waży jakieś 0.22-0.30kB i zawiera cookie.

Na początku gdy to robiłem nie przemyślałem i użyłem odrazu:

file_put_contents('./plik.txt', '');

Jednak w pętli to się okazuje wolniejsze.
Jak wiadomo to wrapper, i ma w sobie fopen(), fwrite(), fclose(); + samo w sobie jest czwartą funkcją


I tu pytanie.
Samo...
fopen('./plik.txt', 'w');
Robi dokładnie to samo.
Czy jest jakiś konkretny cel żeby użyć w moim wypadku fclose(), czy nie muszę?
Jak przypominam, plik waży niecałe ⅓kB.

Pytam bo zawsze file_put_contents() uzywalem jako ze latwiejsze do zapamietania.

Ten post edytował KsaR 20.03.2016, 16:56:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
com
post
Post #2





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


bo robisz to źle, w pętli masz kasować zawartość pliku, a nie otwierać n razy czyli ftruncate($fp, 0); (IMG:style_emoticons/default/wink.gif)

My zrozumieliśmy, a Ty nie (IMG:style_emoticons/default/wink.gif)

fclose zamyka uchwyt do pliku a nie plik, tryb nie ma znaczenia. To są podstawy kolego.
Go to the top of the page
+Quote Post
KsaR
post
Post #3





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


Cytat(com @ 21.03.2016, 22:48:34 ) *
bo robisz to źle, w pętli masz kasować zawartość pliku, a nie otwierać n razy czyli ftruncate($fp, 0); (IMG:style_emoticons/default/wink.gif)

My zrozumieliśmy, a Ty nie (IMG:style_emoticons/default/wink.gif)

fclose zamyka uchwyt do pliku a nie plik, tryb nie ma znaczenia. To są podstawy kolego.

Zauwaz ze ta funkcja pierwszy raz padla wiec dopiero chyba zrozumiales,

Btw.
Cytat
If you want to empty a file of it's contents bare in mind that opening a file in w mode truncates the file automatically, so instead of doing...

  1. <?php
  2. $fp = fopen("/tmp/file.txt", "r+");
  3. ftruncate($fp, 0);
  4. fclose($fp);
  5. ?>


You can just do...

  1. <?php
  2. $fp = fopen("/tmp/file.txt", "w");
  3. fclose($fp);
  4. ?>

http://php.net/manual/pl/function.ftruncate.php
^ 1szy komentarz...

Czyli ten komentarz + twoja wypowiedz ze zamykac niejako rozwiązuje moje pytanie.
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 21:25