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
Regss
post
Post #2





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

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


Po przekonwertowaniu z windows-1250 na utf-8 znaki wyświetlane są prawidłowo bez krzaków. Próbując konwertować z niby wykrytego ISO-8859-1 wychodzą krzaki. Żeby zmienić nazwę pliku lub żeby file_exists zwróciło true robię tak:
  1. <?php
  2. $file = 'źżćń.txt';
  3. if (file_exists(iconv('utf-8', 'windows-1250', $file))) {
  4. echo 'ok';
  5. } else {
  6. echo 'error';
  7. }
  8. ?>


Najlepsze, że działa to na serwerach unixowych. Tylko przydało by się prawidłowo wykrywać kodowanie aby skrypt uczynić bardziej uniwersalnym.

Ten post edytował Regss 6.12.2011, 10:11:43
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 17.10.2025 - 01:10