Autor Zpráva
Chuck
Profil
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
ad 1) getimagesize
ad 2) move_uploaded_file

v manualu php je cela sekce o uploadu souboru, Leo
Chuck
Profil
našel jsem si ty tagy v manuálu, ale nijak jsem se neposunul...
Matty
Profil
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 *
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 *
a lepšie pre tento prípad asi bude:
if ($soubor_type == "image/gif" OR $soubor_type == "image/jpeg")
Zool
Profil *
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"]);
}

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: