Upload zip datotek

Pozdravljeni,

imam eno vprašanje glede nalaganja datotek. Ker imam lahko tudi do več enakih imen sem se odločil, da bi vsako ime, ki je poslano v zip datoteki, da bi ga obdelal z md5+funkcijo time(). Ali bi bilo tako vredu ali bi se mogel tega lotiti kako drugače?

Hvala za vsako pomoč.

10 odgovorov

Uporabi microtime() - se mi je že zgodilo da mi je pri obdelavi slik v 1s obdelalo 2 slike, kar je bila posledica da je prepisalo prvo.

Ali pač preverjaj če isto ime že obstaja in zgeneriraj dodaten string, ki ga daš na konec.

1

PHP omogoče tudi funkcijo uniqid:
http://php.net/manual/en/function.uniqid.php

1

Carli meni se je zadnjič po 10 letih prvič in je ratal cel hudič.
Ampak zadeva ma kar nekaj prometa

1

Ja v bistvu če narediš batch proces na strežniku je tak prepis čisto mogoč.
Sicer je uniqid zelo podoben microtime.

1

Hvala vsem za pomoč, bom poskusil z microtime() + ime+rendom stevilka :D tako da mislim, da do enakega zadetka nebi smelo prideti :)

čisto odvisno od prometa..če boš to delal enkrat na leto, potem je to dovolj.. če imaš veliko prometa potem checking če obstaja je nujen - zih je zih :)

1

FrEaKmAn:
čisto odvisno od prometa..če boš to delal enkrat na leto, potem je to dovolj.. če imaš veliko prometa potem checking če obstaja je nujen - zih je zih :)

Ja, če bo imel na tisoče uploadov na mikrosekundo bo res hudo.

2

you never know :P

Mislim, da toliko upload ne bo... Če se bo pa kaj spremenilo bom pa potem dodal še par vrstic kode. Hvala vsem, da ste mi pomagali razrešiti par stvari :)

Po mojem mnenju ti je najboljša rešitev uporaba "uniqid(md5(rand(1,9999)));"
uniqid uporablja microtime processorja in je praktično nemogoče da bi se imena ponovila, z dodajanjem naključnih številk v MD5 pa je možnost da se generirana imena križajo praktično nemogoča.