我制作了一个负责上传图像的文件,然后将这些图像移动到服务器中的文件夹中.我想我不能直接在$_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);
标签:php,image-resizing 来源: https://codeday.me/bug/20191002/1841971.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。