Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Polskie znaki w nazwach plików
Forum PHP.pl > Forum > Przedszkole
pablos83
Skrypt pobiera pliki na serwer. W nazwach plików są polskie znaki diakrytyczne i skrypt zastępuje te znaki jakimiś innymi symbolami.
Paranoja. Co może być przyczyną? Czy może to być wina systemu serwera? Jak temu zapobiec?
erix
Może być wina systemu. A może być też wina braku kodowania przez URL.

Nie napisałeś, jak pobiera.
piotr94
najlepiej usuwać z plików wszystkie polskie znaki, a pełne nazwy kodować w bazie danych - uwierz że będziesz miał z polskimi znakami w nazwach plików duużo problemów ;-)
pablos83
Cytat(piotr94 @ 12.11.2009, 19:10:13 ) *
najlepiej usuwać z plików wszystkie polskie znaki, a pełne nazwy kodować w bazie danych - uwierz że będziesz miał z polskimi znakami w nazwach plików duużo problemów ;-)


tak też uczyniłem wstawiając taki skrypt:

  1. $file = basename($_FILES['dodajZdjecie']['name']); // pobiera oryginalną nazwę pliku
  2. $file = strtolower($file); //zamienia wszystkie znaki na znaczki :)
  3. $file = strtr($file, "ą", "a"); //w zmiennej $file zamienia ą na a i ją nadpisuje
  4. $file = strtr($file, "ć", "c");
  5. $file = strtr($file, "ę", "e");
  6. $file = strtr($file, "ł", "l");
  7. $file = strtr($file, "ń", "n");
  8. $file = strtr($file, "ó", "o");
  9. $file = strtr($file, "ś", "s");
  10. $file = strtr($file, "ź", "z");
  11. $file = strtr($file, "ż", "z");
  12. $file = strtr($file, "ž", "z"); //ž inny dowolny znak


może komuś się przyda
Fifi209
Przecież istnieje coś takiego jak str_replace(), więc popraw swój kod. winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.