imagecreatefromjpeg — 由文件或 URL 创建一个新图象。
imagecreatefromjpeg ( string $filename ) : resource
imagecreatefromjpeg() 返回一图像标识符,代表了从给定的文件名取得的图像。
参数
filename
JPEG 图像的路径。
返回值
成功后返回图象资源,失败后返回 FALSE 。
处理图片内存溢出
在实际开发过程中,使用 imagecreatefromjpeg
给大小为1M左右图片创建画布时,偶尔会报内存溢出,主要是因为图片的像素过大造成的。内存占用公式如下:
<?php
/**
* 动态计算内存占用情况并设置内存限制
*/
$imageInfo = getimagesize('PATH/TO/YOUR/IMAGE');
$memoryNeeded = round(($imageInfo[0] * $imageInfo[1] * $imageInfo['bits'] * $imageInfo['channels'] / 8 + Pow(2, 16)) * 1.65);
if (function_exists('memory_get_usage') && memory_get_usage() + $memoryNeeded > (integer) ini_get('memory_limit') * pow(1024, 2)) {
ini_set('memory_limit', (integer) ini_get('memory_limit') + ceil(((memory_get_usage() + $memoryNeeded) - (integer) ini_get('memory_limit') * pow(1024, 2)) / pow(1024, 2)) . 'M');
}
?>