Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> upload plików - bezpieczna nazwa, jak przetworzyć nazwę pliku...
Birkoff
post 13.07.2005, 22:05:42
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 23.10.2003
Skąd: Gdańsk

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


Witam wszystkich zainteresowanych!

Uploaduje plik - raczej w standardowy sposób, bez udziwnień - kopiuje plik przez formularz, potem sprawdzenie czy jest skopiowany, potem wygenerowanie bezpiecznej nazwy i zapisanie go pod ta nazwa w katalogu docelowym.

Sprawa dotyczy właśnie tej bezpiecznej nazwy. Przepuszczam nazwe pliku przez taką funkcję:

  1. <?php
  2.  
  3. function safe_name($name) {
  4.     $name=trim($name);
  5.     $name=str_replace(&#092;" \", \"_\", $name);
  6.     $name=str_replace(&#092;"ś\", \"s\", $name);
  7.     $name=str_replace(&#092;"ć\", \"c\", $name);
  8.     $name=str_replace(&#092;"ą\", \"a\", $name);
  9.     $name=str_replace(&#092;"ó\", \"o\", $name);
  10.     $name=str_replace(&#092;"ż\", \"z\", $name);
  11.     $name=str_replace(&#092;"Ľ\", \"z\", $name);
  12.     $name=str_replace(&#092;"ń\", \"n\", $name);
  13.     $name=str_replace(&#092;"ł\", \"l\", $name);
  14.     $name=str_replace(&#092;"ę\", \"e\", $name);
  15.     $name=str_replace(&#092;"'\", \"_\", $name);
  16.     return $name;
  17.     }
  18.  
  19. ?>


Jak widać funkcja ta zamienia polskie naki zakodowane w iso-8859-2 na uniwersalne znaki z podstawowego zestawu liter z alfabetu...

Pytanie: jak przerobić tą funkcję na bardziej uniwersalną?

Jest ona dobra dla polskich znakow, ale co z innymi? RObię dajmy na to stronę dla Francuzów, a oni mają te swoje porypane akcenty, do tego kodowanie iso-8859-1.

Jak sprytnie przekonwertować taką nazwę na zakres podstawowych liter alfabetu A-Z i a-z oraz 1-9 bez żadnych dodatkowych literek, zamieniajac wszystkie spoza tego zakresu na znak podkreslenia: _ questionmark.gif

Podejrzewam, że możnaby użyć wyrażeń regularnych ale nie mam pojęcia jak...
Jeśli ktoś ma jakiś pomysł/gotowy skrypt/dobrą radę to bardzo proszę o pomoc smile.gif

Przenoszę: Skrypty php -> php / crashu


--------------------
Webcoder
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:43