Jump to content

omg im going to shoot myself!


ccrevcypsys

Recommended Posts

Some one i am begging for you to help me figure this out. I just dont understand why it isnt working. Like i have said before i am a n00b but i am learning alot. Back to the matter at hand. Ok so heres whats going on. Every time i try to upload an image it has a save error when it tries to save it into the thumb directory heres the err msg

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /home/streamru/public_html/classes/gd.inc.php on line 273

Warning: fclose(): supplied argument is not a valid stream resource in /home/streamru/public_html/classes/gd.inc.php on line 289

Warning: imagegif(): supplied argument is not a valid Image resource in /home/streamru/public_html/classes/gd.inc.php on line 307

Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/streamru/public_html/classes/gd.inc.php on line 310
save error

I figured that the gd class wouldnt work because of the save error at the end.

Heres the code for the upload part:

if(is_array($_FILES['imageName'])){
		$date_str=date('Ymdhistis');
	$imageFormat = strtoupper(ereg_replace(".*\.(.*)$","\\1",$_FILES['imageName']['name']));
if($imageFormat == "JPG" || $imageFormat == "JPEG" || $imageFormat == "PNG" || ($imageFormat == "GIF" && $config['gdGifSupport']==1)){
	copy($_FILES['imageName']['tmp_name'],"images/uploads/".$date_str."_".str_replace(' ','_',$_FILES['imageName']['name'])) or die("| copy error |");
		$record["image"] = $db->mySQLSafe($date_str."_".$_FILES['imageName']['name']);
	copy($_FILES['imageName']['tmp_name'],"images/uploads/thumbs/thumb_".$date_str."_".str_replace(' ','_',$_FILES['imageName']['name'])) or die("| copy 2 Thumb error |");
	if(file_exists($GLOBALS['rootDir']."/images/uploads/thumbs/thumb_".$date_str."_".str_replace(' ','_',$_FILES['imageName']['name']))){
		@chmod($GLOBALS['rootDir']."/images/uploads/thumbs/thumb_".$date_str."_".str_replace(' ','_',$_FILES['imageName']['name']), 0775);
		unlink($GLOBALS['rootDir']."/images/uploads/thumbs/thumb_".$date_str."_".str_replace(' ','_',$_FILES['imageName']['name']));
	}

	$thumb=new thumbnail("images/uploads/".$date_str."_".$_FILES['imageName']['name']);
	// see if we need to resize 
	if(($size[0] > $config['gdthumbSize']) OR ($size[1] > $config['gdthumbSize'])){
		$thumb->size_auto($config['gdthumbSize']);
	} else {
		$thumb->size_auto($size[0]);
	}
	$thumb->jpeg_quality($config['gdquality']);
$thumb->save("images/uploads/thumbs/thumb_".$date_str."_".str_replace(' ','_',$_FILES['imageName']['name'])) or die("save error");		
}
}

Now here is the code from the gd class (it is a lot of code but i really need this to work.)

<?php
class thumbnail
{
var $img;

function thumbnail($imgfile="",$width="",$height="")
{
	global $config;

	//detect image format
	$this->img["format"]=ereg_replace(".*\.(.*)$","\\1",$imgfile);
	$this->img["format"]=strtoupper($this->img["format"]);

	if($config['gdversion']>0)
	{

		if ($this->img["format"]=="JPG" || $this->img["format"]=="JPEG")
		{
			//JPEG
			$this->img["format"]="JPG";
			$this->img["src"] = imagecreatefromjpeg($imgfile);

		}
		elseif($this->img["format"]=="PNG")
		{
			//PNG
			$this->img["format"]="PNG";
			$this->img["src"] = imagecreatefrompng($imgfile);
		}
		elseif ($this->img["format"]=="GIF")
		{
			//GIF
			$this->img["format"]="GIF";
			$this->img["src"] = imagecreatefromgif($imgfile);
		}
		else
		{
			//DEFAULT
			echo "Not Supported File!";
			exit();
		}

		if($width>0 && $height>0)
		{

			$this->img["width"] = $width;
			$this->img["height"] = $height;

		}
		else
		{

			@$this->img["width"] = imagesx($this->img["src"]);
			@$this->img["height"] = imagesy($this->img["src"]);

		}

		//default quality jpeg
		$this->img["quality"] = $config['gdquality'];

	}
	else
	{

		return FALSE;

	}

}

function size_custom($width=100, $height=100)
{
	// custom
	$this->img["width_thumb"] = $width;
    	$this->img["height_thumb"] = $height;
}


function size_width($size=200)
{
	// width
	$this->img["width_thumb"]=$size;
    	@$this->img["height_thumb"] = ($this->img["width_thumb"]/$this->img["width"])*$this->img["height"];
}

function size_height($size=200)
{
	// height
	$this->img["height_thumb"]=$size;
    	@$this->img["width_thumb"] = ($this->img["height_thumb"]/$this->img["height"])*$this->img["width"];
}

function size_auto($size=200)
{
	// size automatically
	if ($this->img["width"]>=$this->img["height"])
	{
    	
		$this->img["width_thumb"]=$size;
    		@$this->img["height_thumb"] = ($this->img["width_thumb"]/$this->img["width"])*$this->img["height"];

	}
	else
	{
    	
		$this->img["height_thumb"]=$size;
    		@$this->img["width_thumb"] = ($this->img["height_thumb"]/$this->img["height"])*$this->img["width"];

	}

}

function jpeg_quality($quality=80)
{
	//jpeg quality
	$this->img["quality"]=$quality;
}

function randImage($rand)
{

	global $glob;

	$bgColor = imagecolorallocate ($this->img["src"], 255, 255, 255);
	$textColor = imagecolorallocate ($this->img["src"], 0, 0, 0);
	$lineColor = imagecolorallocate ($this->img["src"], 215, 215, 215);

	// Add  Random polygons

	$noise_x = $this->img["width"] - 5;
	$noise_y = $this->img["height"] - 2;

	for ($i=0; $i<3; $i++){
		$polyCoords = array(
		   rand(5,$noise_x), rand(5,$noise_y), 
		   rand(5,$noise_x), rand(5,$noise_y),
		   rand(5,$noise_x), rand(5,$noise_y),
		   rand(5,$noise_x), rand(5,$noise_y),
		   rand(5,$noise_x), rand(5,$noise_y),
		   rand(5,$noise_x), rand(5,$noise_y),
		   rand(5,$noise_x), rand(5,$noise_y),
		   rand(5,$noise_x), rand(5,$noise_y),
		   rand(5,$noise_x), rand(5,$noise_y),
		   rand(5,$noise_x), rand(5,$noise_y),
		   rand(5,$noise_x), rand(5,$noise_y),
		   rand(5,$noise_x), rand(5,$noise_y)
		   );
		   
		$randomcolor = imagecolorallocate( $this->img["src"], rand(150,255), rand(150,255),rand(150,255) );
		imagefilledpolygon($this->img["src"], $polyCoords, 6, $randomcolor);
	}

	// write the random chars
	$font = imageloadfont($glob['rootDir']."/classes/fonts/anonymous.gdf");
	imagestring($this->img["src"], $font, 3, 0, $rand, $textColor);

	// Add Random noise
   for ($i = 0; $i < 25; $i++)
   {
   
	 $rx1 = rand(0,$this->img["width"]);
	 $rx2 = rand(0,$this->img["width"]);
	 $ry1 = rand(0,$this->img["height"]);
	 $ry2 = rand(0,$this->img["height"]);
	 $rcVal = rand(0,255);
	 $rc1 = imagecolorallocate($this->img["src"],rand(0,255),rand(0,255),rand(100,255));

	 imageline ($this->img["src"], $rx1, $ry1, $rx2, $ry2, $rc1);
   }


	$this->show(1);

}

function show($skip=0)
{
	global $config;

	@header("Expires: " . gmdate("D, d M Y H:i:s") . " GMT");
   	@header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
   	@header("Cache-Control: no-store, no-cache, must-revalidate");
   	@header("Cache-Control: post-check=0, pre-check=0", false);
   	@header("Pragma: no-cache");
	@header("Content-Type: image/".$this->img["format"]);

	if($skip==1)
	{

		$this->img["des"] = $this->img["src"];

	}
	elseif ($config['gdversion']==2)
	{
		$this->img["des"] = imagecreatetruecolor($this->img["width_thumb"],$this->img["height_thumb"]);
		@imagecopyresampled ($this->img["des"], $this->img["src"], 0, 0, 0, 0, $this->img["width_thumb"],$this->img["height_thumb"], $this->img["width"], $this->img["height"]);
    		    
	}
	elseif ($config['gdversion']==1)
	{    
		$this->img["des"] = imagecreate($this->img["width_thumb"],$this->img["height_thumb"]);
		@imagecopyresized ($this->img["des"], $this->img["src"], 0, 0, 0, 0, $this->img["width_thumb"],$this->img["height_thumb"], $this->img["width"], $this->img["height"]);    
	}


	if ($config['gdversion']>0)
	{

		// fix for base restriction error

		$fh = fopen($this->img["des"],'w');
		fclose($fh);


		if ($this->img["format"]=="JPG" || $this->img["format"]=="JPEG")
		{
			//JPEG
			imagejpeg($this->img["des"],"",$this->img["quality"]);

		} 
		elseif($this->img["format"]=="PNG")
		{
			//PNG
			imagepng($this->img["des"]);

		}
		elseif($this->img["format"]=="GIF")
		{
			//GIF
			imagegif($this->img["des"]);
		}

		imagedestroy($this->img["des"]);

	}

}

function save($save="")
{
	global $config;

	if ($config['gdversion']==2)
	{
		$this->img["des"] = imagecreatetruecolor($this->img["width_thumb"],$this->img["height_thumb"]);
		@imagecopyresampled ($this->img["des"], $this->img["src"], 0, 0, 0, 0, $this->img["width_thumb"], $this->img["height_thumb"], $this->img["width"], $this->img["height"]);

	} 
	elseif ($config['gdversion']==1)
	{

		$this->img["des"] = imagecreate($this->img["width_thumb"],$this->img["height_thumb"]);
		@imagecopyresized ($this->img["des"], $this->img["src"], 0, 0, 0, 0, $this->img["width_thumb"], $this->img["height_thumb"], $this->img["width"], $this->img["height"]);
	}

	if ($config['gdversion']>0)
	{


		$fh = fopen($this->img["des"],'w');
		fclose($fh);


		if ($this->img["format"]=="JPG" || $this->img["format"]=="JPEG")
		{
			//JPEG
			imagejpeg($this->img["des"],$save,$this->img["quality"]);

		}
		elseif ($this->img["format"]=="PNG")
		{
			//PNG
			imagepng($this->img["des"],$save);

		}
		elseif ($this->img["format"]=="GIF")
		{
			//GIF
			imagegif($this->img["des"],$save);

		}
		imagedestroy($this->img["des"]);
		@chmod($this->img["des"], 0644);

	}

}

}
?>

Link to comment
https://forums.phpfreaks.com/topic/67368-omg-im-going-to-shoot-myself/
Share on other sites

ok so i did another echo and go this

images/uploads/thumbs/thumb_20070830043354killthegods.gif

but its not uploaded in the thumbs directory its only in the uploads. It is supposted to create a thumb nail into the thumbs direct

it looks like to me that it would work. i just dont get it

 

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.