}
$i = $curlResult->getBody();
- $contType = $curlResult->getContentType();
- $type = Images::getMimeTypeByData($i, $mtch[1], $contType);
+ $type = $curlResult->getContentType();
+ $type = Images::getMimeTypeByData($i, $mtch[1], $type);
if ($i) {
$Image = new Image($i, $type);
if (!empty($image_url)) {
$ret = DI::httpRequest()->get($image_url);
$img_str = $ret->getBody();
- $contType = $ret->getContentType();
+ $type = $ret->getContentType();
} else {
$img_str = '';
- $contType = '';
+ $type = '';
}
if ($quit_on_error && ($img_str == "")) {
return false;
}
- $type = Images::getMimeTypeByData($img_str, $image_url, $contType);
+ $type = Images::getMimeTypeByData($img_str, $image_url, $type);
$Image = new Image($img_str, $type);
if ($Image->isValid()) {
$curlResult = DI::httpRequest()->get($photo);
if ($curlResult->isSuccess()) {
$img_str = $curlResult->getBody();
- $contType = $curlResult->getContentType();
+ $type = $curlResult->getContentType();
} else {
$img_str = '';
- $contType = '';
+ $type = '';
}
- $type = Images::getMimeTypeByData($img_str, $photo, $contType);
+ $type = Images::getMimeTypeByData($img_str, $photo, $type);
$Image = new Image($img_str, $type);
if ($Image->isValid()) {
return false;
}
+ // If the file is too large then exit
+ if (($curlResult->getInfo()['download_content_length'] ?? 0) > 1000000) {
+ return false;
+ }
+
// If it isn't a HTML file then exit
if (($curlResult->getContentType() != '') && !strstr(strtolower($curlResult->getContentType()), 'html')) {
return false;
*
* @param string $image_data Image data
* @param string $filename File name (for guessing the type via the extension)
- * @param string $mimeType possible mime type
+ * @param string $mime default mime type
*
* @return string
* @throws \Exception
*/
- public static function getMimeTypeByData(string $image_data, string $filename = '', string $mimeType = '')
+ public static function getMimeTypeByData(string $image_data, string $filename = '', string $mime = '')
{
- if (substr($mimeType, 0, 6) == 'image/') {
- Logger::info('Using default mime type', ['filename' => $filename, 'mime' => $mimeType]);
- return $mimeType;
+ if (substr($mime, 0, 6) == 'image/') {
+ Logger::info('Using default mime type', ['filename' => $filename, 'mime' => $mime]);
+ return $mime;
}
$image = @getimagesizefromstring($image_data);
if (!empty($image['mime'])) {
- Logger::info('Mime type detected via data', ['filename' => $filename, 'default' => $mimeType, 'mime' => $image['mime']]);
+ Logger::info('Mime type detected via data', ['filename' => $filename, 'default' => $mime, 'mime' => $image['mime']]);
return $image['mime'];
}