![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 14.06.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Mam system do uploadu plików na serwer. Chcę, żeby podczas uploadu wszystkie polskie literki w nazwie pliku zmieniały sie na ich odpowiedniki bez ogonków (ą na a, ę na e, itd.) Zrobiłem coś takiego
Co zrobić, żebym nie musiał robić str_replace dla każdej literki (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Wiem, że chyba trzeba wykorzystać tablice, ale nie wiem jak... Bedę bardzo wdzięczny za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował camelx 24.05.2005, 14:06:27 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
http://forum.php.pl/index.php?showtopic=30786
doczytaj se do konca |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 14.06.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nistety to nie działa. mój ko wygląda tak
Niestety to mi nie działa. Wyświetlaja się polskie znaki... |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
no ale przypisz coś po zamianie:
$filename=remove_plchars($filename2); |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 14.06.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No dobrze, już prawie działa. Większość literek się zamienia, bez zmian pozostają tylko "ą", "ó" i "ź". Dlaczego tak się dzieje ?
Dodam, że ten fragment kodu w moim edytorze (phpEdit) wygląda tak: (IMG:http://a88.a8.funpic.org/i/2.jpg) Ten post edytował camelx 24.05.2005, 15:00:21 |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A jak wygląda ta nazwa pliku. moze masz coś z dużej?
Coś ci ten obrazek się pomylil (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 14.06.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
nazwa pliku to: ąćęłóśżź.txt
|
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
a mi zamienia (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Ten post edytował nospor 24.05.2005, 15:11:01 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 14.06.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
mi też zmienia jeżeli napiszę sobie $filename2='ąćęłóśżź.txt'; ale przy uploadzie jak mam $filename = $HTTP_POST_FILES['plik']['name']; już nie działa :/. ó, ą, ź się nie zmianiają...
|
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
znaczy się że nie otrzymujesz óź, daj echo na pobranej nazwie pliku i pokaz co otrzymasz
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 14.06.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Chyba jest ok. Wrzuciłem plik "ziółko.txt" i wszystko się zamieniło. To była pewnie wina tego zestawienia znaków obok siebie, ale chyba nikt nie będzie dodawał pliku o nazwie 'ąćęłóśżź'...
Wielkie dzięki za pomoc! edit---- ź się wciąż nie zamienia. Wrzuciłem plik "maź.txt" i się nie zamieniło. Może jest jakaś inna przyczyna... Ten post edytował camelx 24.05.2005, 15:30:47 |
|
|
![]()
Post
#13
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Wszystko jest OK, tylko masz nazwę pliku zapisaną prawdopodobnie z kodowaniem windows, a w tablicy konwersji masz znaki w iso. W takich przypadkach sprawdza się mój kod, który zamieściłem w jednym z niedawnych wątków. Ktoś tam pisał, że nie działa, ale jest on sprawdzony i działa w wielu moich aplikacjach.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 14.06.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No rzeczywiście kszychu, miałeś rację, Twój kod działa świetnie.
Jeszcze raz dzieki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#15
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
iconv" title="Zobacz w manualu PHP" target="_manual
Cytat string iconv ( string in_charset, string out_charset, string str ) Performs a character set conversion on the string str from in_charset to out_charset . Returns the converted string or FALSE on failure. If you append the string //TRANSLIT to out_charset transliteration is activated. This means that when a character can't be represented in the target charset, it can be approximated through one or several similarly looking characters. If you append the string //IGNORE, characters that cannot be represented in the target charset are silently discarded. Otherwise, str is cut from the first illegal character. i konwertujemy z iso/win/inny na latin1 z //TRANSLIT, chociaz nie dzialao mi to kiedys, ale polecam sprawdzic. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 14.06.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No i znów mam mały problem. Umieściłem stronkę na serwerze funpic.org i tam mi nie działa to zamienianie znaków. U mnie na serwerze i na host.sk wszysko działa bez problemu. Może na funpic.org jest jakieś inne kodowanie (nie znam się na tym)...
Jak myślicie, jaki jest powód (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#17
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Tak i po problemie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) wszytko ladnie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 02:28 |