PHP上传和调整图像大小

PHP上传和调整图像大小,php,file-upload,autoresize,Php,File Upload,Autoresize,我正在编写一个使用PHP上传图片的脚本,我想在保存之前将图片的宽度调整为180。 我尝试使用WideImage库和->saveFileTO(…),但是当我在页面中包含WideImage.php时,页面变为空白 这是我的脚本,如果你能帮助我,告诉我如何保存调整大小的版本你可以在上传时使用来调整图像大小 下面的代码应该让您了解如何实现调整大小: // Get the image info from the photo $image_info = getimagesize($photo); $widt

我正在编写一个使用PHP上传图片的脚本,我想在保存之前将图片的宽度调整为180。
我尝试使用WideImage库和->saveFileTO(…),但是当我在页面中包含WideImage.php时,页面变为空白
这是我的脚本,如果你能帮助我,告诉我如何保存调整大小的版本

你可以在上传时使用来调整图像大小

下面的代码应该让您了解如何实现调整大小:

// 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);
}

您可以使用我为此类任务编写的类:


您甚至不需要使用WideImage库

请在此处检查此脚本:

首先上传图像并保存到临时图像文件。此脚本运行带有“最大高度”或“最大宽度”输入的窗体。因此,它将根据新的宽度/高度生成一个新的图像文件,然后将临时图像复制到服务器上创建的新图像上

您可以通过以下代码看到这一点:

// 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-99)的imges的质量 此代码将在上载时自动调整图像大小

// 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);