Page 1 of 1

Need help with php

Posted: Sun Jul 05, 2009 1:02 am
by teh1337ex

Code: Select all

<?php 
ini_set("memory_limit", "200000000"); 
 
 
if ((isset($_POST["submitted_form"])) && ($_POST["submitted_form"] == "image_upload_form")) {
    
    
    if (($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg" || $_FILES["image_upload_box"]["type"] == "image/gif" || $_FILES["image_upload_box"]["type"] == "image/x-png") && ($_FILES["image_upload_box"]["size"] < 4000000))
    {
        
  
        
        $max_upload_width = 2500;
        $max_upload_height = 2500;
          
        
        if(isset($_REQUEST['max_width_box']) and $_REQUEST['max_width_box']!='' and $_REQUEST['max_width_box']<=$max_upload_width){
            $max_upload_width = $_REQUEST['max_width_box'];
        }    
        if(isset($_REQUEST['max_height_box']) and $_REQUEST['max_height_box']!='' and $_REQUEST['max_height_box']<=$max_upload_height){
            $max_upload_height = $_REQUEST['max_height_box'];
        }   
 
        
        
        if($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg"){    
            $image_source = imagecreatefromjpeg($_FILES["image_upload_box"]["tmp_name"]);
        }       
        
        if($_FILES["image_upload_box"]["type"] == "image/gif"){ 
            $image_source = imagecreatefromgif($_FILES["image_upload_box"]["tmp_name"]);
        }   
            
        
        if($_FILES["image_upload_box"]["type"] == "image/bmp"){ 
            $image_source = imagecreatefromwbmp($_FILES["image_upload_box"]["tmp_name"]);
        }           
        
        if($_FILES["image_upload_box"]["type"] == "image/x-png"){
            $image_source = imagecreatefrompng($_FILES["image_upload_box"]["tmp_name"]);
        }
        
 
        $remote_file = "image_files/".$_FILES["image_upload_box"]["name"];
        imagejpeg($image_source,$remote_file,100);
        chmod($remote_file,0644);
    
    
 
        
        list($image_width, $image_height) = getimagesize($remote_file);
    
        if($image_width>$max_upload_width || $image_height >$max_upload_height){
            $proportions = $image_width/$image_height;
            
            if($image_width>$image_height){
                $new_width = $max_upload_width;
                $new_height = round($max_upload_width/$proportions);
            }       
            else{
                $new_height = $max_upload_height;
                $new_width = round($max_upload_height*$proportions);
            }       
            
            
            $new_image = imagecreatetruecolor($new_width , $new_height);
            $image_source = imagecreatefromjpeg($remote_file);
            
            imagecopyresampled($new_image, $image_source, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height);
            imagejpeg($new_image,$remote_file,100);
            
            imagedestroy($new_image);
        }
        
        imagedestroy($image_source);
        
        
        header("Location: index.php?upload_message=Image has been uploaded&upload_message_type=success&show_image=".$_FILES["image_upload_box"]["name"]);
        exit;
    }
    else{
        header("Location: index.php?upload_message=Please make sure the file is an image and under 4 MB&upload_message_type=error");
        exit;
    }
}
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="styler.css" type="text/css">
<title>Treatspin - Image Uploader</title></head>
 
<body>
<center>
<h1 style="margin-bottom: 0px">Treatspin Image Hosting</h1><hr>
 
 
        <?php if(isset($_REQUEST['upload_message'])){?>
            <div class="upload_message_<?php echo $_REQUEST['upload_message_type'];?>">
            <?php echo htmlentities($_REQUEST['upload_message']);?>
            </div>
        <?php }?>
 
 
<form action="index.php" method="post" enctype="multipart/form-data" name="image_upload_form" id="image_upload_form" style="margin-bottom:0px;">
<label>Image file, maximum 4MB. it can be jpg, gif,  png:</label><br />
          <input name="image_upload_box" type="file" id="image_upload_box" size="40" /> <br />
          <input type="submit" name="submit" value="Upload image" />     
     
     <br />
    <br />
 
     
      <label>Scale down image? (2592 x 1944 px max):</label>
      <br />
      <input name="max_width_box" type="text" id="max_width_box" value="1024" size="4">
      x      
      
      <input name="max_height_box" type="text" id="max_height_box" value="768" size="4">
      px.
      <br />
      <br />
      <p style="padding:5px; border:1px solid #EBEBEB; background-color:#FAFAFA;">
  <a href="http://treatspin.com/about/index.htm">[About the site]</a><br />
  </p>
 
      
 
<input name="submitted_form" type="hidden" id="submitted_form" value="image_upload_form" />
          </form>
 
 
 
 
<?php 
 
$filename = stripslashes($_FILES['image']['name']);
 
if(isset($_REQUEST['show_image']) and $_REQUEST['show_image']!=''){
 
?></center>
<p>
    <center><img src="image_files/<?php echo $_REQUEST['show_image'];?>" hspace="5" vspace="5" align="bottom"></center><br />  
<tr>
<td>
<strong><center>Direct link to image</strong>:</center><br/> <center><textarea cols="50" rows="1">http://www.treatspin.com/image_files/<?php echo $_REQUEST['show_image'];?></textarea></center></td>
</tr>
    
    
</p>
 
 
<?php }?>
 
 
 
 
</body>
</html>
Above is my current image uploader script. I'm having some trouble adding a rand() name function. Basically what i want this script to do is randomly name the uploaded images using md5. I thought it would be a nice challenge for those of you more skilled than me. Thanks.

Re: Need help with php

Posted: Sun Jul 05, 2009 1:20 am
by paqman

Code: Select all

$randfield = md5(microtime() * mktime() * mktime());
A tiny bit of added randomness as it uses the current time, so each time its called it should, in theory, be different.

Re: Need help with php

Posted: Sun Jul 05, 2009 1:33 am
by teh1337ex
Thanks for the reply.

I just CANNOT get anything to work with this code. I've tried everything, but i cant input any sort of functions in this code without it going crazy.

Care to make it work and then explain?

Re: Need help with php

Posted: Sun Jul 05, 2009 2:04 pm
by teh1337ex
Bump, please help ?