У меня есть эта функция для получения данных 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
ОБНОВЛЕНИЕ: я заметил, что есть ошибки, потому что функция не может найти путь к изображению. Какие-нибудь советы?
Я нашел ответ.
Этот работает для обычных сайтов и 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;
}
Других решений пока нет …