Autor | Zpráva | ||
---|---|---|---|
candiess Profil |
#1 · Zasláno: 9. 6. 2011, 19:42:28 · Upravil/a: candiess
Mam takový fajny kod na upload souboru, jenže co když ten soubor již existuje? Já nechci aby mi ho ten nový přepsal, tak jestli mi můžete poradit jak na ten cyklus, díky :))
Příklad: mam složku a v ní: neco.txt neco1.txt neco2.txt a nahrávám neco.txt, jak udělat aby se tam doplnila trojka na konec souboru? :) |
||
l564 Profil |
#2 · Zasláno: 9. 6. 2011, 20:01:14 · Upravil/a: l564
candiess:
Já mám vlastní taky nahrávač, a mám udělaný to že, neco-$datum.typ a jako $datum mám $datum = StrFTime("%d%m%Y%H%M%S", Time()); to znamená že soubor nikdy nebude shodný (funkce $datum = Datum Měsíc Rok Hodina Minuty Sekundy) Myslím že by bylo dobré aby jsi vzal název souboru, typ oddělil a pomocí funkce rename přejmenoval na název a třeba za pomlčku vložil 3 a ke konci přidal typ, tak že asi $nazev-3.$typ. |
||
Tori Profil |
#3 · Zasláno: 9. 6. 2011, 20:06:41
candiess:
Koukněte na funkci glob. Jinak kdybyste ukládal info o těch souborech do databáze, tak by to šlo zjistit dotazem. (asi něco jako SELECT COUNT(*) FROM soubory WHERE filename LIKE 'neco%' |
||
Michal Benda Profil |
#4 · Zasláno: 9. 6. 2011, 20:11:10 · Upravil/a: Michal Benda
$fileName = "neco.txt"; $parts = explode(".", $fileName); $newFileName = $fileName; $num = 1; $fileName = $parts[0]; $suffix = $parts[1]; while(file_exists($newFileName)){ $newFileName = $fileName.$num.".".$suffix; $num++; } Napřed je potřeba rozdělit neco.txt na jméno souboru a na jeho příponu a je možné přidávat na konec jména souboru potřebné číslo... Kontroluje, zda soubor neco.txt existuje, pokud ano, kontroluje, zda existuje soubor neco1.txt, atd. atd. Potom musíš pracovat už jenom s proměnnou newFileName. Dalo by se to samozřejmě izolovat do nějaké funkce, ale to by neměl být problém. Nemám to teďka ozkoušené, ale myslím, že by to mělo fungovat... EDIT: Jo a možná si to měl dát do sekce PHP... |
||
vynalezce Profil |
#5 · Zasláno: 9. 6. 2011, 20:28:13
l564:
A PHP (ASP, whatever) injection neřešíš, co.... ( $typ=={libovolná přípona, u které je povolen serverside scripting} ) |
||
candiess Profil |
#6 · Zasláno: 9. 6. 2011, 20:51:35
Hoši, to je všechno moc hezké ale otázku rozdělení přípony a datbázi už mám vyřešenou :)
A nakonec jsem to přec jen udělal, že každý soubor má svoje unikátní jméno :) a díky moc všem Prosím o uzavření téma, díky |
||
Tori Profil |
#7 · Zasláno: 9. 6. 2011, 20:56:59
candiess:
„A nakonec jsem to přec jen udělal, že každý soubor má svoje unikátní jméno“ Jestli to bylo nějaké jiné řešení, než ta, která jsme navrhovali, mohl byste ho sem kdyžtak napsat? Kdyby někdo další hledal řešení stejného problému tak ať má víc možností. Díky :) |
||
candiess Profil |
#8 · Zasláno: 9. 6. 2011, 21:31:45
Jistěže :))
$soubor = "neco.txt"; $pripona = substr(strrchr($soubor, '.'), 1); //tim dostaneme ,,txt" $novy = Date("Y-m-d-H-i-s"); // ,,2011-09-06-21-30-05" if(file_exists($soubor) { $soubor = $novy; } Je to jen takový ustřižek, cely kod by trvah hodiny než bych ho tu popsal, snad to bude někomu užitečné :) |
||
Časová prodleva: 13 let
|
0