我需要使用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;
?>
在这里,我得到的是空白输出。请帮助我解决此问题。
答案 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';