Чтобы сохранить изображение PNG на стороне сервера из URI данных base64 в PHP, вы можете использовать несколько методов. Вот несколько примеров:
Метод 1: использование file_put_contents()
$dataUri = 'data:image/png;base64,iVBORw0KG...'; // Replace with your base64 data URI
$image = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $dataUri));
$file = 'path/to/save/image.png'; // Replace with the desired path and file name
if (file_put_contents($file, $image)) {
echo 'Image saved successfully.';
} else {
echo 'Failed to save the image.';
}
Метод 2: использование imagepng()
$dataUri = 'data:image/png;base64,iVBORw0KG...'; // Replace with your base64 data URI
$image = imagecreatefromstring(base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $dataUri)));
$file = 'path/to/save/image.png'; // Replace with the desired path and file name
if (imagepng($image, $file)) {
echo 'Image saved successfully.';
} else {
echo 'Failed to save the image.';
}
imagedestroy($image);
Метод 3: использование fopen() и fwrite()
$dataUri = 'data:image/png;base64,iVBORw0KG...'; // Replace with your base64 data URI
$image = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $dataUri));
$file = 'path/to/save/image.png'; // Replace with the desired path and file name
$handle = fopen($file, 'w');
if ($handle !== false) {
if (fwrite($handle, $image) !== false) {
echo 'Image saved successfully.';
} else {
echo 'Failed to write image data.';
}
fclose($handle);
} else {
echo 'Failed to open file for writing.';
}
Переменная
с вашим фактическим URI данных base64 и переменная $fileс желаемым путем и именем файла, в котором вы хотите сохранить изображение.