Scripts

Upload image /resizer

$tempfile = link naar upload dir $dir = doel dir $file = nieuwe bestands naam $height / $width maximale hoogte/breedte Om het aan te roepen.

upload-image-resizer
<?php
//function to resize / upload a photo save it to a dir
function upload ($tempfile,$dir,$file,$height,$width){
	//$tempfile = filename generated by the server when uploading a file
	//$dir = directory with the final location
	//$file = new filename
	//$height / $width explain enough i think
	
	//check if the file is realy uploaded
	if(!is_uploaded_file($tempfile)){
		$error[0] = false;
		$error[1] = -1;
		$error[2] = 'file is not uploaded';
	return $error;
	}else{
	//get the dimensions of the file
	if(!$dim = getimagesize($tempfile)){
		$error[0] = false;
		$error[1] = -2;
		$error[2] = 'No image file';
	return $error;
	}else{
	
	//0 = width 
	//1 = height
	//2 = type
	//we want to calculte if the bigger then the maxsize if not keep it easy --> upload it
	if($dim[0] < $width && $dim[1] < $height){
		//move upload file
		if(!file_exists($dir.$file)){
		if(@move_uploaded_file($tempfile,$dir.$file)){
		$error[0] = true;
		$error[1] = 1;
		$error[2] = 'File uploaded';
		return $error;
		}else{
		$error[0] = false;
		$error[1] = -3;
		$error[2] = 'Error during move upload file';
		return $error;	
		}
		}else{
		$error[0] = false;
		$error[1] = -4;
		$error[2] = 'File allready exsits';
		return $error;	
		}		
	}else{
		//we have to resize :(
		if($dim[0] > $dim[1]){
			$prop = $width / $dim[0];
			$dims[0] = $width;
			$dims[1] = round($dim[1] * $prop); 
		}else{
			$prop = $height / $dim[1];
			$dims[1] = $height;
			$dims[0] = round($dim[0] * $prop); 
		}
		//we know the new size
		if($dim[2] == 2){
		if(!$mimage = @imagecreatefromjpeg($tempfile)){
		$error[0] = false;
		$error[1] = -4;
		$error[2] = 'Error';
		return $error;
        }
       	}
       	//we know the new size
		if($dim[2] == 1){
		if(!$mimage = @imagecreatefromgif($tempfile)){
		$error[0] = false;
		$error[1] = -4;
		$error[2] = 'Error';
		return $error;
        }
       	}
       	//we know the new size
		if($dim[2] == 3){
		if(!$mimage = @imagecreatefrompng($tempfile)){
		$error[0] = false;
		$error[1] = -4;
		$error[2] = 'Error';
		return $error;
        }
       	}
       	$im = @imagecreatetruecolor($dims[0],$dims[1]);
       	@imagecopyresampled($im, $mimage, 0, 0, 0, 0, $dims[0], $dims[1], $dim[0], $dim[1]);
       	
     	if(!file_exists($dir.$file)){
       	if($dim[2] == 2){
	    if(!@imagejpeg($im,$dir.$file,100)){
		$error[0] = false;
		$error[1] = -5;
		$error[2] = 'Imagecreate error';
		return $error;
        }else{
        $error[0] = true;
		$error[1] = 2;
		$error[2] = 'Resized';
		return $error;	
    	}    
    	}	
        if($dim[2] == 1){
	    if(!@imagegif($im,$dir.$file)){
		$error[0] = false;
		$error[1] = -5;
		$error[2] = 'Imagecreate error';
		return $error;
        }else{
        $error[0] = true;
		$error[1] = 2;
		$error[2] = 'Resized';
		return $error;	
	    }	
    	}
        
    	if($dim[2] == 3){
	    if(!@imagepng($im,$dir.$file)){
		$error[0] = false;
		$error[1] = -5;
		$error[2] = 'Imagecreate error';
		return $error;
        }else{
        $error[0] = true;
		$error[1] = 2;
		$error[2] = 'Resized';
		return $error;      
    	}	
   		}
		}else{
		$error[0] = false;
		$error[1] = -4;
		$error[2] = 'File allready exsits';
		return $error;		
		}
		imagedestroy($im);
		imagedestroy($mimage);  
       	//end resize
    	}

	}
	}
}
?>

Reacties

0
Nog geen reacties.