如何使用PHP将图像路径转换为base64编码数据

时间:2018-11-19 12:41:50

标签: php base64

我需要使用PHP将图像URL转换为base64_encode数据。我在下面解释我的代码。

<?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 :(得分:1)

以下代码将图片转换为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;

谢谢

答案 1 :(得分:0)

尝试此代码。它将为您提供帮助。

根据他的问题,他需要对图像路径进行编码。首先,检查图像是否存在,如果存在,则对其路径进行编码。

$path = 'your-file-path';
$file = 'your-file';
$image_with_path = $path.'/'.$file;
if(file_exists($image_with_path)){
    $base64 = base64_encode($image_with_path );
}

答案 2 :(得分:0)

您的代码对我有用。我想错误是在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;

答案 3 :(得分:0)

请在 $ path 变量中使用未转义的网址,

<?php    
$path='http://abcd.com/pub/media/catalog/product//m/i/mi-l32m5-ai.jpeg';