Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Upload problem z polskimi znakami
Forum PHP.pl > Forum > PHP
Sebastian003
Witam. Mam problem z uploadowaniem zdjęć w których występują polskie litery.
Przy uploadowaniu zdjęcia zapisują się innymi nazwami niż podane i zapisane do bazy danych, dlatego później nie mogę ich otworzyć z pobranego z bazy adresu. Np. plik ławka.jpg do bazy mysql zapisywany jest normalnie a na serwerze zostaje zapisany pod nazwą ¶awka.jpg i otwierając plik na podstawie nazwy zapisanej w bazie nie znajduje tego pliku. Co mogę zrobić żeby uniknąć takich problemów? Tak samo oczywiście jest z innymi znakami. Z góry dzięki za odpowiedź.
KCG
Zapisuj pod innymi nazwami smile.gif np. data+id z bazy.
Sebastian003
no nie wiem czy to wypali sad.gif
strife
Cytat(Sebastian003 @ 10.05.2007, 19:07:11 ) *
no nie wiem czy to wypali sad.gif

Musi wypalić, nie używa się polskich znaków dla plików na serwerze. Zrób to co zasugerował KCG, jest to najlepsze rozwiązanie. I nie pisz takich postów dopóki nie sprawdzisz zaproponowanego rozwiązania winksmiley.jpg (ew. możesz zapisywać obrazki pod nazwą md5($nazwa_zdjecia) )
misiek172
ja osobiście używam do kodowania nazwy zdjęcia funkcji do kodowania URL, takich jak:

http://www.php.net/manual/pl/function.urlencode.php
i
http://www.php.net/manual/pl/function.urldecode.php

lub

http://www.php.net/manual/pl/function.rawurlencode.php
i
http://www.php.net/manual/pl/function.rawurldecode.php

Oczywiście możesz napisać również właśną funkcję kodującą czy też dekodującą.

Wystarczy, iż stworzysz tablice naprzykład w takim formacie:

$tab = Array(
'ą' => '@1',
'ć' => '@2'
);

to oczywiście tylko taki przykład tablicy...

potem użyjesz pętli do przeglądania znaków stringa, i funkcji str_replace(); lub preg_replace do podmiany znaków.
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.