uploadscript

Status
Niet open voor verdere reacties.

hawky

Gebruiker
Lid geworden
9 aug 2008
Berichten
114
Ik had graag thumbnails gemaakt bij het uploaden van mijn afbeeldingen. Maar er zit precies een fout in dit script want er worden geen thumbnails opgeslaan.

Code:
<?php
$destination_dir = "../";
$thumbWidth = "100";
foreach ($_FILES[Imagedata][name] as $key => $value) 
{
	$uploadfile = $destination_dir . basename($_FILES[Imagedata][name][$key]);
	move_uploaded_file($_FILES['Imagedata']['tmp_name'][$key], $uploadfile);
	
	$img = imagecreatefromjpeg($_FILES[Imagedata][name][$key]);
	$width = imagesx($img);
	$height = imagesy($img);

	$new_width = $thumbWidth;
	$new_height = floor($height*($thumbWidth/$width));

	$tmp_img = imagecreatetruecolor($new_width,$new_height);

	imagecopyresized($tmp_img,$img,0,0,0,0,$new_width,$new_height,$width,$height);

	imagejpeg($tmp_img, "../thumbs/");
}
?>

Alvast bedankt
 
PHP:
function img_resize( $tmpname, $size, $save_dir, $save_name, $maxisheight )
    {
	$h = $maxisheight;
    $save_dir     .= ( substr($save_dir,-1) != "/") ? "/" : "";
	if(!$this->Check_Dir($save_dir)) {
		//create dir
		if(!mkdir($save_dir, 0755, true)) {
			echo "failed making dir: ".$save_dir;
		}
	}
    $gis        = getimagesize($tmpname);
    $type        = $gis[2];
    switch($type)
        {
        case "1": $imorig = imagecreatefromgif($tmpname); break;
        case "2": $imorig = imagecreatefromjpeg($tmpname);break;
        case "3": $imorig = imagecreatefrompng($tmpname); break;
        default:  $imorig = imagecreatefromjpeg($tmpname);
        }
 
        $x = imagesx($imorig);
        $y = imagesy($imorig);
       
        $woh = (!$maxisheight)? $gis[0] : $gis[1] ;   
        
        if($woh <= $size)
        {
		
        $aw = $x;
        $ah = $y;
        }
            else
        {
            if(!$maxisheight){
                $aw = $size;
                $ah = $size * $y / $x;
            } else {
                $aw = $size * $x / $y;
                $ah = $size;
            }
        }  
        $im = imagecreatetruecolor($aw,$ah);
    if (imagecopyresampled($im,$imorig , 0,0,0,0,$aw,$ah,$x,$y))
        if (imagejpeg($im, $save_dir.$save_name))
            return true;
            else
            return false;
  }
 
Ik heb een ander script gebruikt omdat dit niet goed werkte bij mij. Maar nu wil ik graag de foto's die ik al online heb staan ook omzetten naar thumbnails, maar het lukt niet met dit script. Iemand?
PHP:
<?php
if ($dir = opendir('../')) {
	$images = array();
	while (false !== ($file = readdir($dir))) {
		if ($file != "." && $file != ".." && $file != "uploader" && $file != "thumbs") { 
			echo $file;

			$thumbsize=100;
			$imgfile = "../".$file;
			header('Content-type: image/jpeg');
			list($width, $height) = getimagesize($imgfile);
			$imgratio=$width/$height;
			if ($imgratio>1){
				$newwidth = $thumbsize;
				$newheight = $thumbsize/$imgratio;
			}
			else{		
				$newheight = $thumbsize;
				$newwidth = $thumbsize*$imgratio;}
				$thumb = ImageCreateTrueColor($newwidth,$newheight);
				$source = imagecreatefromjpeg($imgfile);
				imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
				imagejpeg($thumb,"../thumbs/thumb_".$file,100);
			}
			echo " - OK";
			echo "<br/>";
		}
	}
	closedir($dir);
}	
?>
 
Laatst bewerkt:
Even tussendoor... Heb je de maprechten van de map waar de thumbnails worden opgeslagen op 777 staan?

Anders slaat hij inderdaad niks op...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan