Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] pliki - usuwanie ogonków, Problem przy dużych plikach?
-Wieviór-
post 14.02.2008, 19:22:24
Post #1





Goście







Sprawa ma się tak, ściągam Greys Anatomy i nagrywam dla mamy do odtwarzacza, który odpala napisy z pliku txt, problem ma tylko taki jak chyba każdy inny na rynku, nie czyta polskich znaków. Stwierdziłem więc, że napiszę skrypt, który będzie zamieniał wszystkie ś, ć, ą itp. na ich "znormalizowane" odpowiedniki, tj. odpowiedni s, c, ą itp.

Kod mam taki:

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2">
  4. </head>
  5. <body>
  6. <?
  7. $ogonki = array(
  8. 'ą' => 'a',
  9. 'ć' => 'c',
  10. 'ę' => 'e',
  11. 'ł' => 'l',
  12. 'ń' => 'n',
  13. 'ś' => 's',
  14. 'ó' => 'o',
  15. 'ź' => 'z',
  16. 'ż' => 'z',
  17.  
  18. 'Ą' => 'A',
  19. 'Ć' => 'C',
  20. 'Ę' => 'E',
  21. 'Ł' => 'L',
  22. 'Ń' => 'N',
  23. 'Ś' => 'S',
  24. 'Ó' => 'O',
  25. 'Ź' => 'Z',
  26. 'Ż' => 'Z',
  27. );
  28.  
  29. $skip = Array();
  30. $skip[] = '.';
  31. $skip[] = '..';
  32. $skip[] = 'Thumbs.db';
  33.  
  34. $katalog = opendir('pliki');
  35. while ($file = readdir($katalog))
  36. {
  37. if (!in_array($file, $skip)) 
  38. {
  39. $plik = fopen ('pliki/'.$file, 'r+');
  40. $plik2 = fopen ('pliki2/'.$file, 'w+');
  41.  
  42. $zawartosc = fread ($plik, '900000000');
  43.  
  44. $przerob = strtr ($zawartosc, $ogonki);
  45.  
  46. if (fwrite ($plik2, $przerob)) { echo 'OK! W pliku <b>'.$file.'</b> ogonki zostały usunięte!<br>'; } else { echo 'Nie udało się coś :(<br>'; }
  47.  
  48. fclose ($plik);
  49. fclose ($plik2);
  50. }
  51. }
  52. closedir ($katalog);
  53. ?>
  54. </body>
  55. </html>


No i w sumie wszystko działa, nie jestem pewien czy to dobrze generalnie robię, ale na plikach zbytnio nie umiem pracować, więc i tak jestem z rezultatu zadowolony.

Ale jest jeden problem, przy dużych plikach jakby skrypt się gubi i już nie zamienia wszystkiego... :/ Konkretniej - na problemy z ś i ą, czyli coś tu jest nie tak z kodowaniem, bo z ś i ą to zawsze są problemy :/ ... no ale jak napiszę sobie plik costam.txt z treścią powiedzmy:

Kod
ś, ą, ł, ń, Ź, costam dalej


To otrzymuję:

Kod
s, a, l, n, ź costam dalej


Czyli wszystko jest ok, dopóki plik jest mały chyba.

Ten post edytował Wieviór 14.02.2008, 19:23:38
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:16