Использование mime_content_type в сочетании с ACF

У меня есть эта функция для получения данных URI изображения:

function get_dataURI($image){
$imageData = base64_encode(file_get_contents($image));
$src = 'data: '.mime_content_type($image).';base64,'.$imageData;
echo $src;
}

Теперь я хочу использовать его в сочетании с плагином Advanced Custom Fields в WordPress, но он не работает:

<img src="<?php get_dataURI(get_sub_field('author_image')); ?>" height="auto" />

Если я удаляю часть функции mime_content_type, она работает, но затем не дает корректного URI данных.

Вот ошибка:

mime_content_type(): Failed identify data 0:(null) in [FUNCTIONS.PHP FILE PATH] on line 322

ОБНОВЛЕНИЕ: я заметил, что есть ошибки, потому что функция не может найти путь к изображению. Какие-нибудь советы?

0

Решение

Я нашел ответ.
Этот работает для обычных сайтов и WordPress сайтов, которые используют плагин ACF для получения изображений:

function get_dataURI($image){
preg_match('/(png|jpe?g)/', $image, $matches);
$match = $matches[0];
$imageData = base64_encode(file_get_contents($image));
$src = 'data:image/'.$match.';base64,'.$imageData;
echo $src;
}
0

Другие решения

Других решений пока нет …