首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP 7 PSR-7响应测试脚本是否可以在内存有限的情况下使用GD调整图像大小

PHP 7 PSR-7响应测试脚本是否可以在内存有限的情况下使用GD调整图像大小
EN

Stack Overflow用户
提问于 2018-09-05 12:54:36
回答 1查看 77关注 0票数 0

我使用带有GD库的PHP7.1。

我的脚本下载图像并在保存之前调整其大小。服务器有256MB内存(不能增加)。

有些图像的物理大小(不是文件大小)大于50Mpx。当我尝试用GD调整它的大小时,内存限制错误出现在下面这一行:

代码语言:javascript
复制
<?php 
$image = imagecreatefromjpeg($file);

脚本以PSR-7 HTTP-response的形式获取图像。在调整图像大小之前,我需要测试它是否有足够的内存来调整图像大小?

我试过按文件大小测试图像,但它丢弃了物理大小可以,但文件大的图像:

代码语言:javascript
复制
<?php 
$fileIsOk = (int)$response->getBody()->getSize() <= SOME_MAGIC_SIZE_IN_BYTES;
if ($fileIsOk) {
    // do the stuff
}

例如,我的脚本失败,图像为50.2Mpx 1.51MB,但可以显示3.6Mpx 1.02MB。

我的想法是通过获取Mpx count来测试图像:

所以我需要测试脚本是否可以根据Mpx计数在内存有限的情况下调整图像大小。如何从PSR-7响应对象中获取?

EN

回答 1

Stack Overflow用户

发布于 2018-09-05 14:51:46

您可以将响应正文转换为字符串,并对其使用getimagesizefromstring()

代码语言:javascript
复制
<?php
$imageData = (string) $response->getBody();
[$width, $height] = getimagesizefromstring($imageData);
$px = $width * $height;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52177320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档