Как преобразовать путь изображения в кодировку данных base64 с помощью PHP - PullRequest
0 голосов
/ 19 ноября 2018

Мне нужно преобразовать URL-адрес изображения в base64_encode данные с использованием PHP. Я объясняю мой код ниже.

<?php
$path='https://www.jquery-az.com/html/images/banana.jpg';
$type = pathinfo($path, PATHINFO_EXTENSION);
$data = file_get_contents($path);
$base64=base64_encode($data);
print_r($base64);exit;
?>

Здесь я получаю пустой вывод. Пожалуйста, помогите мне решить эту проблему.

Ответы [ 4 ]

0 голосов
/ 19 ноября 2018

Пожалуйста, используйте неэкранированный URL в переменной $ path ,

<?php    
$path='http://abcd.com/pub/media/catalog/product//m/i/mi-l32m5-ai.jpeg';
0 голосов
/ 19 ноября 2018

Попробуйте этот код. Это поможет вам.

Согласно его вопросу, ему нужно закодировать путь к изображению. Сначала проверьте, существует ли изображение, если да, то закодируйте его путь.

$path = 'your-file-path';
$file = 'your-file';
$image_with_path = $path.'/'.$file;
if(file_exists($image_with_path)){
    $base64 = base64_encode($image_with_path );
}
0 голосов
/ 19 ноября 2018

твой код работает на меня. Я предполагаю, что ошибка в том, что в php.ini запрещено открывать удаленные URL: http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen установите его на true

добавить эту строку и проверить сообщение об ошибке

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

$path='https://www.jquery-az.com/html/images/banana.jpg';
$type = pathinfo($path, PATHINFO_EXTENSION);
$data = file_get_contents($path);
$base64=base64_encode($data);
print_r($base64);exit;
0 голосов
/ 19 ноября 2018

Вот код для преобразования изображения в формат base64

        $path='http:\/\/abcd.com\/pub\/media\/catalog\/product\/\/m\/i\/mi-l32m5-ai.jpeg';
        $type = pathinfo($path, PATHINFO_EXTENSION);
        $data = file_get_contents($path);
        $base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
        echo $base64;

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...