Jump to content

photo uploading


johntp

Recommended Posts

Hey guys i have a script that will upload photos and resize to 100x100, well it uploads the pic and makes a thumbnail fine, but i get errors instead of it going back to the page to show the picture i get this error.

 

 

Warning: copy() [function.copy]: Unable to access DSC03045.JPG in /mounted-storage/home23b/sub003/sc21754-QIFR/www/mainscript/editphotoaction.php on line 26

 

Warning: copy(DSC03045.JPG) [function.copy]: failed to open stream: No such file or directory in /mounted-storage/home23b/sub003/sc21754-QIFR/www/mainscript/editphotoaction.php on line 26

 

Warning: getimagesize() [function.getimagesize]: Unable to access _backup.jpg in /mounted-storage/home23b/sub003/sc21754-QIFR/www/mainscript/editphotoaction.php on line 27

 

Warning: getimagesize(_backup.jpg) [function.getimagesize]: failed to open stream: No such file or directory in /mounted-storage/home23b/sub003/sc21754-QIFR/www/mainscript/editphotoaction.php on line 27

 

Warning: Cannot modify header information - headers already sent by (output started at /mounted-storage/home23b/sub003/sc21754-QIFR/www/mainscript/editphotoaction.php:26) in /mounted-storage/home23b/sub003/sc21754-QIFR/www/mainscript/editphotoaction.php on line 127

 

and here is the code.

<? session_start();
require_once("include/config.php");
$new_width=100;  //Image width Change if needed
$new_height=100; 
$userId=$_SESSION['user_id'];
function create_thumb2($old_imgname,$new_imgname)
  {
   $imginfo=getimagesize($old_imgname);
   $img_width=$imginfo[0];
   $img_height=$imginfo[1];
   $koeff=$img_width/$img_height;
   if ($img_width>$img_height)
    {
     $need_height=100;
     $need_width=$koeff*100;
    }
   else
    {
     $need_width=100;
     $need_height=$need_width/$koeff;
    }
   createthumb2($old_imgname,$need_width,$need_height,$new_imgname);
  }
function createthumb2($IMAGE_SOURCE,$THUMB_X,$THUMB_Y,$OUTPUT_FILE){
  $BACKUP_FILE = $OUTPUT_FILE . "_backup.jpg";
copy($IMAGE_SOURCE,$BACKUP_FILE); //line 26
  $IMAGE_PROPERTIES = GetImageSize($BACKUP_FILE); //line 27
if (!$IMAGE_PROPERTIES[2] == 2) {
   return(0);
  } else {
   $SRC_IMAGE = ImageCreateFromJPEG($BACKUP_FILE);
   $SRC_X = ImageSX($SRC_IMAGE);
   $SRC_Y = ImageSY($SRC_IMAGE);
   if (($THUMB_Y == "0") && ($THUMB_X == "0")) {
     return(0);
   } elseif ($THUMB_Y == "0") {
     $SCALEX = $THUMB_X/($SRC_X-1);
     $THUMB_Y = $SRC_Y*$SCALEX;
   } elseif ($THUMB_X == "0") {
     $SCALEY = $THUMB_Y/($SRC_Y-1);
     $THUMB_X = $SRC_X*$SCALEY;
   }
   $THUMB_X = (int)($THUMB_X);
   $THUMB_Y = (int)($THUMB_Y);
   $DEST_IMAGE = imagecreatetruecolor($THUMB_X, $THUMB_Y);
   unlink($BACKUP_FILE);
   if (!imagecopyresampled($DEST_IMAGE, $SRC_IMAGE, 0, 0, 0, 0, $THUMB_X, $THUMB_Y, $SRC_X, $SRC_Y)) {
     imagedestroy($SRC_IMAGE);
     imagedestroy($DEST_IMAGE);
     return(0);
   } else {
     imagedestroy($SRC_IMAGE);
     if (ImageJPEG($DEST_IMAGE,$OUTPUT_FILE)) {
       imagedestroy($DEST_IMAGE);
       return(1);
     }
     imagedestroy($DEST_IMAGE);
   }
   return(0);
  }

} # end createthumb 
function thumb_jpeg($image_name)
     {
      createthumb2($image_name,100,100,$destination_path);
      return true;
          global $source_path;
          global $destination_path;

          global $new_width;
          global $new_height;
          $destimg=imagecreatetruecolor($new_width,$new_height) or die("Problem In Creating image");
          $srcimg=ImageCreateFromJPEG($source_path.$image_name) or die("Problem In opening Source Image");
         $imageheight= ImageSX($srcimg);
          ImageCopyResampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die("Problem In resizing");
          ImageJPEG($destimg,$destination_path.$image_name) or die("Problem In saving");
         return true;
     }
$source_path="Uploadimages/";
$destination_path="thumnailimages/";
$n_width=100;          // Fix the width of the thumb nail images
$n_height=100;
	while(list($key,$value) = each($_FILES['images']['name']))
          {
               if(!empty($value))
               {
                 $filename = $value;
			}

               else
               {
               header("location:step1.php?error=im");
               }



              $ext = strtolower(end(explode('.', $filename)));
              
		  if ($ext == 'jpg' || $ext == 'jpeg')
              {
			$add="Uploadimages/$filename";
			$thumbnailpath="thumnailimages/$filename";
			copy($_FILES['images']['tmp_name'][$key], $add);
			chmod("$add",0777);
			$vaildupload=thumb_jpeg($filename);
              }
               
          }
          
		if($vaildupload=="1")
		{
		$add1="Uploadimages/$filename";
		$thumbnailpath1="thumnailimages/$filename";
		$query="insert into myspaceuserpicture (UserID,UseImagepath,Userthubnailpath,rankpictureflag ,imagetype,displayfalg) values ('$userId','$add1','$thumbnailpath1','0','0','1')";

		createthumb2($add1,100,100,$thumbnailpath1);

		mysql_query($query) or handle_mysql_error($query,mysql_errno(),mysql_error);
		$id = mysql_insert_id($cn);  
		$uploaddone="sucess";

		}
          
	  
		if($uploaddone=="sucess")
		{
		header("location:updatemyphoto.php");
		}
		else

		{
		header("location:step1.php?error=ix");
		}

?>       

Link to comment
https://forums.phpfreaks.com/topic/59474-photo-uploading/
Share on other sites

OK. Maybe noone understands my question, so ill try to describe a little better.

 

This script I have to upload a photo and resize it as a thumbnail to another location works, but I'm getting these errors and don't really understand what needs to be done to fix them. I was hoping somone would have an idea of what's going on.

 

Warning: copy() [function.copy]: Unable to access DSC03045.JPG in /mounted-storage/home23b/sub003/sc21754-QIFR/www/mainscript/editphotoaction.php on line 26

 

Warning: copy(DSC03045.JPG) [function.copy]: failed to open stream: No such file or directory in /mounted-storage/home23b/sub003/sc21754-QIFR/www/mainscript/editphotoaction.php on line 26

 

Warning: getimagesize() [function.getimagesize]: Unable to access _backup.jpg in /mounted-storage/home23b/sub003/sc21754-QIFR/www/mainscript/editphotoaction.php on line 27

 

Warning: getimagesize(_backup.jpg) [function.getimagesize]: failed to open stream: No such file or directory in /mounted-storage/home23b/sub003/sc21754-QIFR/www/mainscript/editphotoaction.php on line 27

 

Warning: Cannot modify header information - headers already sent by (output started at /mounted-storage/home23b/sub003/sc21754-QIFR/www/mainscript/editphotoaction.php:26) in /mounted-storage/home23b/sub003/sc21754-QIFR/www/mainscript/editphotoaction.php on line 127

 

and here is my code

 

<? session_start();
require_once("include/config.php");
$new_width=100;  //Image width Change if needed
$new_height=100; 
$userId=$_SESSION['user_id'];
function create_thumb2($old_imgname,$new_imgname)
  {
   $imginfo=getimagesize($old_imgname);
   $img_width=$imginfo[0];
   $img_height=$imginfo[1];
   $koeff=$img_width/$img_height;
   if ($img_width>$img_height)
    {
     $need_height=100;
     $need_width=$koeff*100;
    }
   else
    {
     $need_width=100;
     $need_height=$need_width/$koeff;
    }
   createthumb2($old_imgname,$need_width,$need_height,$new_imgname);
  }
function createthumb2($IMAGE_SOURCE,$THUMB_X,$THUMB_Y,$OUTPUT_FILE){
  $BACKUP_FILE = $OUTPUT_FILE . "_backup.jpg";
copy($IMAGE_SOURCE,$BACKUP_FILE); //line 26
  $IMAGE_PROPERTIES = GetImageSize($BACKUP_FILE); //line 27
if (!$IMAGE_PROPERTIES[2] == 2) {
   return(0);
  } else {
   $SRC_IMAGE = ImageCreateFromJPEG($BACKUP_FILE);
   $SRC_X = ImageSX($SRC_IMAGE);
   $SRC_Y = ImageSY($SRC_IMAGE);
   if (($THUMB_Y == "0") && ($THUMB_X == "0")) {
     return(0);
   } elseif ($THUMB_Y == "0") {
     $SCALEX = $THUMB_X/($SRC_X-1);
     $THUMB_Y = $SRC_Y*$SCALEX;
   } elseif ($THUMB_X == "0") {
     $SCALEY = $THUMB_Y/($SRC_Y-1);
     $THUMB_X = $SRC_X*$SCALEY;
   }
   $THUMB_X = (int)($THUMB_X);
   $THUMB_Y = (int)($THUMB_Y);
   $DEST_IMAGE = imagecreatetruecolor($THUMB_X, $THUMB_Y);
   unlink($BACKUP_FILE);
   if (!imagecopyresampled($DEST_IMAGE, $SRC_IMAGE, 0, 0, 0, 0, $THUMB_X, $THUMB_Y, $SRC_X, $SRC_Y)) {
     imagedestroy($SRC_IMAGE);
     imagedestroy($DEST_IMAGE);
     return(0);
   } else {
     imagedestroy($SRC_IMAGE);
     if (ImageJPEG($DEST_IMAGE,$OUTPUT_FILE)) {
       imagedestroy($DEST_IMAGE);
       return(1);
     }
     imagedestroy($DEST_IMAGE);
   }
   return(0);
  }

} # end createthumb 
function thumb_jpeg($image_name)
     {
      createthumb2($image_name,100,100,$destination_path);
      return true;
          global $source_path;
          global $destination_path;

          global $new_width;
          global $new_height;
          $destimg=imagecreatetruecolor($new_width,$new_height) or die("Problem In Creating image");
          $srcimg=ImageCreateFromJPEG($source_path.$image_name) or die("Problem In opening Source Image");
         $imageheight= ImageSX($srcimg);
          ImageCopyResampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die("Problem In resizing");
          ImageJPEG($destimg,$destination_path.$image_name) or die("Problem In saving");
         return true;
     }
$source_path="Uploadimages/";
$destination_path="thumnailimages/";
$n_width=100;          // Fix the width of the thumb nail images
$n_height=100;
	while(list($key,$value) = each($_FILES['images']['name']))
          {
               if(!empty($value))
               {
                 $filename = $value;
			}

               else
               {
               header("location:step1.php?error=im");
               }



              $ext = strtolower(end(explode('.', $filename)));
              
		  if ($ext == 'jpg' || $ext == 'jpeg')
              {
			$add="Uploadimages/$filename";
			$thumbnailpath="thumnailimages/$filename";
			copy($_FILES['images']['tmp_name'][$key], $add);
			chmod("$add",0777);
			$vaildupload=thumb_jpeg($filename);
              }
               
          }
          
		if($vaildupload=="1")
		{
		$add1="Uploadimages/$filename";
		$thumbnailpath1="thumnailimages/$filename";
		$query="insert into myspaceuserpicture (UserID,UseImagepath,Userthubnailpath,rankpictureflag ,imagetype,displayfalg) values ('$userId','$add1','$thumbnailpath1','0','0','1')";

		createthumb2($add1,100,100,$thumbnailpath1);

		mysql_query($query) or handle_mysql_error($query,mysql_errno(),mysql_error);
		$id = mysql_insert_id($cn);  
		$uploaddone="sucess";

		}
          
	  
		if($uploaddone=="sucess")
		{
		header("location:updatemyphoto.php");
		}
		else

		{
		header("location:step1.php?error=ix");
		}

?>        


 

Now line 26 and 27 are as follows

 

 copy($IMAGE_SOURCE,$BACKUP_FILE); //line 26
  $IMAGE_PROPERTIES = GetImageSize($BACKUP_FILE); //line 27

Link to comment
https://forums.phpfreaks.com/topic/59474-photo-uploading/#findComment-296375
Share on other sites

I don't know too much about image manipulation but this works for me.

 

I have a form where i select which gallery i want to associate with the image and I store the image name in a database (all images go in the same folders)

 

I have a folder called full where the original image goes and I have 2 other folders (1 for thumbnails, the other for larger images)

 

You can use my example if you want....it works for me

 

<?php 
$idir = "../images/gallery/full/";   // Path To Images Directory 
$tdir = "../images/gallery/thumbs/";   // Path To Thumbnails Directory 
$twidth = "100";   // Maximum Width For Thumbnail Images 
$theight = "75";   // Maximum Height For Thumbnail Images 
$ldir = "../images/gallery/large/";   // Path To Large Directory 
$lwidth = "400";   // Maximum Width For Large Images 
$lheight = "300";   // Maximum Height For Large Images

$pic=($_FILES['imagefile']['name']);
$gallery = $_POST['gallery'];

if (!isset($_POST['gallery'])) {
?> 
<fieldset>
    <legend><b>Image Gallery Upload</b></legend>
<form enctype="multipart/form-data" action="<? $_SERVER['PHP_SELF']; ?>" method="POST">  
    <p style="margin-left:10px;">Gallery to upload to:<br>
    <select name="gallery" size="1">
    	<option value="jack">Jack</option> 
    	<option value="honeylands">Honeylands</option> 
    	<option value="events">Events</option> 
    	<option value="art">Art Auction</option> 
    </select>
    	    <p style="margin-left:10px;">Image to upload:<br>
    	    <input type="file" name="imagefile" style="width:450px"><br> 
    	    <P><input type="submit" name="submit" value="Upload Image" class="submit-button" style="margin-left:10px;"></p>
    	</form>
</fieldset></p> 
<?}
else {   // Uploading/Resizing Script 
    $url = $_FILES['imagefile']['name'];   // Set $url To Equal The Filename For Later Use 
    if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") { 
        $file_ext = strrchr($_FILES['imagefile']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php 
        $copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']);   // Move Image From Temporary Location To Permanent Location 
            if ($copy) {   // If The Script Was Able To Copy The Image To It's Permanent Location 
       		print 'Image uploaded successfully.<br />';   // Was Able To Successfully Upload Image 
     
    //insert the image names into the database

    include_once "../includes/connection.php";

    $query = "INSERT INTO image VALUES ('','$pic','$pic','$gallery')";
    mysql_query($query);
    mysql_close();

    $simg = imagecreatefromjpeg("$idir" . $url);   // Make A New Temporary Image To Create The Thumbanil From 
    $currwidth = imagesx($simg);   // Current Image Width 
    $currheight = imagesy($simg);   // Current Image Height 
    if ($currheight > $currwidth) {   // If Height Is Greater Than Width 
        $zoom = $twidth / $currheight;   // Length Ratio For Width 
        $newheight = $theight;   // Height Is Equal To Max Height 
        $newwidth = $currwidth * $zoom;   // Creates The New Width 
    } else {    // Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height) 
        $zoom = $twidth / $currwidth;   // Length Ratio For Height 
        $newwidth = $twidth;   // Width Is Equal To Max Width 
        $newheight = $currheight * $zoom;   // Creates The New Height 
    } 
    $dimg = imagecreate($newwidth, $newheight);   // Make New Image For Thumbnail 
    imagetruecolortopalette($simg, false, 256);   // Create New Color Pallete 
    $palsize = ImageColorsTotal($simg); 
    for ($i = 0; $i < $palsize; $i++) {   // Counting Colors In The Image 
        $colors = ImageColorsForIndex($simg, $i);   // Number Of Colors Used 
        ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use 
    } 
    imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);   // Copy Resized Image To The New Image (So We Can Save It) 
    imagejpeg($dimg, "$tdir" . $url);   // Saving The Image 
    imagedestroy($simg);   // Destroying The Temporary Image 
    imagedestroy($dimg);   // Destroying The Other Temporary Image 
    print 'Image thumbnail created successfully.';   // Resize successful 
    } else { 
        print '<font color="#FF0000">ERROR: Unable to upload image.</font>';   // Error Message If Upload Failed 
    }

    $simg = imagecreatefromjpeg("$idir" . $url);   // Make A New Temporary Image To Create The Large From 
    $currwidth = imagesx($simg);   // Current Image Width 
    $currheight = imagesy($simg);   // Current Image Height 
    if ($currheight > $currwidth) {   // If Height Is Greater Than Width 
        $zoom = $lwidth / $currheight;   // Length Ratio For Width 
        $newheight = $lheight;   // Height Is Equal To Max Height 
        $newwidth = $currwidth * $zoom;   // Creates The New Width 
    } else {    // Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height) 
        $zoom = $lwidth / $currwidth;   // Length Ratio For Height 
        $newwidth = $lwidth;   // Width Is Equal To Max Width 
        $newheight = $currheight * $zoom;   // Creates The New Height 
    } 
    $dimg = imagecreate($newwidth, $newheight);   // Make New Image For Large 
    imagetruecolortopalette($simg, false, 256);   // Create New Color Pallete 
    $palsize = ImageColorsTotal($simg); 
    for ($i = 0; $i < $palsize; $i++) {   // Counting Colors In The Image 
        $colors = ImageColorsForIndex($simg, $i);   // Number Of Colors Used 
        ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use 
    } 
    imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);   // Copy Resized Image To The New Image (So We Can Save It) 
    imagejpeg($dimg, "$ldir" . $url);   // Saving The Image 
    imagedestroy($simg);   // Destroying The Temporary Image 
    imagedestroy($dimg);   // Destroying The Other Temporary Image 
    print 'Image Large created successfully.';   // Resize successful 
    } else { 
        print '<font color="#FF0000">ERROR: Unable to upload image.</font>';   // Error Message If Upload Failed 
    } 
} 
?>

Link to comment
https://forums.phpfreaks.com/topic/59474-photo-uploading/#findComment-296380
Share on other sites

I would really like to use this one since i've allready put the time in to get it to do what i want it too. Just need these darn errors gone. I think that part of the problem could be

 

function createthumb2($IMAGE_SOURCE,$THUMB_X,$THUMB_Y,$OUTPUT_FILE){
  $BACKUP_FILE = $OUTPUT_FILE . "_backup.jpg";
copy($IMAGE_SOURCE,$BACKUP_FILE); //line 26
  $IMAGE_PROPERTIES = GetImageSize($BACKUP_FILE); //line 27
if (!$IMAGE_PROPERTIES[2] == 2) {
   return(0);
  } else {
   $SRC_IMAGE = ImageCreateFromJPEG($BACKUP_FILE);
   $SRC_X = ImageSX($SRC_IMAGE);
   $SRC_Y = ImageSY($SRC_IMAGE);
   if (($THUMB_Y == "0") && ($THUMB_X == "0")) {

 

$IMAGE_SOURCE

 

cause the file should either be in /Uploadimages or /thumnailimages and it's looking for it just in /

 

I've tried testing it but i still get nothing :/

Link to comment
https://forums.phpfreaks.com/topic/59474-photo-uploading/#findComment-296401
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.