Jump to content

help with image upload code


Jnerocorp

Recommended Posts

Hello,

 

right now this code I have resizes images and then places them into the uploads folder is there a way to make this code upload the orignal file sizes into uploads and make it put the smaller version in a folder called thumbs

here is the upload.php code:

 

<?php

include('config.php');



function uploadImage($fileName, $maxSize, $maxW, $fullPath, $relPath, $colorR, $colorG, $colorB, $maxH = null){

	$folder = $relPath;

	$maxlimit = $maxSize;

	$allowed_ext = "jpg,jpeg,gif,png,bmp";

	$match = "";

	$filesize = $_FILES[$fileName]['size'];

	if($filesize > 0){	

		$filename = strtolower($_FILES[$fileName]['name']);

		$filename = preg_replace('/\s/', '_', $filename);

	   	if($filesize < 1){ 

			$errorList[] = "File size is empty.";

		}

		if($filesize > $maxlimit){ 

			$errorList[] = "File size is too big.";

		}

		if(count($errorList)<1){

			$file_ext = preg_split("/\./",$filename);

			$allowed_ext = preg_split("/\,/",$allowed_ext);

			foreach($allowed_ext as $ext){

				if($ext==end($file_ext)){

					$match = "1"; // File is allowed

					$NUM = time();

					$front_name = substr($file_ext[0], 0, 15);

					$newfilename = $front_name."_".$NUM.".".end($file_ext);

					$filetype = end($file_ext);

					$save = $folder.$newfilename;

					if(!file_exists($save)){

						list($width_orig, $height_orig) = getimagesize($_FILES[$fileName]['tmp_name']);

						if($maxH == null){

							if($width_orig < $maxW){

								$fwidth = $width_orig;

							}else{

								$fwidth = $maxW;

							}

							$ratio_orig = $width_orig/$height_orig;

							$fheight = $fwidth/$ratio_orig;



							$blank_height = $fheight;

							$top_offset = 0;



						}else{

							if($width_orig <= $maxW && $height_orig <= $maxH){

								$fheight = $height_orig;

								$fwidth = $width_orig;

							}else{

								if($width_orig > $maxW){

									$ratio = ($width_orig / $maxW);

									$fwidth = $maxW;

									$fheight = ($height_orig / $ratio);

									if($fheight > $maxH){

										$ratio = ($fheight / $maxH);

										$fheight = $maxH;

										$fwidth = ($fwidth / $ratio);

									}

								}

								if($height_orig > $maxH){

									$ratio = ($height_orig / $maxH);

									$fheight = $maxH;

									$fwidth = ($width_orig / $ratio);

									if($fwidth > $maxW){

										$ratio = ($fwidth / $maxW);

										$fwidth = $maxW;

										$fheight = ($fheight / $ratio);

									}

								}

							}

							if($fheight == 0 || $fwidth == 0 || $height_orig == 0 || $width_orig == 0){

								die("FATAL ERROR REPORT ERROR CODE [add-pic-line-67-orig] to <a href='http://www.atwebresults.com'>AT WEB RESULTS</a>");

							}

							if($fheight < 45){

								$blank_height = 45;

								$top_offset = round(($blank_height - $fheight)/2);

							}else{

								$blank_height = $fheight;

							}

						}

						$image_p = imagecreatetruecolor($fwidth, $blank_height);

						$white = imagecolorallocate($image_p, $colorR, $colorG, $colorB);

						imagefill($image_p, 0, 0, $white);

						switch($filetype){

							case "gif":

								$image = @imagecreatefromgif($_FILES[$fileName]['tmp_name']);

							break;

							case "jpg":

								$image = @imagecreatefromjpeg($_FILES[$fileName]['tmp_name']);

							break;

							case "jpeg":

								$image = @imagecreatefromjpeg($_FILES[$fileName]['tmp_name']);

							break;

							case "png":

								$image = @imagecreatefrompng($_FILES[$fileName]['tmp_name']);

							break;

						}

						@imagecopyresampled($image_p, $image, 0, $top_offset, 0, 0, $fwidth, $fheight, $width_orig, $height_orig);

						switch($filetype){

							case "gif":

								if(!@imagegif($image_p, $save)){

									$errorList[]= "PERMISSION DENIED [GIF]";

								}

							break;

							case "jpg":

								if(!@imagejpeg($image_p, $save, 100)){

									$errorList[]= "PERMISSION DENIED [JPG]";

								}

							break;

							case "jpeg":

								if(!@imagejpeg($image_p, $save, 100)){

									$errorList[]= "PERMISSION DENIED [JPEG]";

								}

							break;

							case "png":

								if(!@imagepng($image_p, $save, 0)){

									$errorList[]= "PERMISSION DENIED [PNG]";

								}

							break;

						}

						@imagedestroy($filename);

					}else{

						$errorList[]= "CANNOT MAKE IMAGE IT ALREADY EXISTS";

					}	

				}

			}		

		}

	}else{

		$errorList[]= "NO FILE SELECTED";

	}

	if(!$match){

	   	$errorList[]= "File type isn't allowed: $filename";

	}

	if(sizeof($errorList) == 0){

		return $fullPath.$newfilename;

	}else{

		$eMessage = array();

		for ($x=0; $x<sizeof($errorList); $x++){

			$eMessage[] = $errorList[$x];

		}

	   	return $eMessage;

	}

}



$filename = strip_tags($_REQUEST['filename']);

$maxSize = strip_tags($_REQUEST['maxSize']);

$maxW = strip_tags($_REQUEST['maxW']);

$fullPath = strip_tags($_REQUEST['fullPath']);

$relPath = strip_tags($_REQUEST['relPath']);

$colorR = strip_tags($_REQUEST['colorR']);

$colorG = strip_tags($_REQUEST['colorG']);

$colorB = strip_tags($_REQUEST['colorB']);

$maxH = strip_tags($_REQUEST['maxH']);

$filesize_image = $_FILES[$filename]['size'];

if($filesize_image > 0){

	$upload_image = uploadImage($filename, $maxSize, $maxW, $fullPath, $relPath, $colorR, $colorG, $colorB, $maxH);

	if(is_array($upload_image)){

		foreach($upload_image as $key => $value) {

			if($value == "-ERROR-") {

				unset($upload_image[$key]);

			}

		}

		$document = array_values($upload_image);

		for ($x=0; $x<sizeof($document); $x++){

			$errorList[] = $document[$x];

		}

		$imgUploaded = false;

	}else{

		$imgUploaded = true;

	}

}else{

	$imgUploaded = false;

	$errorList[] = "File Size Empty";

}

?>

<?php

if($imgUploaded){

	echo '<img src="./images/success.gif" width="16" height="16" border="0" style="marin-bottom: -4px;" /> Upload Complete:<br /><img src="'.$upload_image.'" border="0" /><br><br>

	<table>

	<tr>

	<td><b>Direct Link:</b></td><td> <input type="text" value="' . $upload_image . '" readonly="1"></td>

	</tr>

	<tr>

	<td><b>HTML</b>:</td><td> <input type="text" value="<img src="' . $upload_image . '">" readonly="1"></td>

	</tr>

	<tr>

	<td><b>BB CODE</b>:</td><td> <input type="text" value="[img=http://' . $upload_image . ']" readonly="1"></td>

	</tr>

	</table>';

}else{

	echo '<img src="./images/error.gif" width="16" height="16px" border="0" style="marin-bottom: -3px;" /> Error(s) Found: ';

	foreach($errorList as $value){

    		echo $value.', ';

	}

}

?>

 

Any help appreciated

 

thanks

-John

Link to comment
https://forums.phpfreaks.com/topic/182564-help-with-image-upload-code/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.