Zadejte hledaný výraz...

Upload files

Lukas123
verified
rating uzivatele
13. 1. 2011 18:56:44
Dobrý den,
dělám pro sebe a pro další lidi UPLOAD. Pojede to na normálním hostingu.
Script jsem udělal takhle (částečně jsem se inspiroval):
Ale mám problém s tím, že když mám třeba soubor slovo.jpg a nekdo druhej nahraje slovo.jpg tak to napise, ze soubor existuje a nejde to, proto bych potřeboval, aby se když bude soubor už existovat, tak za název třeba daly 3 nahodná čísla, aby se odlišily soubory... snad mě chápete...
Nevíte někdo, jak na to ?
13. 1. 2011 18:56:44
https://webtrh.cz/diskuse/upload-files#reply599692
Patrik
verified
rating uzivatele
(18 hodnocení)
13. 1. 2011 19:33:50
jednoduché
pouzi k názvu time() alebo upravuj vzdy cely nazov ukladaneho img najlepsie scriptom na generovanie nahodneho kodu aj s pouzitim time() alebo aj bez
13. 1. 2011 19:33:50
https://webtrh.cz/diskuse/upload-files#reply599691
Lukas123
verified
rating uzivatele
13. 1. 2011 19:57:22
craZymans: Díky, ale moc nevím, jak se to "time()" pouziva...
---------- Příspěvek doplněn 13.01.2011 v 20:02 ----------
Mohl by prosím někdo napsat, jak by to mělo vypadat ? fakt nemám tušení :(
13. 1. 2011 19:57:22
https://webtrh.cz/diskuse/upload-files#reply599690
Patrik
verified
rating uzivatele
(18 hodnocení)
13. 1. 2011 20:28:15
posti sem cely kod aj s formularom a vsetkym ako to mas vlastne :)
13. 1. 2011 20:28:15
https://webtrh.cz/diskuse/upload-files#reply599689
Lukas123
verified
rating uzivatele
13. 1. 2011 21:01:53
Upload.html:
upload_file.php
if ((($_FILES == "image/gif")
|| ($_FILES == "image/jpeg")
|| ($_FILES == "image/png")
|| ($_FILES == "image/pjpeg"))
&& ($_FILES < 20000))
{
if ($_FILES > 0)
{
echo "Return Code: " . $_FILES . "
";
}
else
{
echo "Nahraná položka: " . $_FILES . "
";
echo "Typ: " . $_FILES . "
";
echo "Velikost: " . ($_FILES / 1024) . " Kb
";
echo "Temp file: " . $_FILES . "
";
if (file_exists("upload/" . $_FILES))
{
echo $_FILES . " - tento soubor již existuje, zvolte prosím jiné jméno. ";
}
else
{
move_uploaded_file($_FILES,
"upload/" . $_FILES);
echo "Stored in: " . "upload/" . $_FILES;
}
}
}
else
{
echo "Invalid file";
}
?>
---------- Příspěvek doplněn 13.01.2011 v 21:02 ----------
CrazyMans - tady to máš :)
13. 1. 2011 21:01:53
https://webtrh.cz/diskuse/upload-files#reply599688
johanek
verified
rating uzivatele
13. 1. 2011 21:42:46
nechapu co k tomu vic potrebujes ;)
---------- Příspěvek doplněn 13.01.2011 v 21:51 ----------
predpokladam, ze vubec netusis o co jde tudiz ocekavas, ze ti to nekdo cely napise coz u takhle malyho kodu neni problem, ale myslim, ze i pro tebe bude lepsi na to prijit.
ve funkci move_uloaded_file je druhy parametr nazev souboru => "upload/" . $_FILES
tudiz ti doporucuju nekde na zacatku vytvorit promennou $neco = $_FILES; a s ni nadale pracovat.
Pokud by ti stacilo prejmenovat soubor xxx.jpg na 6xxx.jpg tak to udelas jednoduse v te podmince kterou tam mas na zjisteni jestli uz tam ten nazev existuje - pokud ano tak upravis nazev v promenne $neco napr.: $neco = rand(1,10).$neco; to ti udela to, ze pokud uz ten soubor bude existovat nahodne se k nemu hodi cislo od 1 do 10. A to je vsechno. Samozrejme je tenhle zpusob spatnej, tudiz by jsi mohl pred misto rand hodit time(); coz ti vygeneruje 10 mistny cislo a to se ti opakovat nebude. A uplne nejlepsi by bylo kdyby jsi i po pripsani cisla zkontroloval jestli uz tam tento nazev neni.
13. 1. 2011 21:42:46
https://webtrh.cz/diskuse/upload-files#reply599687
Lukas123
verified
rating uzivatele
13. 1. 2011 22:16:58
nj, to se ti rekne :D ale ja tomu rozumim naprosto minimalně :D zkusim něco vymyslet no... ale pochyby, že něco dám dohromady..
13. 1. 2011 22:16:58
https://webtrh.cz/diskuse/upload-files#reply599686
martinzsa
verified
rating uzivatele
(1 hodnocení)
14. 1. 2011 13:19:09
Napsal Lukas123;614526
nj, to se ti rekne :D ale ja tomu rozumim naprosto minimalně :D zkusim něco vymyslet no... ale pochyby, že něco dám dohromady..
mne sa skor vidi ze tomu nerozumies vobec a ze si nasiel na nete komplet script prepisal maximalne texty ktorym si rozumel a tam tvoje chapanie problematiky konci... ale postup je jednoduchy ako ti uz pisal johanek, staci si doplnit za podmienku ktora ti kontroluje ci subor uz existuje kod ktory ti zmeni komplet nazov suboru pripadne k tomu nazvu pridas nahodne generovany retazec... Presne riesenie ti davat nebudem lebo ti ho uz johanek napisal len treba zapojit rozum.
14. 1. 2011 13:19:09
https://webtrh.cz/diskuse/upload-files#reply599685
Lukas123
verified
rating uzivatele
14. 1. 2011 14:51:18
Zkoušel jsem to udělat, jak napsal Johanek a využil i internetu, ale pořád skáče error...
14. 1. 2011 14:51:18
https://webtrh.cz/diskuse/upload-files#reply599684
martinzsa
verified
rating uzivatele
(1 hodnocení)
14. 1. 2011 15:51:47
tak napis kod ako si to opravil.... lebo pochybujem ze si spravil presne to co ti napisal
14. 1. 2011 15:51:47
https://webtrh.cz/diskuse/upload-files#reply599683
Lukas123
verified
rating uzivatele
14. 1. 2011 17:58:56
if ((($_FILES == "image/gif")
|| ($_FILES == "image/jpeg")
|| ($_FILES == "image/png")
|| ($_FILES == "image/pjpeg"))
&& ($_FILES < 20000000))
$neco = $_FILES;
{
if ($_FILES > 0)
{
echo "Return Code: " . $_FILES . "
";
}
else
{
echo "Nahraná položka: " . $_FILES . "
";
echo "Typ: " . $_FILES . "
";
echo "Velikost: " . ($_FILES / 1024) . " Kb
";
echo "Temp file: " . $_FILES . "
";
if (file_exists("upload/" . $_FILES))
{
echo $_FILES . " - tento soubor již existuje, zvolte prosím jiné jméno. " ;
$neco = time() rand(1,10).$neco;
}
else
{
move_uploaded_file($_FILES,
"upload/" . $_FILES);
echo "Stored in: " . "upload/" . $_FILES;
}
}
}
else
{
echo "Invalid file";
}
?>
14. 1. 2011 17:58:56
https://webtrh.cz/diskuse/upload-files#reply599682
Patrik
verified
rating uzivatele
(18 hodnocení)
14. 1. 2011 19:49:23
if ((($_FILES == "image/gif")
|| ($_FILES == "image/jpeg")
|| ($_FILES == "image/png")
|| ($_FILES == "image/pjpeg"))
&& ($_FILES < 2000000))
{
if ($_FILES > 0)
{
echo "Return Code: " . $_FILES . "
";
}
else
{
echo "Nahraná položka: " . $_FILES . "
";
echo "Typ: " . $_FILES . "
";
echo "Velikost: " . $_FILES . " Kb
";
echo "Temp file: " . $_FILES . "
";
$time = time();
$znak = "-";
if (file_exists("upload/" . $_FILES))
{
move_uploaded_file($_FILES, "upload/" . $time . $znak . $_FILES);
echo "Stored in: " . "upload/" . $time . $znak . $_FILES;
}
else
{
move_uploaded_file($_FILES, "upload/" . $_FILES);
echo "Stored in: " . "upload/" . $_FILES;
}
}
}
else
{
echo "Invalid file";
}
?>
skus to takto
14. 1. 2011 19:49:23
https://webtrh.cz/diskuse/upload-files#reply599681
Lukas123
verified
rating uzivatele
14. 1. 2011 21:07:42
Děkuju moc! Funguje... Teď to jdu celý prostudovat, abych věděl pro přístě...
Ještě se chci optat, zda u time() jde omezit na méně znaků než na 10 (např. jen na 3 vygenerovaný)..
Dávám REP+ :)
14. 1. 2011 21:07:42
https://webtrh.cz/diskuse/upload-files#reply599680
martinzsa
verified
rating uzivatele
(1 hodnocení)
15. 1. 2011 00:42:35
presne ako som si myslel. vedomosti ziadne a ochota premyslat nulova.
ale aby si nepovedal ze som zly tak dlzka sa da obmedzit kedze time() je funkcia ktora ti vrati aktualny cas, a to tak ze pouzijes funkciu na orezanie retazca konkretne SUBSTR(retazec, zaciatocny_index, dlzka).
Cize ak chces vygenerovat iba prve 3 znaky tak pouzijes SUBSTR($time, 0, 3) cize vo vysledku bude tvoj kod vyzerat nasledovne:
$time = time();
$znak = "-";
if (file_exists("upload/" . $_FILES))
{
move_uploaded_file($_FILES, "upload/" . substr($time, 0, 3) . $znak . $_FILES);
echo "Stored in: " . "upload/" . substr($time,0 , 3 ) . $znak . $_FILES;
}
else
{
move_uploaded_file($_FILES, "upload/" . $_FILES);
echo "Stored in: " . "upload/" . $_FILES;
}
15. 1. 2011 00:42:35
https://webtrh.cz/diskuse/upload-files#reply599679
Lukas123
verified
rating uzivatele
15. 1. 2011 10:38:25
martinzsa: Děkuju moc... Já nikdy s "pokročilýma" funkcema nedělal a tak se pro mě těžké na něco přijít, když vůbec nevím, že to existuje. Též dávám reputaci :)
Určitě teď už si postup budu pamatovat :) Každej byl jednou začátečník a učil se...
Ještě jednou díky moc za pomoc :)
15. 1. 2011 10:38:25
https://webtrh.cz/diskuse/upload-files#reply599678
Pro odpověď se přihlašte.
Přihlásit