/** * Takes memory required to process supplied image file and a bit more for future PHP operations. * @param resource $imageFile * @return bool true on success */ protected function getMemoryNeeded($imageFile) { if (!file_exists($imageFile)) { return 0; } $imageInfo = getimagesize($imageFile); if (!isset($imageInfo['channels']) || !$imageInfo['channels']) { $imageInfo['channels'] = 4; } if (!isset($imageInfo['bits']) || !$imageInfo['bits']) { $imageInfo['bits'] = 8; } if (!isset($imageInfo[0])) { $imageInfo[0] = 1; } if (!isset($imageInfo[1])) { $imageInfo[1] = 1; } $memoryNeeded = round(($imageInfo[0] * $imageInfo[1] * $imageInfo['bits'] * $imageInfo['channels'] / 8 + Pow(2, 16)) * 1.65); $success = \Ip\Internal\System\Helper\SystemInfo::allocateMemory($memoryNeeded); return $success; }
/** * @param $imageFile * @return bool|null */ public static function getMemoryNeeded($imageFile) { $imageInfo = getimagesize($imageFile); if (!isset($imageInfo['channels']) || !$imageInfo['channels']) { $imageInfo['channels'] = 4; } if (!isset($imageInfo['bits']) || !$imageInfo['bits']) { $imageInfo['bits'] = 8; } if (!isset($imageInfo[0])) { $imageInfo[0] = 1; } if (!isset($imageInfo[1])) { $imageInfo[1] = 1; } $a64kb = 65536; $bytesNeeded = round(($imageInfo[0] * $imageInfo[1] * $imageInfo['bits'] * $imageInfo['channels'] / 8 + $a64kb) * 1.65); return \Ip\Internal\System\Helper\SystemInfo::allocateMemory($bytesNeeded); }