Jump to content

jpeg creation problem


ccrevcypsys

Recommended Posts

well on my gd.inc.php file i have tried numberous times and a fail every time. so i need help from someone please.

in this file there is a jpeg gif and png file creation for thumbnails and whatnot. Well the jpg doesnt work i dont get it it works for gif and png someone let me know whats going on. heres the code for the error msg

 

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

		}

Link to comment
Share on other sites

Warning: imagecreatefromjpeg(images/uploads/20070823085742_explicit.jpeg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in /home/streamru/public_html/classes/gd.inc.php on line 49

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

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

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

heres the errors

heres more code

(the whole file)

<?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)
	{

		// 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"],$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
Share on other sites

Is the images folder in the same directory as this file? It cannot find this file:

"images/uploads/20070823085742_explicit.jpeg"

 

You might need to look at the relative path from your php file and the image file. Or is your image .jpg not .jpeg?

 

Look at each error and find the line of code which it tells you to, that will give you a good place to start. Not many of us are going to try to find the xxxth line in such a huge file. :)

Link to comment
Share on other sites

it might not be uploading is there somethign wrong with this script?

	
if(is_array($_FILES['imageName'])){
	$date_str=date('Ymdhis');
	$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']));
		$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']));
	if(file_exists($GLOBALS['rootDir']."/images/uploads/thumbs/thumb_".$_FILES['imageName']['name'])){
		@chmod($GLOBALS['rootDir']."/images/uploads/thumbs/thumb_".$_FILES['imageName']['name'], 0775);
		unlink($GLOBALS['rootDir']."/images/uploads/thumbs/thumb_".$_FILES['imageName']['name']);
	}

	$thumb=new thumbnail("images/uploads/".$date_str."_".$_FILES['imageName']['name']);

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.