0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Если нужно превратить строку в Base64 в PNG-файл на PHP, вот как это делается.</p>
1
<p>Если нужно превратить строку в Base64 в PNG-файл на PHP, вот как это делается.</p>
2
$data = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA...";<p>Нужно убрать лишние метаданные, чтобы остался только чистый Base64:</p>
2
$data = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA...";<p>Нужно убрать лишние метаданные, чтобы остался только чистый Base64:</p>
3
if (preg_match('/^data:image\/(png|jpeg);base64,/', $data, $type)) { $data = substr($data, strpos($data, ',') + 1); $type = strtolower($type[1]); } else { throw new Exception('Неправильный формат данных.'); }<p>Теперь декодируем строку с помощью base64_decode():</p>
3
if (preg_match('/^data:image\/(png|jpeg);base64,/', $data, $type)) { $data = substr($data, strpos($data, ',') + 1); $type = strtolower($type[1]); } else { throw new Exception('Неправильный формат данных.'); }<p>Теперь декодируем строку с помощью base64_decode():</p>
4
$data = base64_decode($data); if ($data === false) { throw new Exception('Ошибка декодирования данных.'); }<p>После этого сохраняем данные в файл:</p>
4
$data = base64_decode($data); if ($data === false) { throw new Exception('Ошибка декодирования данных.'); }<p>После этого сохраняем данные в файл:</p>
5
$filePath = 'path/to/your/image.png'; // путь для сохранения файла if (file_put_contents($filePath, $data) === false) { throw new Exception('Не удалось сохранить файл.'); } else { echo "Файл успешно сохранен: $filePath"; }<p>Вот и весь код в одном месте:</p>
5
$filePath = 'path/to/your/image.png'; // путь для сохранения файла if (file_put_contents($filePath, $data) === false) { throw new Exception('Не удалось сохранить файл.'); } else { echo "Файл успешно сохранен: $filePath"; }<p>Вот и весь код в одном месте:</p>
6
<?php try { $data = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."; // картинка if (preg_match('/^data:image\/(png|jpeg);base64,/', $data, $type)) { $data = substr($data, strpos($data, ',') + 1); $type = strtolower($type[1]); } else { throw new Exception('Неправильный формат данных.'); } $data = base64_decode($data); if ($data === false) { throw new Exception('Ошибка декодирования данных.'); } $filePath = 'path/to/your/image.png'; if (file_put_contents($filePath, $data) === false) { throw new Exception('Не удалось сохранить файл.'); } else { echo "Файл успешно сохранен: $filePath"; } } catch (Exception $e) { echo 'Ошибка: ' . $e->getMessage(); }<p>Перед этим стоит проверить, есть ли права на запись в директории, куда сохраняем файл. Можно использовать также<a>готовые библиотеки</a></p>
6
<?php try { $data = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."; // картинка if (preg_match('/^data:image\/(png|jpeg);base64,/', $data, $type)) { $data = substr($data, strpos($data, ',') + 1); $type = strtolower($type[1]); } else { throw new Exception('Неправильный формат данных.'); } $data = base64_decode($data); if ($data === false) { throw new Exception('Ошибка декодирования данных.'); } $filePath = 'path/to/your/image.png'; if (file_put_contents($filePath, $data) === false) { throw new Exception('Не удалось сохранить файл.'); } else { echo "Файл успешно сохранен: $filePath"; } } catch (Exception $e) { echo 'Ошибка: ' . $e->getMessage(); }<p>Перед этим стоит проверить, есть ли права на запись в директории, куда сохраняем файл. Можно использовать также<a>готовые библиотеки</a></p>