Autor Zpráva
enoice
Profil
ahoj,

určitě to na netu někde je... jenom jsem to nenašel... jestli je nějaký efektivní způsob jak nastavit unikátní název souboru v adresáři.... třeba po uploadu...

napadla mě možnost akorát vytvořit název souboru a pak ho postupně kontrolovat jestli tam takovej soubor už neni...


dík
Nox
Profil
Jak postupně?
Co třeba to uploadnout pouze pokud

if(!is_file(adresa))
Joker
Profil
Nox
A co když chce dovolit nahrát soubory s (původně) stejným jménem, ale pozměnit jméno na nějaké unikátní?

enoice
Šlo by například ukládat název souboru plus nějaký rozlišovač.

Řekněme, že by rozlišovač byl podtržítko a číslo.
Mohlo by to vypadat nějak takhle:
1. vymazat ze jména souboru všechna podtržítka
2. třeba přes databázi načíst hodnotu čítače a zvýšit jí o jedničku (v MySQL se na to dá použít tenhle trik)
3. jméno souboru = jméno souboru + "_" + hodnota čítače

Tohle by mělo generovat unikátní jména, protože ten rozlišovač na konci bude pokaždé jiný a zároveň přes skript nebude moct nikdo uložit konfliktní název souboru. Ale stejně bych tam nechal test, v případě že jméno souboru už existuje tuhle proceduru zopakovat (kdyby tam ten soubor někdo nahrál třeba přes FTP, aby to nezhavarovalo).

Tohle mě napadlo, neříkám, že to je nejlepší řešení, třeba někdo bude mít lepší ;-)
Nox
Profil
Joker
...tak pořád může dobře využít to, co sem napsal, protože zjistit jestli
tam ten soubor je bude potřebovat imho každopádně...stačí pouze rozšířit, co
jsem naťukl

To s číslem je v pohodě...pokud nemá hodně souborů, pak by to fungovalo taky,
ale možná by to bylo hezčí jinak, ale nevim jak...každopádně toto fungovat bude
havs
Profil
Já připojuju k nějakému prefixu time() .

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: