Autor Zpráva
kick-man
Profil *
Hledal jsem nějaký manuál na vložení více fotek s automatickým resizem,ale nikde jsem nic nenašel jen upload miniatury se standartem. Já by jsem se chtěl zeptat jak udělat aby se nejlépe udělal resize v cyklu. Mám kód kterým docílim jen hromadného vložení fotek, ale v rámci šetření místa na hostingu se chci zeptat na automatický resize. Vím jak to funguje (zjistit velikost fotky,dotaz jak má být velká,podle zjištěných parametrů zvolime velikost obrázku), ale nejsem nějak schopnej toho docílit. Nezná někdo nějakej link pro hotové řešení v cyklu a zmenšení poté upload na server? Předem děkuju

if (!empty($_FILES["images"])){
$uploads_dir = '../image/';
foreach ($_FILES["images"]["error"] as $keys => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["images"]["tmp_name"][$keys];
        $name = $_FILES["images"]["name"][$keys];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
}
kick-man
Profil *
$upload_dir  = "../image";
$upload_path = $upload_dir."/";
function resizeImage($image,$width,$height,$scale) {
	$newImageWidth  = ceil($width * $scale);
	$newImageHeight = ceil($height * $scale);
	$newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
	$source   = imagecreatefromjpeg($image);
	imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,$width,$height);
	imagejpeg($newImage,$image,90);
	chmod($image, 0777);
	return $image;
}
function getHeight($image) {
	$sizes  = getimagesize($image);
	$height = $sizes[1];
	return $height;
}

function getWidth($image) {
	$sizes = getimagesize($image);
	$width = $sizes[0];
	return $width;
}
foreach ($_FILES["images"]["error"] as $keys => $error) {
$large_image_name = $_FILES["images"]["tmp_name"][$keys];
$max_file    = "548576";
$max_width   = "550"; 

// Image Pobočky
$large_image_location = $upload_path.$large_image_name;
//Create the upload directory with the right permissions if it doesn't exist
if(!is_dir($upload_dir)){
	mkdir($upload_dir, 0777);
	chmod($upload_dir, 0777);
}

// Zjistit, zda některé obrazy se stejnými názvy již existují
if (file_exists($large_image_location)){
   	$large_photo_exists = "";
} else {
   	$large_photo_exists = "";
}

if (!empty($_FILES['images'])) {
	// Get informací o souboru
	$userfile_name = $_FILES["images"]["name"][$keys];
	$userfile_tmp = $_FILES["images"]["tmp_name"][$keys];
	$userfile_size = $_FILES["images"]["size"][$keys];
	$filename = basename($_FILES["images"]["name"][$keys]);
	$file_ext = substr($filename, strrpos($filename, '.') + 1);
	
	//Zpracovat pouze v případě, že soubor je ve formátu JPG, a pod povolený limit
	if((!empty($_FILES["images"])) && ($_FILES['images']['error'][$keys] == 0)) {
		if (($file_ext!="JPG" || $file_ext!="jpg"  || $file_ext!="Jpg" ) && ($userfile_size > $max_file)) {
			$error= "Pouze formát jpg do 500Kb je akceptován pro upload.";
		}
	} else {
		$error= "Zvolte obrázek JPEG pro upload";
	}
	//Everything is ok, so we can upload the image.
	if (strlen($error)==0){
		
		if (isset($_FILES['images']['name'][$keys])){
			move_uploaded_file($userfile_tmp, $large_image_location);
			chmod($large_image_location, 0777);
			
			$width = getWidth($large_image_location);
			$height = getHeight($large_image_location);
			//Měřítko obrázku, pokud je větší než šířka, že výše uvedená
			if ($width > $max_width){
				$scale = $max_width/$width;
				$uploaded = resizeImage($large_image_location,$width,$height,$scale);
			}else{
				$scale = 1;
				$uploaded = resizeImage($large_image_location,$width,$height,$scale);
			}
		}
	}
}

if (isset($_POST["upload_thumbnail"]) && strlen($large_photo_exists)>0) {
	$x1 = $_POST["x1"];
	$y1 = $_POST["y1"];
	$x2 = $_POST["x2"];
	$y2 = $_POST["y2"];
	$w  = $_POST["w"];
	$h  = $_POST["h"];
	$scale = $thumb_width/$w;
	$cropped = resizeThumbnailImage($thumb_image_location, $large_image_location,$w,$h,$x1,$y1,$scale);
}
}
Tento kod vypadá velmi slibně, ale ani nic nenahraje ani nevyhodí chybovou hlášku.
fuckin
Profil
Proběhne celý? Kde to skončí?

Trackuj chybu třeba jednoduchými výstupy abys poznal v které větvi se třeba nacházíš apod.
kick-man
Profil *
Nelíbí se mu, že je v cyklu, ale já ho tam potřebuju :-(
kick-man
Profil *
Může někdo přímo napsat co mám udělat?
kick-man
Profil *
Vždyt to na co se ptám neni tak nezvykla věc! Na druhou stranu vidím, že ostřílení hoši raději hledají témata na otázku jak se píše odkaz.
panther
Profil
kick-man:
uklidni se, nejsi na chatu.
kick-man
Profil *
Aha, na blbosti tu je vždycky rychlá a blbá reakce :-)
panther
Profil
mmm, myslím, že by to tu chtělo trochu pročistit.

kick-man:
na blbosti tu je vždycky rychlá a blbá reakce :-)
spíš na „blby“, kteří ty blbosti píší.

[#10]
ztrácím chuť na tebe reagovat, s čímkoliv ti radit. Měl bys zvážit svůj přístup k ostatním. Mě vlastně může být jedno, že ty máš někde nějaký problém, já ho nemám :-)
kick-man
Profil *
panther:
Vidím, že jsem na diskusnim foru, ale podívej se kdy bylo založené téma a kolik normálních reakcí! Napíšu blbost na kterou odpoví každej dacan a reakci mám hned :-) Nebude na tom něco pravdy??
kick-man
Profil *
Ty jsi se vtírnul na téma a začal prudit, tak si raději pust dvd :-) Já vim, že mi tu nikdo neporadí :-)
kick-man
Profil *
Tak borci! Vyřešeno :-) Pár echo chybiček, ale maká jak má :) Varovný hlášky odstranim, kod vyhladim a je to. Děkuji za pomoc hlavně fuckin a nesmim zapomenout na hlavního administrátora jakpsatweb.cz panthera :-)
Chamurappi
Profil
Reaguji na kick-mana:
Vidím, že jsem na diskusnim foru, ale podívej se kdy bylo založené téma a kolik normálních reakcí!
Naprosto normální počet. Ale tvé reakce jsou velmi nenormální.

Nebude na tom něco pravdy??
Nerozumím, co se snažíš tvrdit, ale asi nebude.

Tato diskuse není chat a až sem příště začneš ládovat tupé vytahovací příspěvky v desetiminutovém intervalu, skončíš smazaný a s banem.

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: