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
https://forums.phpfreaks.com/topic/214180-please-help-me-resize-my-images/
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

<?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

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.