Scripts
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Try It Free
Go Back   Dev Shed ForumsWeb Site ManagementScripts

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
Get inside! Sample the range of functionality easily built with JMSL Library for Time Series Data Analysis, Heat Maps, Portfolio Optimization, Monte Carlo Simulation, Stock Price Charting and more. Download Now!
  #1  
Old August 22nd, 2004, 04:47 AM
darenwilko darenwilko is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Aug 2004
Location: Gunnedah NSW Australia
Posts: 31 darenwilko User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 9 h 33 m 12 sec
Reputation Power: 4
Send a message via MSN to darenwilko
Question Modification Of PHP Script

Hey i was wondering if anyone knows how i could modify this script to make it possible to upload more than one image at a time, and if so could you please underline the bits that need to be changed.

Code:
<? 
$idir = "images/";   // Path To Images Directory 
$tdir = "images/thumbs/";   // Path To Thumbnails Directory 
$twidth = "125";   // Maximum Width For Thumbnail Images 
$theight = "100";   // Maximum Height For Thumbnail Images 

if (!isset($_GET['subpage'])) {   // Image Upload Form Below   ?> 
 <form method="post" action="addphoto.php?subpage=upload" enctype="multipart/form-data"> 
  File:<br /> 
 <input type="file" name="imagefile" class="form"> 
 <br /><br /> 
 <input name="submit" type="submit" value="Sumbit" class="form">  <input type="reset" value="Clear" class="form"> 
 </form> 
<? } else  if (isset($_GET['subpage']) && $_GET['subpage'] == 'upload') {   // 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 
     $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 
   } 
 } else { 
   print '<font color="#FF0000">ERROR: Wrong filetype (has to be a .jpg or .jpeg. Yours is ';   // Error Message If Filetype Is Wrong 
   print $file_ext;   // Show The Invalid File's Extention 
   print '.</font>'; 
 } 
} ?> 


Thanks heaps

Reply With Quote
  #2  
Old August 22nd, 2004, 12:58 PM
replax replax is offline
Contributing User
Dev Shed Intermediate (1500 - 1999 posts)
 
Join Date: Aug 2004
Posts: 1,795 replax User rank is Second Lieutenant (5000 - 10000 Reputation Level)replax User rank is Second Lieutenant (5000 - 10000 Reputation Level)replax User rank is Second Lieutenant (5000 - 10000 Reputation Level)replax User rank is Second Lieutenant (5000 - 10000 Reputation Level)replax User rank is Second Lieutenant (5000 - 10000 Reputation Level)replax User rank is Second Lieutenant (5000 - 10000 Reputation Level)replax User rank is Second Lieutenant (5000 - 10000 Reputation Level) 
Time spent in forums: 2 Weeks 5 Days 15 h 23 m 11 sec
Reputation Power: 78
when you upload a file, in the html form, you must name the file being uploaded. this has nothing to do with it's actual filename, it is just a name you can use to reference it in the code. to add multiple files, first add more
Code:
<input type="file" name="imagefile" class="form"> 
lines, although each one will require a unique name, lets call them imagefile1 imagefile2 imagefile3 .... until you have as many as you want.
when someone tries to upload a file, it is stored in a temp directory by the webserver until php tells it what to do with itself. so what php needs to do is copy the file from the temp dir to a real location somewhere. to do this php has an autoglobal array $_FILES which contains file data for all the files that were uploaded, they are all indexed by the name specified in the html( imagefile1, imagefile2, imagefile3,etc).
so what you must do is copy the files to their final location, this is done by the copy command
Code:
copy($_FILES['imagefile1']['tmp_name'], "$idir" . $_FILES['imagefile1']['name']);   // Move Image From Temporary Location To Permanent Location 

everything after the copy line in your code is the resizing stuff.

what i would do, is take the copy and resize stuff, put it in a function, and keep calling it once for each file that was uploaded

Reply With Quote
Reply

Viewing: Dev Shed ForumsWeb Site ManagementScripts > Modification Of PHP Script


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump


Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 





© 2003-2008 by Developer Shed. All rights reserved. DS Cluster 2 hosted by Hostway