Изображение base64 для png не работает php

Im пытается преобразовать изображение base64 в png.Это мой код

$img = $_POST['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR . uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'Unable to save the file.';

Файл создан успешно. Но он не может быть открыт. Он не в читаемом формате.

1 ответ

Извините за возрождение вашего вопроса, но посмотрите, он работал как шарм:

licensed under cc by-sa 3.0 with attribution.