Jump to content

Multiple Photo Upload


jason360

Recommended Posts

Hey guys,

 

I am a newb but trying to figure out how I can upload multiple associated photo files.  My code is working for one photo, however I would like to have multiple photos that are associated uploaded at the same time.  I would like the photos save in a format such as:  photo_filename1 = 100, photo_filename2 = 100_a

 

I am using the following code with no luck, not sure how I can work this.

 

Any help is much appreciated!!!  Thanks in advance.

 

<code>

<?php

include("config.inc.php");

 

// initialization

$result_final = "";

$counter = 0;

 

// List of our known photo types

$known_photo_types = array(

'image/pjpeg' => 'jpg',

'image/jpeg' => 'jpg',

'image/gif' => 'gif',

'image/bmp' => 'bmp',

'image/x-png' => 'png'

);

 

// GD Function List

$gd_function_suffix = array(

'image/pjpeg' => 'JPEG',

'image/jpeg' => 'JPEG',

'image/gif' => 'GIF',

'image/bmp' => 'WBMP',

'image/x-png' => 'PNG'

);

 

// Fetch the photo array sent by preupload.php

$photos_uploaded1 = $_FILES['photo_filename1'];

$photos_uploaded2 = $_FILES['photo_filename2'];

 

// Fetch the photo caption array

$photo_caption = $_POST['photo_caption'];

 

while( $counter <= count($photos_uploaded1) )

{

if($photos_uploaded1['size'][$counter] > 0)

{

if(!array_key_exists($photos_uploaded1['type'][$counter], $known_photo_types))

{

$result_final .= "File ".($counter+1)." is not a photo<br />";

}

else

{

mysql_query( "INSERT INTO gallery_photos(`photo_filename1`, `photo_caption`, `photo_category`) VALUES('0', '".addslashes($photo_caption[$counter])."', '".addslashes($_POST['category'])."')" );

$new_id = mysql_insert_id();

$filetype = $photos_uploaded1['type'][$counter];

$extention = $known_photo_types[$filetype];

$filename = $new_id.".".$extention;

 

mysql_query( "UPDATE gallery_photos SET photo_filename1='".addslashes($filename)."' WHERE photo_id='".addslashes($new_id)."'" );

 

// Store the orignal file

copy($photos_uploaded1['tmp_name'][$counter], $images_dir."/".$filename);

 

// Let's get the Thumbnail size

$size = GetImageSize( $images_dir."/".$filename );

if($size[0] > $size[1])

{

$thumbnail_width = 100;

$thumbnail_height = (int)(100 * $size[1] / $size[0]);

}

else

{

$thumbnail_width = (int)(100 * $size[0] / $size[1]);

$thumbnail_height = 100;

}

 

// Build Thumbnail with GD 1.x.x, you can use the other described methods too

$function_suffix = $gd_function_suffix[$filetype];

$function_to_read = "ImageCreateFrom".$function_suffix;

$function_to_write = "Image".$function_suffix;

 

// Read the source file

$source_handle = $function_to_read ( $images_dir."/".$filename );

 

if($source_handle)

{

// Let's create an blank image for the thumbnail

    $destination_handle = ImageCreate ( $thumbnail_width, $thumbnail_height );

 

// Now we resize it

      ImageCopyResized( $destination_handle, $source_handle, 0, 0, 0, 0, $thumbnail_width, $thumbnail_height, $size[0], $size[1] );

}

 

// Let's save the thumbnail

$function_to_write( $destination_handle, $images_dir."/tb_".$filename );

ImageDestroy($destination_handle );

//

 

$result_final .= "<img src='".$images_dir. "/tb_".$filename."' /> File ".($counter+1)." Added<br />";

}

}

$counter++;

}

 

//file2

while( $counter <= count($photos_uploaded2) )

{

if($photos_uploaded2['size'][$counter] > 0)

{

if(!array_key_exists($photos_uploaded2['type'][$counter], $known_photo_types))

{

$result_final2 .= "File ".($counter+1)." is not a photo<br />";

}

else

{

mysql_query( "INSERT INTO gallery_photos(`photo_filename2`) VALUES('0')" );

$new_id = mysql_insert_id();

$filetype = $photos_uploaded2['type'][$counter];

$extention = $known_photo_types[$filetype];

$filename = $new_id."_1.".$extention;

 

mysql_query( "UPDATE gallery_photos SET photo_filename2='".addslashes($filename)."' WHERE photo_id='".addslashes($new_id)."'" );

 

// Store the orignal file

copy($photos_uploaded2['tmp_name'][$counter], $images_dir."/".$filename);

 

 

$result_final2 .= "<img src='".$images_dir. "/tb_".$filename."' /> File ".($counter+1)." Added<br />";

}

}

$counter++;

}

 

 

// Print Result

echo <<<__HTML_END

 

<html>

<head>

<title>Photos uploaded</title>

</head>

<body>

$result_final $result_final2

</body>

</html>

 

__HTML_END;

?>

 

 

 

</code>

Link to comment
https://forums.phpfreaks.com/topic/249623-multiple-photo-upload/
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.