ďťż

[PHP] Sprawdzanie wielkosci pliku

       

Podstrony


telcocafe

A wiec jak sprawdzic czy dany plik tekst.txt ma wiecej niz np 600 kb i w przypadku gdy plik jest wiekszy to skrypt wykonuje jakas funkcje np usuwa 10 pierwszych lini tekstu :P

Z gory dziekuje za wszelka pomoc :P
i Pozdrawiam



filesize( );


A wiec jak sprawdzic czy dany plik tekst.txt ma wiecej niz np 600 kb i w przypadku gdy plik jest wiekszy to skrypt wykonuje jakas funkcje np usuwa 10 pierwszych lini tekstu :P

Z gory dziekuje za wszelka pomoc :P
i Pozdrawiam


if(filesize($plik)>(600*1024)) usun_10_pierwszych_linii($plik);

Dobra to aqrat juz mialem xD Potrzebuje tylko jak zrobic zeby kasowal np pierwsze 10 lini czy cos :P
Użytkownik pi1er edytował ten post 27 listopad 2006, 17:11


Ej, no nie po to się męczyłem te 2h z napisaniem tego postu w FAQ, żebyś z niego nie korzystał <_<

Weź sobie funkcje file_get_contents(), file_put_contents() oraz substr() i manual php ;)

Ciagle slabo mi pomogles :P Patrzalem na php.net i i tak nie wiem jak uzyc tych funkcji xD

Pseudo kod:
function usun_500_pierwszych_znakow($plik) { $tresc = file_get_contents($plik); $tresc = substr($tresc, 500); return (file_put_contents($plik, $tresc)); } if(filesize($plik)>(600*1024)) usun_500_pierwszych_znakow($plik);

Dobra, super :D pewnie tez sie przyda...ale nie teraz xD ja potrzebuje kasowanie lini! bo jak bede kasowal znaki to bedzie zle! Ja musze kasowac linie :P Poprosze wersje z kasowaniem lini :P

A tak wogole to wielkie dzieki :D

To może mała podpowiedź..
Wczytaj zawartość pliku do tablicy - tak aby każdy element tablicy zawierał dokładnie jedną linię.
Następnie zapisz zawartość tablicy do pliku pomijając jej pierwsze 10 elementów.
Użytkownik ounc edytował ten post 27 listopad 2006, 18:25
file( 'plik' ) + wywalenie pierwszych x wierszy tablicy :)

To sobie zmień
$tresc = substr($tresc, 500); return (file_put_contents($plik, $tresc));
na
$tresc = explode("\r\n", $tresc); //lub "\n", jeśli działasz na linuksie $plik_tr = ''; for ($i=10; $i<count($tresc); $i++) { $plik_tr .= $tresc[i]; } return (file_put_contents($plik, $plik_tr));
//O, masakra, 2 posty spóźnienia, już chyba 3. raz mi się tak stało :(
Użytkownik pbnan edytował ten post 27 listopad 2006, 18:27
chyba cos jest i tak zle xD bo kasuje mi calkowicie zawartosc pliku txt.txt

a tak wyglada moj kod:
$plik = "txt.txt"; if(filesize($plik)>(6*1024)){ usun_500_pierwszych_znakow($plik); } function usun_500_pierwszych_znakow($plik) { $tresc = file_get_contents($plik); $tresc = explode("\r\n", $tresc); $plik_tr = ''; for ($i=10; $i<count($tresc); $i++) { $plik_tr .= $tresc[i]; } return (file_put_contents($plik, $plik_tr)); }

$plik = "txt.txt"; if(filesize($plik)>(6*1024)){ usun_500_pierwszych_znakow($plik); } function usun_500_pierwszych_znakow($plik) { $tresc = file_get_contents($plik); $tab = explode("\r\n", $tresc); $plik_tr = ''; for ($i=10; $i<count($tab); $i++) { $plik_tr .= $tab[i]."\r\n"; } return (file_put_contents($plik, $plik_tr)); }
Teraz coś lepiej może?

@down: to ja się poddaję
Użytkownik pbnan edytował ten post 27 listopad 2006, 19:28
Teraz wyszlo cos ciekawego xD Zamienil zawartosc calego pliku (ponad 20 lini) na same przeskoczenia do napstepnej xD

A czy czasem w tym pliku znaki nowej linii nie mają postaci \n zamiast \r\n ? Zamień \r\n w funkcji explode na samo \n i sprawdz efekt ..

wiecie co xD linie oddziela <br> :P (bo plik zawiera kod html) juz zmienialem kod (zamieniajac \r\n na <br>) ale ciagle sie knoci :P

(...) $plik_tr .= $tab[$i]."\r\n"; // $i zamiast i (...)
Użytkownik ounc edytował ten post 27 listopad 2006, 19:50
Juz mniejwiecej ok !! WIELKIE DZIEKI!

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.