Как я могу сохранить изображение BLOB во временный файл? - PullRequest
0 голосов
/ 13 февраля 2019

Я в настоящее время храню изображения в базе данных, я могу отображать их на веб-странице очень хорошо, используя следующий код:

<?php 
$type = "image/png"; //or the actual mime type of the file
$base64blob = base64_encode($portal['image']); //encode to base64
$datauri = "data:$type;base64,$base64blob";
?>

Проблема в том, что мне нужно сохранить его как временный файл, чтобыэто можно использовать в следующем коде, используя phpspreadsheet, где строка setpath будет временным файлом:

$drawing = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();
$drawing->setName('Logo');
$drawing->setDescription('Logo');
$drawing->setPath('./images/officelogo.jpg');
$drawing->setHeight(36);

Есть ли способ сделать это, поскольку я новичок, спасибо

1 Ответ

0 голосов
/ 13 февраля 2019
$ext = explode("/",$type);
$filename = './images/'.uniqid(rand(), true) . '.'.$ext[1];
file_put_contents($filename,$portal['image']);
$drawing->setPath($filename);
// make Spreadsheet
unlink($filename);
...