Autor Zpráva
davef6
Profil
mám kód pro upload obrázku a potřebuji to rozšířit na více obrázků pomocí foreach, ale nevím jak to přesně udělat

if ($_GET[action] == "upload") {
	$blok = $_POST['blok'];
	$blok_upr = StrTr($blok, "\xe1\xe4\xe8\xef\xe9\xec\xed\xb5\xe5\xf2\xf3\xf6\xf5\xf4\xf8\xe0\xb9\xbb\xfa\xf9\xfc\xfb\xfd\xbe\xc1\xc4\xc8\xcf\xc9\xcc\xcd\xa5\xc5\xd2\xd3\xd6\xd5\xd4\xd8\xc0\xa9\xab\xda\xd9\xdc\xdb\xdd\xae", "aacdeeillnoooorrstuuuuyzAACDEEILLNOOOORRSTUUUUYZ");
	$blok_upr = str_replace(" ", "-", $blok_upr);
	$id_kategorie = $_POST['kat'];
	$numb_fota = $_POST['obrazek'];
	$id_uziv = $_SESSION['id'];
	$max_file_size = "2500000";
	$typ = $_FILES['obrazek']['type'];
	$allowed_types = array("image/jpeg", "image/pjpeg");
	if (!in_array($typ, $allowed_types)) echo "<p>Podporován pouze .jpg formát</p>";
	elseif ($_FILES['obrazek']['size'] > $max_file_size) echo "<p>Maximální povolená velikost obrázku jsou 2MB</p>";
	elseif (empty($id_kategorie)) echo "<p>Neni vybrána žádná kategorie</p>";
	elseif (empty($blok)) echo "<p>Zvolte název bloku.</p>";
	else {

		if (is_uploaded_file($_FILES["obrazek"]["tmp_name"])) move_uploaded_file($_FILES["obrazek"]["tmp_name"], "../img_thumbs/".$_FILES["obrazek"]["name"]);
		else {
			echo "<p>Nebyl vybrán žádný obrázek!!!</p>";
			exit();
		}

		$adresar_uziv = "../img_db/$blok_upr/";
		if (!is_dir($adresar_uziv)) mkdir($adresar_uziv, 0777);

		$adresar_uziv = "../img_db/$blok_upr/thumbs/";

		if (!is_dir($adresar_uziv)) mkdir($adresar_uziv, 0777);


		$prikaz = mysql_fetch_row(mysql_query("SELECT `AUTO_INCREMENT` FROM `information_schema`.`TABLES` WHERE `TABLE_NAME` = 'images' AND `TABLE_SCHEMA` = 'mp3stahujcz'"));

		$obrazek = "../img_thumbs/".$_FILES["obrazek"]["name"];
		$do_big = "../img_db/$blok/$prikaz[0].jpg";
		$do_thumb = "../img_db/$blok/thumbs/$prikaz[0].jpg";

		$do_big = StrTr($do_big, "\xe1\xe4\xe8\xef\xe9\xec\xed\xb5\xe5\xf2\xf3\xf6\xf5\xf4\xf8\xe0\xb9\xbb\xfa\xf9\xfc\xfb\xfd\xbe\xc1\xc4\xc8\xcf\xc9\xcc\xcd\xa5\xc5\xd2\xd3\xd6\xd5\xd4\xd8\xc0\xa9\xab\xda\xd9\xdc\xdb\xdd\xae", "aacdeeillnoooorrstuuuuyzAACDEEILLNOOOORRSTUUUUYZ");

		$do_thumb = StrTr($do_thumb, "\xe1\xe4\xe8\xef\xe9\xec\xed\xb5\xe5\xf2\xf3\xf6\xf5\xf4\xf8\xe0\xb9\xbb\xfa\xf9\xfc\xfb\xfd\xbe\xc1\xc4\xc8\xcf\xc9\xcc\xcd\xa5\xc5\xd2\xd3\xd6\xd5\xd4\xd8\xc0\xa9\xab\xda\xd9\xdc\xdb\xdd\xae", "aacdeeillnoooorrstuuuuyzAACDEEILLNOOOORRSTUUUUYZ");

		$do_thumb = str_replace(" ", "", $do_thumb);
		$do_big = str_replace(" ", "", $do_big);

		resizePhoto($obrazek, $do_thumb, '1000', '85', '1', '75');

		resizePhoto($obrazek, $do_big, '500', '2000', '1', '75');

		$cas = time();
		$vysledek = MySQL_Query("INSERT into images VALUES ('', '$do_big', '$do_thumb', '$cas', '$id_kategorie')");
		$vysledek2 = MySQL_Query("INSERT into img_blok VALUES ('', '$blok', '$blok_upr', '$cas', '$id_kategorie')");
		$id_obr = mysql_insert_id();
		MySQL_Query("INSERT into kat_img VALUES ('$id_kategorie', '$id_obr')");

		if ($vysledek and $vysledek2) {
			echo "<p>Nahrání fota proběhlo úspěšně.</p>";
			unlink($obrazek);
		} else  echo "<p>Nepovedlo se foto nahrát.</p>";
	}
}
}


kde do $numb_fota posílám <td><input name=\"obrazek[$c]\" type=\"file\" /></td>

jde mi jen o to jak umístit foreach, aby mi to fungovalo
djlj
Profil
Je to dost chaotický, ale obecně:
foreach($polesobrazky as $pole){...}

$polesobrazky bude v tvým případě asi $FILES['obrazek'].
AM_
Profil
djlj
Bohužel je to udělané trochu nešikovně, při uploadu pole je to $_FILES[formfield][name|size|tmp_name|error][index], takže ani foreachem se to nedá pořádně procházet, klasický for cyklus je lepší.
djlj
Profil
AM_
Mělo by to být $FILES['pole'][0]['size'] -- a tak dál.

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: