Autor | Zpráva | ||
---|---|---|---|
Chuck Profil |
#1 · Zasláno: 14. 6. 2008, 09:10:13
Vážně jsem něco hledal, ale nenašel a tak se teda ptám.
mám formulář, který obsahuje název, popis a autora galerie a až 15 vložení souborů (fotek) na druhé straně se mi nejdřív uloží údaje o celé galerii do jedné databázní tabulky a vytvoří se příslušný adresář, kam se fotky nahrají. pak ale přichází 3 úkony, které nevím, jak přesně udělat: 1) kontrola souborů - chci, aby povolené formáty byly jen .jpg, .png, .gif a .bmp 2) samotné nahrání souborů, které prošly kontrolou, do vytvořeného adresáře 3) uložení dat o jednotlivých fotkách do druhé tabulky a to tak, že každý řádek bude mít 2 položky: název souboru a id galerie (které je také rovno názvu adresáře) - nevím jak udělat ten cyklus, aby se uložilo tolik fotek, kolik jich je přenášeno jednotlivé soubory mají name jednoduše: soubor1, soubor2... děkuji za pomoc |
||
Leo Profil |
#2 · Zasláno: 14. 6. 2008, 09:48:51
ad 1) getimagesize
ad 2) move_uploaded_file v manualu php je cela sekce o uploadu souboru, Leo |
||
Chuck Profil |
#3 · Zasláno: 14. 6. 2008, 10:02:24
našel jsem si ty tagy v manuálu, ale nijak jsem se neposunul...
|
||
Matty Profil |
#4 · Zasláno: 14. 6. 2008, 10:11:18
Chuck
ad 1) To je myslím nějak takto: $_FILES['jmeno']['type']=='images/jpeg' ... našel jsem si ty tagy Tagy jsou v HTML. V PHP jsou funkce. |
||
Vivan Profil * |
#5 · Zasláno: 14. 6. 2008, 13:56:46
1) kontrola souborů - chci, aby povolené formáty byly jen .jpg, .png, .gif a .bmp
$extension = array_pop(explode(".", $filename)); if( $extension == "jpg" && $extension == "bmp" ) |
||
Vivan Profil * |
#6 · Zasláno: 14. 6. 2008, 14:07:39
a lepšie pre tento prípad asi bude:
if ($soubor_type == "image/gif" OR $soubor_type == "image/jpeg") |
||
Zool Profil * |
#7 · Zasláno: 14. 6. 2008, 14:54:38
No ten typ se přece mění podle prohlížeče třeba mozilla nebo IE si jpg značí jak chce. ja asi takto
$koncovky = array('jpg', 'jpeg', 'png', 'gif'); if (!$_FILES || $_FILES["img"]["error"] == UPLOAD_ERR_INI_SIZE) { echo "Nastala chyba obr je příliš velký !!"; } elseif (!in_array(strtolower(pathinfo($_FILES["img"]["name"], PATHINFO_EXTENSION)), $koncovky)) { echo "Nastala chyba nevybrali jste správný soubor"; } elseif (!($imagesize = getimagesize($_FILES["img"]["tmp_name"])) || $imagesize[2] > 3) { echo "Špatný typ obr"; } else { move_uploaded_file($_FILES["img"]["tmp_name"], "slozka" . $_FILES["img"]["name"]); } |
||
Časová prodleva: 16 let
|
0