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
Č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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: