Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] file_exists, rename i polskie znaki
Regss
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 7.05.2006

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


Witam!
Mam taki skrypt:
  1. <?PHP
  2. echo '<img src="ó.jpg">';
  3. if (file_exists("ó.jpg")) {
  4. echo 'ok';
  5. } else {
  6. echo 'no';
  7. }
  8. rename("ó.jpg", "1.jpg");
  9. ?>


Kodowanie wszędzie ustawione na UTF-8 obrazek wyświetla się prawidłowo jednak file_exist() i rename() nie widzi tego pliku. Jest to mi potrzebne do zmiany nazw w większej ilości plików. W nazwach mogę znaleźć się nie tylko polskie litery ale też litery innych krajów.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-seorin-
post
Post #2





Goście







Witam,
Ciekaw jest czy znalazł ktoś może rozwiązanie na ten temat?

Gdyż mam ten sam problem.
Otóż próbowałem już robić to na localhoscie i na windowsie i na ubuntu i mam ten sam problem wszędzie.

Pomyślałem że zrobię coś takiego:

  1. if($extension==$this->lang["dir"] || $extension==$this->lang["noExtension"])
  2.  
  3. {
  4. if(mb_detect_encoding($file)=='UTF-8'){
  5. $nazwa=iconv('', mb_detect_encoding($file),$directory);
  6. $nazwa2=$this->remove_pl($directory, 'utf8');}
  7. else{
  8. $nazwa=iconv('', mb_detect_encoding($file),$directory);
  9. $nazwa2=$this->remove_pl($nazwa, 'latin2');}
  10. rename($nazwa,$nazwa2);
  11.  
  12. }
  13.  
  14. else{
  15. if(mb_detect_encoding($file)=='UTF-8'){
  16. $nazwa=iconv('', mb_detect_encoding($file),$directory);
  17. $nazwa2=$this->remove_pl($directory, 'utf8');}
  18. else{
  19. $nazwa=iconv('', mb_detect_encoding($file),$directory);
  20. $nazwa2=$this->remove_pl($nazwa, 'latin2');}
  21.  
  22. rename($nazwa,$nazwa2);
  23.  
  24. }

Szybkie objaśnienie:
Funkcja remove_pl() usuwa polskie znaki z nazwy.

Co zauważyłem:
O ile na windzie standardowo nic nie chodziło to na ubuntu ma problem jedynie z niekturymi plikami z kodowanie UTF-8, wszystkie te z rozszerzeniem ASCII idą bez problemu.
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.10.2025 - 22:29