Autor | Zpráva | ||
---|---|---|---|
faabdal Profil * |
Zdarvím,
mohlby mi někdo poradit s tím když chci uložit obrazek tak aby se mi automaticky uložil pod nějaky nazvem: např čas-pak by to mělo vypadat nejak takhle 123445.jpg, 357754.jpg atd.Zkratka aby se mi ty obrazky nepřepisovaly. Zkoušel jsem napsat něco takoveho ale nefunguje to... $jmeno=time(); settype($jmeno, "string"); $soubor_name = ($_FILES["obrazek"]["tmp_name"]); if (move_uploaded_file($_FILES['obrazek']['tmp_name'], $jmeno.".jpg")) {@chmod ($soubor_name, 0777);} ;?> <img src="<? echo $jmeno.".jpg"?>" /> <form method="POST" enctype="multipart/form-data" action="obrazek.php"> <input type="file" name="obrazek" accept="image/jpeg" > <input type="submit" value="Odeslat"> </form> Předem děkuju za radu... |
||
AM_ Profil |
#2 · Zasláno: 17. 11. 2009, 12:37:45
Čas není dost unikátní, náhoda je blbec a dva lidi můžou uploadovat v jednu sekundu.
Možnosti: - funkce uniqid() by měla vracet vždy unikátní číslo (nevím, jak přesně a do jaké míry je to zaručeno, ale považoval bych to za dostačující) - pojmenovávat třeba pomocí IP odesílatele (nebo ještě lépe uživatelské identifikace, pokud je upload pro přihlášené uživatele) + času, tam už je dost velká šance, že jeden člověk víc obrázků za vteřinu nenahraje - pokud bys to měl nějak propojené s databází, můžeš obrázky pojmenovávat podle auto_increment indexu v DB |
||
Časová prodleva: 14 let
|
0