微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 调整服务器上的图像大小

我制作了一个负责上传图像的文件,然后将这些图像移动到服务器中的文件夹中.我想我不能直接在$_FILES数组中调整图像大小,所以我认为我必须在服务器后调整图像大小,所以我的问题是,如何调整服务器中的图像?

这是我的代码的一部分:

//This is after getting target which is the file saved on the server

move_uploaded_file($_FILES[$str]['tmp_name'], $target);

scale_image($target);

现在函数scale_image()

function scale_image($image)
{

    if(!empty($image)) //the image to be uploaded is a JPG I already checked this
    {
        $source_image = imagecreatefromjpeg($image);
        $source_imagex = imagesx($source_image);
        $source_imagey = imagesy($source_image);

        $dest_imagex = 300;
        $dest_imagey = 200;

        $image = imagecreatetruecolor($dest_imagex, $dest_imagey);
        imagecopyresampled($image, $source_image, 0, 0, 0, 0,
        $dest_imagex, $dest_imagey, $source_imagex, $source_imagey);

    }
}

但这似乎不起作用,它移动文件但没有调整大小.

解决方法:

PHP内置了GD library.

有许多功能可用于操纵图像,但不需要重新发明轮子.

查看这个要点的简单图像处理类 – https://gist.github.com/880506

这是一个示例用法……

$im = new ImageManipulator($_FILES['field_name']['tmp_name']);
$im->resample(640, 480); // resize to 640x480
$im->save('/path/to/destination/image.jpg', IMAGETYPE_JPEG);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐