Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapchana pamięć , problem z wyczyszczeniem tablicy
wicek
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 13.02.2014

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


Witam wszystkich ,

mam 100 plików txt , każdy 86k+ wierszy . Napisałem skrypt który otwiera plik obrabia go jak potrzebuję i zapisuje do jednego pliku wynik.las.
Więc dopisałem sobie aby odczytywał wszytskie pliki z katalogu pakował je do tablicy i w pętli foreach je obrabiał.
No i tu zonk ponieważ wyskakuje mi błąd pamięci , tablica nie zeruje się po jednorazwym przejsciu pętli tylko dodaje następny plik, lub jak otwieram plik file() to go nie zamyka i w drugim podejściu czyta oba pliki...
Szukam po necie rozwiązania jak ktoś pomoże będę dźwięczny smile.gif
Dodam iż próbowałem unset() na końcu i nic...

  1. <?
  2. $dirpath = "L:/WebServ/httpd/test/pliki/";
  3. if ($handle = opendir('L:/WebServ/httpd/test/pliki')) {
  4. while (false !== ($entry = readdir($handle)))
  5. if($entry != '.' && $entry != '..'){
  6. $tablica[] = $dirpath.$entry;
  7. }
  8. closedir($handle);
  9. }
  10. sort($tablica);
  11. foreach($tablica as $a){
  12. $f=file($a);
  13. array_splice($f,0,63);
  14. foreach($f as $line){
  15. $newf.=substr($line,1);
  16. }
  17. $f = str_replace("\r\n","@",$newf);
  18. $f2 = preg_replace('/\s+/',' ', $f);
  19. $f3 = str_replace("@","\r\n",$f2);
  20. $f4 = str_replace(" ",",",$f3);
  21. $f5 = array($f4);
  22. foreach($f5 as $row){
  23. $co = array('/(\d{4})(\d{2})(\d{2}).(\d{2})(\d{2})(\d{2})/');
  24. $na = array('\1-\2-\3 \4:\5:\6');
  25. $f6 = preg_replace($co, $na,$row);
  26. }
  27. $x = fopen("wyniki.las","a");
  28. fputs($x, $f6);
  29. fclose($x);
  30. }
  31.  
  32. ?>



Z góry dziękuję i pozdrawiam

Wicek

Ten post edytował wicek 13.02.2014, 11:05:11
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 21.08.2025 - 06:36