Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> polskie znaki w nazwach plików
a79rtur
post
Post #1





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


czesc
wrzucam na konto z obsluga php pliki rozne. mam skrypt php ktory tworzy strone html z linkami do plikow i katalogow. niestety nie da sie sciagac tych ktore zawieraja w nazwie polskie litery, pisze ze nie ma takiego pliku. co moze byc tego przyczyną ?
skrypt wyglada w skrócie tak
  1. <?php
  2.  
  3. ......
  4. $katalog='.';
  5. $wsk_katalogu=opendir($katalog);
  6.  
  7. while(false !== ($nazwa_pliku=readdir($wsk_katalogu))) 
  8. {
  9.  
  10. if(($nazwa_pliku!='.') and ($nazwa_pliku!='..') and (strstr($nazwa_pliku, '.')!='.php'))
  11. echo '<a href=\"'.$nazwa_pliku.'\">'.$nazwa_pliku.'</a><br />';
  12. }
  13.  
  14. closedir($wsk_katalogu);
  15. ....
  16. ...
  17.  
  18. ?>
Go to the top of the page
+Quote Post
borec
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 18.07.2003
Skąd: Tarnów

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


zamieniaj polskie znaki, np. ś -> s itd, unikniesz klopotow
Go to the top of the page
+Quote Post
a79rtur
post
Post #3





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


jakoś mnie to rozwiazanie nie satysfakcjonuje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . naprawde nie można nic z tym zrobić ?
Go to the top of the page
+Quote Post
Dabroz
post
Post #4





Grupa: Zarejestrowani
Postów: 286
Pomógł: 0
Dołączył: 1.11.2003
Skąd: Poland, Płock

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


  1. <?php
  2.  
  3. ......
  4. $katalog='.';
  5. $wsk_katalogu=opendir($katalog);
  6.  
  7. while(false !== ($nazwa_pliku=readdir($wsk_katalogu))) 
  8. {
  9.  
  10. if(($nazwa_pliku!='.') and ($nazwa_pliku!='..') and (strstr($nazwa_pliku, '.')!='.php'))
  11. echo '<a href=\"'.urlencode($nazwa_pliku).'\">'.$nazwa_pliku.'</a><br />';
  12. }
  13.  
  14. closedir($wsk_katalogu);
  15. ....
  16. ...
  17.  
  18. ?>


Ale raczej nie uzywaj PL liter w nazwach plikow...
Go to the top of the page
+Quote Post
borovsky
post
Post #5





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 1.09.2007

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


���깜�� - to są odpowiedniki żółćęąśźń przy odczycie nazw z katalogów

pytanie, czy te znaki zawsze będą takie same, ew, czy zawsze takie same będą na tym samym serwerze, możnaby wtedy stosować zamianę tych krzaków na ich ziemskie odpowiedniki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
ps. nie wiem czy w ogóle te krzaczki dobrze się na waszych ekranach wyświetlą

edit// widze teraz ze nawet ilosc znakow se nie zgadza

słuchajcie, problem jest taki, że klient wrzuca przez FTP pliki z lokalnej galerii i upiera się, by uwzględniać polskie znaki w nazwach
może inny jezyk niż PHP? proszę o pomoc

Ten post edytował borovsky 14.08.2008, 07:51:37
Go to the top of the page
+Quote Post
ucho
post
Post #6





Grupa: Zarejestrowani
Postów: 300
Pomógł: 32
Dołączył: 31.07.2006

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


Wytłumacz mu żę standard definiujący adresy URL/URI nie przewiduje narodowych znaczków. Problem jest choćby taki, że przeglądarka nie wie czy w zapytaniu do serwera ma zakodować pliterki w adresie jako iso czy utf - no bo niby skąd ? Nawet jak we wszystkich adresach zrobisz urlencode to znajdą się przeglądarki (niedużo, ale zawsze) które nie dadzą rady ich otworzyć.
Najprostsze rozwiązanie poza "polskawymi literkami" to modrewrite i nazwy w stylu "32,żółtyobrazek.jpg" - nie ważne czy przeglądarka poradzi sobie z polskimi literkami bo wyślesz obrazek na podstawie identyfikatora (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
borovsky
post
Post #7





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 1.09.2007

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


moge zaproponować jedynie forme: _z_o_l_c oraz ja_x_n ale naprawdę nie wiem czy oni chcą zmieniać nazwy każdego pliku. nie chcą też panelu administracyjnego.
Go to the top of the page
+Quote Post
calebos
post
Post #8





Grupa: Zarejestrowani
Postów: 104
Pomógł: 3
Dołączył: 22.02.2008

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


Zastosuj urlencode i zapisz go tak potem jak uzywasz to odkodujesz.
Go to the top of the page
+Quote Post
borovsky
post
Post #9





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 1.09.2007

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


urlencode nic nie zmienia a znaczki nadal krzaczki
pytam się czy może ktoś zarzucić listingiem z odczytem katalogu + pl chars?

Ten post edytował borovsky 14.08.2008, 11:32:10
Go to the top of the page
+Quote Post
calebos
post
Post #10





Grupa: Zarejestrowani
Postów: 104
Pomógł: 3
Dołączył: 22.02.2008

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


Nie rozumiem skoro dziala przy przekazywaniu przez URL to dlaczego mialby nie dzialac w tym przypadku ?
Go to the top of the page
+Quote Post
golaod
post
Post #11





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


Jak tak bardzo Ci potrzebne te polskie litery to w url zamieniaj je na encje & #321; itd a potem z powrotem na polskie znaki.

Ten post edytował golaod 14.08.2008, 13:10:07
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.10.2025 - 13:41