Jump to content

Please help me resize my images


deansaddigh

Recommended Posts

Hi guys, i have a form that uploads a school photo.

 

All i want to do is resize the image to its widest dimension of a width of 480 px and then obviously constrain the height.

 

can anyone help me, ive tried to do this myself but when it comes to image properties i really struggle etc.

 

heres my upload code.

 

<?php
    include("includes/connection.php");

    // Where the file is going to be placed 
    $schoolimage = "SchoolImages/";
    
    //This path will be stored in the database as it does not contain the filename
    $currentdir = getcwd();
    $path = $currentdir . '/' . $schoolimage;
    
    // Get the schoolid for the image and school linker table
    $schoolid = $_POST['schoolid'];
    
    //Get the school name
    $query = "SELECT * FROM school WHERE school_id = ".$schoolid;
    $result = mysql_query($query) 
        or die("Error getting school details");
    $row = mysql_fetch_assoc($result);
    $schoolname = $row['name']; 
        
    //Use this path to store the path of the file in the database.
    $filepath = $schoolimage . $schoolname;
    
    
    //Create the folder if it does not already exist
    if(!file_exists('SchoolImages'))
    {
        if(mkdir('SchoolImages'))
        {
            echo 'Folder ' . 'SchoolImages' . ' created.';
        }
        else
        {
            echo 'Error creating folder ' . 'SchoolImages';
        }
    }
    
    
    //Store the folder for the course title.
    if(!file_exists( $filepath ))
    {
        if(mkdir( $filepath ))
        {
            echo 'Folder ' . $schoolname . ' created.';
        }
        else
        {
            echo 'Error creating folder ' . $schoolname;
        }
    }
    
    
    // Where the file is going to be placed 
    $target_path = $filepath;
    
    // Add the original filename to our target path. Result is "uploads/filename.extension"
    echo $target_path = $target_path . '/' . basename( $_FILES['uploadedfile']['name']); 
    
    if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) 
    {
        echo "The file ".  basename( $_FILES['uploadedfile']['name'])." has been uploaded";
        $filename =  $_FILES['uploadedfile']['name'];
        
        //Store the filename, path other criteria in the database 
        echo $query = "INSERT INTO image(image_id, name, path)
        VALUES(0, '$filename', '$filepath')";
        
        //Perform the query
        $add = mysql_query($query, $conn)
            or die("Unable to add the image details to the database");
        $imageid = mysql_insert_id();
        
        //Store the filename, path other criteria in the database 
        echo $query = "INSERT INTO image_school( image_id, school_id )
        VALUES('$imageid', '$schoolid')";
        
        //Perform the query
        $add = mysql_query($query, $conn)
            or die("Unable to add the image details to the database");
        
        $message = 'Upload Successful';
    } 
    else
    {    
        $message = 'There was an error uploading the file, please try again!';
    }
    
    //Close the connection to the database    
    mysql_close($conn);
    header("Location: add_school_photo_form.php? message={$message}&schoolid={$schoolid}");
    //header("Location: add_school_photo_form.php? message=$message, schoolid=$schoolid");
    exit();
    
?>

 

Id be eternially gratefull.

 

Kind Regards

 

Dean

 

Link to comment
Share on other sites

Hey and thanks for the link.

 

Would it be to much trouble to show me how i implement that on my code.

 

The reason i ask you to do that if possible , is i have been trying for a week with this to no avail what so ever.

 

So if you could possibly show me how to implement it, ill know for future reference.

 

Kind Regards

 

Dean

Link to comment
Share on other sites

<?php
$pathToImages= "/home/user/public_html/images/";
$thumbWidth ="170";

// load image and get image size
      $img = imagecreatefromjpeg( "{$pathToImages}{newimagename.jpg]}" );
      $width = imagesx( $img );
      $height = imagesy( $img );

      // calculate thumbnail size
      $new_width = $thumbWidth;
      $new_height = floor( $height * ( $thumbWidth / $width ) );

      // create a new temporary image
      $tmp_img = imagecreatetruecolor( $new_width, $new_height );

      // copy and resize old image into new image
      imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );

      // save thumbnail into a file
      imagejpeg( $tmp_img, "{$pathToThumbs}{newimagename.jpg}" );
?>

 

Above script will create images of width 170 px

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.