Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kodowanie nazwy bez rozszerzenia
Forum PHP.pl > Forum > PHP
yarek12
Mam skrypt który wysyła pliki do folderu files ale jak trafią się 2 takie same pliki to nadpisuje je.
Więc wymyśliłem sobie żeby dodać do nazwy date, ale musiałbym dodać przed np .png lecz nie wiem jak się do tego zabrać, ktoś doradzał mi o funkcji STRING nic z tego.
Proszę o pomoc z góry dzienki
marcio
Uploaduj plik nadajac mu losowa nazwe do tego w bazie przypisuj wlasciwa z losowym kluczem(czyli z ta losowa nazwa) i tyle.
Nie ma bata zeby byly 2 takie same nazwy ;]
yarek12
Dzienki za pomoc ale już sobie poradziłem używając: explode('.', $file_name);
Crozin
Cytat
Uploaduj plik nadajac mu losowa nazwe (...) Nie ma bata zeby byly 2 takie same nazwy ;]
O czymś takim jak prawdopodobieństwo słyszał? Nazwy losować można, ale trzeba ją losować aż trafi się unikalna.
CuteOne
  1.  
  2. $file = explode('.',$filename);
  3.  
  4. $new_name = time().$file[0].end($file);
  5.  


unikalna nazwa(która na pewno się nie powtórzy) + dodanie rozszerzenia

Osobiście zrobił bym to w md5 smile.gif
Crozin
Cytat
unikalna nazwa(która na pewno się nie powtórzy) + dodanie rozszerzenia
Nie, na pewno nie dojdzie do powtórzenia nazwy, gdy w tym samym okresie czasu (sekunda może być względnie dużym okresem) dwie osoby dodadzą plik o podobnej (tutaj nawet nie musi być taka sama) nazwie pliku.

  1. do {
  2. $filename = md5(uniqid()); // możesz dowolną inną metodą generować nazwę
  3. } while (file_exists('/path/to/uploads/dir/' . $filename));
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.