Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Generator nazw plików, base64_encode alternatywa
Forum PHP.pl > Forum > PHP
szaman0
Witam

Przed zapisem pliku w katalogu używam poniższej funkcji do generowania jego nazwy. Problem tkwi w tym ze base64_encode zwraca czasem niedozwolone znaki w nazwie pliku w związku z czym zapis pliku się nie udaje. Korzystam z funkcji base64_encode ponieważ potrzebuje jej odpowiednika do odwrócenia procesu. Miałby może ktoś z Państwa pomysł jak rozwiązać problem z generowaniem niedozwolonych znaków?

  1. function generate($string){
  2. $algoritm = MCRYPT_BLOWFISH;
  3. $mode = MCRYPT_MODE_CBC;
  4. $key = 'key';
  5.  
  6. $iv = mcrypt_create_iv(mcrypt_get_iv_size($algoritm,$mode),MCRYPT_DEV_URANDOM);
  7.  
  8. $cipherText=mcrypt_encrypt($algoritm,$key ,$string, $mode,$iv);
  9.  
  10. $fileName = base64_encode($iv . $cipherText);
  11.  
  12. return $fileName;
  13. }
Pyton_000
Rób jakiś sha1 z nazwy i zapisuj parę przed - po generowaniu w BD
SmokAnalog
Albo zabezpiecz po prostu dostęp do tych plików zamiast zaciemniać ich nazwę.
szaman0
1. Pomysł z bazą nazw plików odrzuciłem ponieważ chciałem ograniczyć ilość zapytań do niej.

2. Generator nazw plików w takiej formie mógłby zawierać dodatkowe dane np. zaciemniony id użytkownika itd.

Cytat(SmokAnalog @ 6.03.2015, 08:28:47 ) *
Albo zabezpiecz po prostu dostęp do tych plików zamiast zaciemniać ich nazwę.


Pliki znajdują się po za katalogiem public i odpowiedz na zapytanie jest generowana poprzez zmianę nagłówka
tzm
Jeśli to obrazki i grafiki to leżysz jeśli chodzi o seo z takim rozwiązaniem, bad way, turn back
nospor
Cytat
Pomysł z bazą nazw plików odrzuciłem ponieważ chciałem ograniczyć ilość zapytań do niej.
To go przywroc. To co teraz robisz jest totalie bez sensu

Cytat
Generator nazw plików w takiej formie mógłby zawierać dodatkowe dane np. zaciemniony id użytkownika itd.
Tez mi zaciemnione... rownie dobrze mozesz trzymac jawnie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.