Jump to content

Two image upload stumbling blocks


joshgarrod

Recommended Posts

Hi, I have a new website I have been working on for the past 6 months supposed to be going live on Jan 1st. It is my first attemp at a home made CMS and I am now in BETA stages, my testers have mentioned that my image upload script is not perfect. At the moment my images simply upload with no alterations. What they have suggested and I agree is that the images should be resized on upload and have unique names. I have tried to do both but failed. I have managed to change the name of the image that is being uploaded by putting random numbers on the end but the name that is stored in the table is the original name and I can't get it to add the random numbers on the end. The other task I totally failed at and have been working on all week and broke my code so bad I have now reverted back to square one. Could someone please help me to add image resize on upload and to put the new image name into my table, I wld be most greatful. Thanks in advance for your time.

 

<?php

$idir = "../fleet/";   // Path To Images Directory


if (isset ($_FILES['fupload'])){

//upload the image to tmp directory
$url = $_FILES['fupload']['name'];   // Set $url To Equal The Filename For Later Use 
	if ($_FILES['fupload']['type'] == "image/jpg" || $_FILES['fupload']['type'] == "image/jpeg" || $_FILES['fupload']['type'] == "image/pjpeg") { 
		$file_ext = strrchr($_FILES['fupload']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php 
		$copy = copy($_FILES['fupload']['tmp_name'], "$idir" . $_FILES['fupload']['name'], $file_ext).rand(10000 , 99999).$file_ext);   // Move Image From Temporary Location To Perm  
			}
			}
if (isset ($_FILES['fupload2'])){

//upload the image to tmp directory
$url = $_FILES['fupload2']['name'];   // Set $url To Equal The Filename For Later Use 
	if ($_FILES['fupload2']['type'] == "image/jpg" || $_FILES['fupload2']['type'] == "image/jpeg" || $_FILES['fupload2']['type'] == "image/pjpeg") { 
		$file_ext = strrchr($_FILES['fupload2']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php 
		$copy = copy($_FILES['fupload2']['tmp_name'], "$idir" . $_FILES['fupload2']['name'], $file_ext).rand(10000 , 99999).$file_ext);   // Move Image From Temporary Location To Perm  
			}
			}
if (isset ($_FILES['fupload3'])){

//upload the image to tmp directory
$url = $_FILES['fupload3']['name'];   // Set $url To Equal The Filename For Later Use 
	if ($_FILES['fupload3']['type'] == "image/jpg" || $_FILES['fupload3']['type'] == "image/jpeg" || $_FILES['fupload3']['type'] == "image/pjpeg") { 
		$file_ext = strrchr($_FILES['fupload3']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php 
		$copy = copy($_FILES['fupload3']['tmp_name'], "$idir" . $_FILES['fupload3']['name'], $file_ext).rand(10000 , 99999).$file_ext);   // Move Image From Temporary Location To Perm  
			}
			}
if (isset ($_FILES['fupload4'])){

//upload the image to tmp directory
$url = $_FILES['fupload4']['name'];   // Set $url To Equal The Filename For Later Use 
	if ($_FILES['fupload4']['type'] == "image/jpg" || $_FILES['fupload4']['type'] == "image/jpeg" || $_FILES['fupload4']['type'] == "image/pjpeg") { 
		$file_ext = strrchr($_FILES['fupload4']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php 
		$copy = copy($_FILES['fupload4']['tmp_name'], "$idir" . $_FILES['fupload4']['name'], $file_ext).rand(10000 , 99999).$file_ext);   // Move Image From Temporary Location To Perm 
			}
			}

error_reporting (E_ALL ^ E_NOTICE);
    $usr = "user";
    $pwd = "pass";
    $db = "db";
    $host = "host";

    # connect to database
    $cid = mysql_connect($host,$usr,$pwd);
    if (!$cid) { echo("ERROR: " . mysql_error() . "\n");    }

    if ($_POST['submit']) {

	$fleetmake = mysql_real_escape_string($_POST['fleetmake']);
	$fleetmodel = mysql_real_escape_string($_POST['fleetmodel']);
	$fleetyear = mysql_real_escape_string($_POST['fleetyear']);
	$fleetberth = mysql_real_escape_string($_POST['fleetberth']);
	$fleetlength = mysql_real_escape_string($_POST['fleetlength']);
	$fleetchassis = mysql_real_escape_string($_POST['fleetchassis']);
	$fleetengine = mysql_real_escape_string($_POST['fleetengine']);
	$fleetlayout = mysql_real_escape_string($_POST['fleetlayout']);
	$fleettype = mysql_real_escape_string($_POST['fleettype']);
	$fleetcomments = mysql_real_escape_string($_POST['fleetcomments']);
	$pricelow = mysql_real_escape_string($_POST['pricelow']);
	$pricemid = mysql_real_escape_string($_POST['pricemid']);		
	$pricehigh = mysql_real_escape_string($_POST['pricehigh']);
	$fleetlocation = mysql_real_escape_string($_POST['fleetlocation']);
	$fleetimage1 = mysql_real_escape_string("$idir" . $_FILES['fupload']['name']);
	$fleetimage2 = mysql_real_escape_string("$idir" . $_FILES['fupload2']['name']);
	$fleetimage3 = mysql_real_escape_string("$idir" . $_FILES['fupload3']['name']);
	$fleetimage4 = mysql_real_escape_string("$idir" . $_FILES['fupload4']['name']);
	$fleetadded = date("F j, Y, g:i a");
	$fleetof = $account;
	$searchtags = "$fleetmake $fleetmodel $fleetberth berth motorhome for hire year $fleetyear $fleetmodel $fleetmake $fleetchassis motorhome $fleetmake $fleetmodel $fleetchassis $fleetmake $fleetchassis $fleettype $fleetlayout $fleetmake motorhome $fleetmodel motorhome $fleetberth berth motorhome $fleetmake $fleetberth berth motorhome $fleetmake motorhomes $fleetmake motor home $fleetmake motor homes $fleetmodel motorhomes $fleetlocation motorhome hire motorhome hire in $fleetlocaiton $fleetmake $fleetlocation $fleetmake $fleetmodel $fleetlocation";

        $SQL = " INSERT INTO fleet ";
        $SQL .= " (fleetmake, fleetmodel, fleetyear, fleetberth, fleetlength, fleetchassis, fleetengine, fleetlayout, fleettype, fleetcomments, pricelow, pricemid, pricehigh, fleetlocation, fleetimage1, fleetimage2, fleetimage3, fleetimage4, fleetadded, fleetof, searchtags) VALUES ";
        $SQL .= " ('$fleetmake', '$fleetmodel', '$fleetyear', '$fleetberth', '$fleetlength', '$fleetchassis', '$fleetengine', '$fleetlayout', '$fleettype', '$fleetcomments', '$pricelow', '$pricemid', '$pricehigh', '$fleetlocation', '$fleetimage1', '$fleetimage2', '$fleetimage3', '$fleetimage4', '$fleetadded', '$fleetof', '$searchtags') ";

        
        $result = mysql_db_query($db,$SQL,$cid);
      $last=mysql_insert_id();


        
        if (!$result) { echo("ERROR: " . mysql_error() . "\n$SQL\n");    }

	header("location:fleet_add_confirm.php?last=$last");
	exit();

    }
?>

Link to comment
https://forums.phpfreaks.com/topic/221749-two-image-upload-stumbling-blocks/
Share on other sites

this is what i use maybe you can adapt it

 

// get variables
$productID=$_POST['PID'];
$productName=$_POST['productName'];
// Check for image file
if (!empty($_FILES['image_file']['tmp_name'])) {
// get image to remove
$lookup="SELECT * FROM product WHERE productID='$productID' LIMIT 1";
$lookres=mysql_query($lookup);
$row=mysql_fetch_array($lookres);
$imagerem=$row['image'];
$prodName=$row['name'];
// remove image
if (!empty($imagerem)) {
$fileremove="product_images/".$imagerem;
unlink($fileremove);
}
// create image (Height=600)
$file = $_FILES['image_file']['tmp_name'];
list($width, $height) = getimagesize($file);
// scale to height
$image_height = 600;
$image_width = $width * ($image_height / $height);
$imagenew = imagecreatefromjpeg($file);
// rename file to prevent overwrites
if ($imagerem!='') { $newname=mktime()."_product_".$productID.".jpg"; }
// for adding new image
if ($imagerem=='') { $newname = 'productImage_'.$productID.'.jpg'; }
// create image file
$imageset = imagecreatetruecolor($image_width, $image_height);
imagecopyresampled($imageset, $imagenew, 0, 0, 0, 0, $image_width, $image_height, $width, $height);
$output_file="product_images/".$newname;
imagejpeg($imageset, $output_file, 100);
// add new image to database
$sql="UPDATE product SET image='$newname' WHERE productID='$productID'";
$result=mysql_query($sql);
}
}

 

hope that can help you

Hi, it is similar to what I used before, I still can't get it to work, here is my code now, I have only made changes to the first image:

 

<?php

$idir = "../fleet/";   // Path To Images Directory


if (isset ($_FILES['fupload'])){

//upload the image to tmp directory
$url = $_FILES['fupload']['name'];   // Set $url To Equal The Filename For Later Use 
list($width, $height) = getimagesize($url);
$image_height = 300;
$image_width = $width * ($image_height / $height);
$imagenew = imagecreatefromjpeg($url); //scale to height
	if ($_FILES['fupload']['type'] == "image/jpg" || $_FILES['fupload']['type'] == "image/jpeg" || $_FILES['fupload']['type'] == "image/pjpeg") { 
		$file_ext = strrchr($_FILES['fupload']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php 
		$imageset = imagecreatetruecolor($image_width, $image_height);
		imagecopyresampled($imageset, $imagenew, 0, 0, 0, 0, $image_width, $image_height, $width, $height);
		$newname = 'fupload'.$account.'.jpg'; 
		$output_file="../fleet/".$newname;
		imagejpeg($imageset, $output_file, 100);

		   // Move Image From Temporary Location To Perm  
			}
			}
if (isset ($_FILES['fupload2'])){

//upload the image to tmp directory
$url = $_FILES['fupload2']['name'];   // Set $url To Equal The Filename For Later Use 
	if ($_FILES['fupload2']['type'] == "image/jpg" || $_FILES['fupload2']['type'] == "image/jpeg" || $_FILES['fupload2']['type'] == "image/pjpeg") { 
		$file_ext = strrchr($_FILES['fupload2']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php 
		$copy = copy($_FILES['fupload2']['tmp_name'], "$idir" . $_FILES['fupload2']['name']);   // Move Image From Temporary Location To Perm  
			}
			}
if (isset ($_FILES['fupload3'])){

//upload the image to tmp directory
$url = $_FILES['fupload3']['name'];   // Set $url To Equal The Filename For Later Use 
	if ($_FILES['fupload3']['type'] == "image/jpg" || $_FILES['fupload3']['type'] == "image/jpeg" || $_FILES['fupload3']['type'] == "image/pjpeg") { 
		$file_ext = strrchr($_FILES['fupload3']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php 
		$copy = copy($_FILES['fupload3']['tmp_name'], "$idir" . $_FILES['fupload3']['name']);   // Move Image From Temporary Location To Perm  
			}
			}
if (isset ($_FILES['fupload4'])){

//upload the image to tmp directory
$url = $_FILES['fupload4']['name'];   // Set $url To Equal The Filename For Later Use 
	if ($_FILES['fupload4']['type'] == "image/jpg" || $_FILES['fupload4']['type'] == "image/jpeg" || $_FILES['fupload4']['type'] == "image/pjpeg") { 
		$file_ext = strrchr($_FILES['fupload4']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php 
		$copy = copy($_FILES['fupload4']['tmp_name'], "$idir" . $_FILES['fupload4']['name']);   // Move Image From Temporary Location To Perm 
			}
			}

error_reporting (E_ALL ^ E_NOTICE);
    $usr = "user";
    $pwd = "pass";
    $db = "db";
    $host = "host";

    # connect to database
    $cid = mysql_connect($host,$usr,$pwd);
    if (!$cid) { echo("ERROR: " . mysql_error() . "\n");    }

    if ($_POST['submit']) {

	//***this is new between here...



	//****and here...

	$fleetmake = mysql_real_escape_string($_POST['fleetmake']);
	$fleetmodel = mysql_real_escape_string($_POST['fleetmodel']);
	$fleetyear = mysql_real_escape_string($_POST['fleetyear']);
	$fleetberth = mysql_real_escape_string($_POST['fleetberth']);
	$fleetlength = mysql_real_escape_string($_POST['fleetlength']);
	$fleetchassis = mysql_real_escape_string($_POST['fleetchassis']);
	$fleetengine = mysql_real_escape_string($_POST['fleetengine']);
	$fleetlayout = mysql_real_escape_string($_POST['fleetlayout']);
	$fleettype = mysql_real_escape_string($_POST['fleettype']);
	$fleetcomments = mysql_real_escape_string($_POST['fleetcomments']);
	$pricelow = mysql_real_escape_string($_POST['pricelow']);
	$pricemid = mysql_real_escape_string($_POST['pricemid']);		
	$pricehigh = mysql_real_escape_string($_POST['pricehigh']);
	$fleetlocation = mysql_real_escape_string($_POST['fleetlocation']);
	$fleetimage1 = $output_file;
	$fleetimage2 = mysql_real_escape_string("$idir" . $_FILES['fupload2']['name']);
	$fleetimage3 = mysql_real_escape_string("$idir" . $_FILES['fupload3']['name']);
	$fleetimage4 = mysql_real_escape_string("$idir" . $_FILES['fupload4']['name']);
	$fleetadded = date("F j, Y, g:i a");
	$fleetof = $account;
	$searchtags = "$fleetmake $fleetmodel $fleetberth berth motorhome for hire year $fleetyear $fleetmodel $fleetmake $fleetchassis motorhome $fleetmake $fleetmodel $fleetchassis $fleetmake $fleetchassis $fleettype $fleetlayout $fleetmake motorhome $fleetmodel motorhome $fleetberth berth motorhome $fleetmake $fleetberth berth motorhome $fleetmake motorhomes $fleetmake motor home $fleetmake motor homes $fleetmodel motorhomes $fleetlocation motorhome hire motorhome hire in $fleetlocaiton $fleetmake $fleetlocation $fleetmake $fleetmodel $fleetlocation";

        $SQL = " INSERT INTO fleet ";
        $SQL .= " (fleetmake, fleetmodel, fleetyear, fleetberth, fleetlength, fleetchassis, fleetengine, fleetlayout, fleettype, fleetcomments, pricelow, pricemid, pricehigh, fleetlocation, fleetimage1, fleetimage2, fleetimage3, fleetimage4, fleetadded, fleetof, searchtags) VALUES ";
        $SQL .= " ('$fleetmake', '$fleetmodel', '$fleetyear', '$fleetberth', '$fleetlength', '$fleetchassis', '$fleetengine', '$fleetlayout', '$fleettype', '$fleetcomments', '$pricelow', '$pricemid', '$pricehigh', '$fleetlocation', '$fleetimage1', '$fleetimage2', '$fleetimage3', '$fleetimage4', '$fleetadded', '$fleetof', '$searchtags') ";

        
        $result = mysql_db_query($db,$SQL,$cid);
      $last=mysql_insert_id();

        
        if (!$result) { echo("ERROR: " . mysql_error() . "\n$SQL\n");    }


	header("location:fleet_add_confirm.php?last=$last");
	exit();

    }
?>

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.