PHP upload and resize image

前端 未结 4 927
没有蜡笔的小新
没有蜡笔的小新 2020-12-04 02:18

I am working on a script that uploads a picture using PHP and I wanna make it resize the image to width 180 before saving it.
I tried using the WideImage library and -

相关标签:
4条回答
  • 2020-12-04 02:27

    Dont use any library Check this script http://dr-wordpress.blogspot.com/2013/12/image-resizing-using-php.html Just gave the quality of imges from (0-99) this code will automatically resize the images while uploading

    0 讨论(0)
  • 2020-12-04 02:29

    You can use a class I've written for just such a task:

    http://code.google.com/p/image2/source/browse/#svn/trunk/includes/classes

    <?php
    
        try
        {
            $image = new Image2($path_to_image);
        }
        catch (NotAnImageException $e)
        {
            printf("FILE PROVIDED IS NOT AN IMAGE, FILE PATH: %s", $path_to_image);
        }
    
        $image -> resize(array("width" => 180)) -> saveToFile($new_path); // be sure to exclude the extension
        $new_file_location = $image -> getFileLocation(); // this will include the extension for future use
    
    0 讨论(0)
  • 2020-12-04 02:34

    You don't even need to use the WideImage library.

    Check this script here: http://bgallz.org/502/php-upload-resize-image/

    You start by uploading the image and saving to a temp image file. This script runs off a form with inputs for the max height or max width. So it will then generate a new image file based on the new width/height and then copy the temp image onto the new one created on the server.

    You see this with the following code:

    // Create temporary image file.
    $tmp = imagecreatetruecolor($newwidth,$newheight);
    // Copy the image to one with the new width and height.
    imagecopyresampled($tmp,$image,0,0,0,0,$newwidth,$newheight,$width,$height);
    
    0 讨论(0)
  • 2020-12-04 02:44

    You can use the PHP GD library to resize an image on upload.

    The following code should give you an idea of how to implement the resize:

    // Get the image info from the photo
    $image_info = getimagesize($photo);
    $width = $new_width = $image_info[0];
    $height = $new_height = $image_info[1];
    $type = $image_info[2];
    
    // Load the image
    switch ($type)
    {
        case IMAGETYPE_JPEG:
            $image = imagecreatefromjpeg($photo);
            break;
        case IMAGETYPE_GIF:
            $image = imagecreatefromgif($photo);
            break;
        case IMAGETYPE_PNG:
            $image = imagecreatefrompng($photo);
            break;
        default:
            die('Error loading '.$photo.' - File type '.$type.' not supported');
    }
    
    // Create a new, resized image
    $new_width = 180;
    $new_height = $height / ($width / $new_width);
    $new_image = imagecreatetruecolor($new_width, $new_height);
    imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    
    // Save the new image over the top of the original photo
    switch ($type)
    {
        case IMAGETYPE_JPEG:
            imagejpeg($new_image, $photo, 100);
            break;
        case IMAGETYPE_GIF:
            imagegif($new_image, $photo);         
            break;
        case IMAGETYPE_PNG:
            imagepng($new_image, $photo);
            break;
        default:
            die('Error saving image: '.$photo);
    }
    
    0 讨论(0)
提交回复
热议问题