Jump to content

Changing a simple upload form to a multiple upload form


gibigbig

Recommended Posts

I have the following code that works fine:

<?php 
error_reporting(0);

$change="";
$abc="";


define ("MAX_SIZE","400");
function getExtension($str) {
         $i = strrpos($str,".");
         if (!$i) { return ""; }
         $l = strlen($str) - $i;
         $ext = substr($str,$i+1,$l);
         return $ext;
}

$errors=0;
  
if($_SERVER["REQUEST_METHOD"] == "POST")
{
	$image =$_FILES["file"]["name"];
$uploadedfile = $_FILES['file']['tmp_name'];
     

	if ($image) 
	{

		$filename = stripslashes($_FILES['file']['name']);

  		$extension = getExtension($filename);
		$extension = strtolower($extension);


if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) 
		{

			$change='<div class="msgdiv">Unknown Image extension </div> ';
			$errors=1;
		}
		else
		{

$size=filesize($_FILES['file']['tmp_name']);


if ($size > MAX_SIZE*1024)
{
$change='<div class="msgdiv">You have exceeded the size limit!</div> ';
$errors=1;
}


if($extension=="jpg" || $extension=="jpeg" )
{
$uploadedfile = $_FILES['file']['tmp_name'];
$src = imagecreatefromjpeg($uploadedfile);

}
else if($extension=="png")
{
$uploadedfile = $_FILES['file']['tmp_name'];
$src = imagecreatefrompng($uploadedfile);

}
else 
{
$src = imagecreatefromgif($uploadedfile);
}

echo $scr;

list($width,$height)=getimagesize($uploadedfile);


$newwidth=150;
$newheight=($height/$width)*$newwidth;
$tmp=imagecreatetruecolor($newwidth,$newheight);


$newwidth1=75;
$newheight1=($height/$width)*$newwidth1;
$tmp1=imagecreatetruecolor($newwidth1,$newheight1);

imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);

imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1,$width,$height);

srand ((double) microtime( )*1000000);
$random_number = rand( );
$filename = "rpg-avatar/".$random_number."_". $_FILES['file']['name'];

$filename1 = "rpg-avatar/small_".$random_number."_". $_FILES['file']['name'];



imagejpeg($tmp,$filename,100);

imagejpeg($tmp1,$filename1,100);

imagedestroy($src);
imagedestroy($tmp);
imagedestroy($tmp1);
}}

}

//If no errors registred, print the success message
if(isset($_POST['Submit']) && !$errors) 
{

   // mysql_query("update {$prefix}users set img='$big',img_small='$small' where user_id='$user'");
	$change=' <div class="msgdiv">Image Uploaded Successfully!</div>';
}

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"><head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<meta content="en-us" http-equiv="Content-Language">

    <title>picture demo</title>
    


  <style type="text/css">
  .help
{
font-size:11px; color:#006600;
}
body {
     color: #000000;
background-color:#999999 ;
    background:#999999 url(<?php echo $user_row['img_src']; ?>) fixed repeat top left;


font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif; 

}
	.msgdiv{
width:759px;
padding-top:8px;
padding-bottom:8px;
background-color: #fff;
font-weight:bold;
font-size:18px;-moz-border-radius: 6px;-webkit-border-radius: 6px;
}
#container{width:763px;margin:0 auto;padding:3px 0;text-align:left;position:relative; -moz-border-radius: 6px;-webkit-border-radius: 6px; background-color:#FFFFFF }
</style>

  </head><body>
     <div align="center" id="err">
<?php echo $change; ?>  </div>
   <div id="space"></div>
   

  
  
  
  <div id="container" >
    
   <div id="con">
   
      
      
        <table width="502" cellpadding="0" cellspacing="0" id="main">
          <tbody>
            <tr>

              <td width="500" height="238" valign="top" id="main_right">

		  <div id="posts">
		      <img src="<?php echo $filename; ?>" />      <img src="<?php echo $filename1; ?>"  />
		    <form method="post" action="" enctype="multipart/form-data" name="form1">
			<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
               <tr><Td style="height:25px"> </Td></tr>
	<tr>
          <td width="150"><div align="right" class="titles">Picture 
            : </div></td>
          <td width="350" align="left">
            <div align="left">
              <input size="25" name="file" type="file" style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10pt" class="box"/>
               <input size="25" name="file2" type="file" style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10pt" class="box"/>
              
		  
              </div></td>
		  
        </tr>
	<tr><Td></Td>
	<Td valign="top" height="35px" class="help">Image maximum size <b>400 </b>kb</span></Td>
	</tr>
	<tr><Td></Td><Td valign="top" height="35px"><input type="submit" id="mybut" value="       Upload        " name="Submit"/></Td></tr>
        <tr>
          <td width="200"> </td>
          <td width="200"><table width="200" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td width="200" align="center"><div align="left"></div></td>
                <td width="100"> </td>
              </tr>
          </table></td>
        </tr>
      </table>
			</form>

  
		  
		  
		  </div>
		  
		  
		  
		  
		  </td>
            
            </tr>
          </tbody>
     </table>
      

      
    
</div>
       
  </div>
  

    
</body></html>

 

 

But i would like to tweak it so that it there are two image upload forms and these two images are both resized and stored.

 

example:

 

what the script does now is:

form 1 => (processing) => resized image + thumb

 

what i want it to do is

 

form1 + 2 => (processing) => (resized image 1 + thumb 1) + (resized image2 + thumb2)

 

For the input file name put "[]" so it each new field gets an array key..

 

<input name="fileupload[]" type="file" id="fileupload[]"/>

 

And you can do this for the loop

 

while(list($key,$value) = each($_FILES[images][name]))

 

Try and learn the rest by doing trial and error. If you have more questions then come back to this thread and ask away, we'll be happy to help some more BUT only if you have made a legit effort... We won't write the entire code for you

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.