export an image in base64 - php

I want to create an image in php having the data encoded in base64
Use the code: file_put_contents('export/MyFile.png', base64_decode($img));
I read on the browser, but 7483 should be a larger number.
if I open the image was created only half (the other half is transparent)
if the variable $img contains a short string, it works.
if it contains a string too long the image will be created only partially.
why?
PS: if I use
$img = base64_decode($img);
$fp = fopen("export/MyFile.png", "w");
fwrite($fp, $img);
fclose($fp);
I have the exact same problems
thanks

file_put_contents('export/MyFile.png', base64_decode($img));
Should be:
file_put_contents('export/MyFile.png', base64_encode($img));
If you want to encode the image, you can't use the decode function.

Related

How to convert base64 string to video in PHP?

I have a base64 encoded string which my frontend team has provided me with.The string is a video which was encoded using base64. I want to convert that back into a video file using Php.
I am currently just using the following to decode the string but I don't know how to proceed further.
$decoded = base64_decode ($encoded_string);
There seems to be a way to convert images from string using imagecreatefromstring() function, but I could not find a way to convert it into a video.
Thank you
you should know the video file type. you can decode to original format
$fp=file_put_contents('sample.mp4',base64_decode($encoded_string,true));
Video streams tend to be very large so is isn't a good idea to convert them to plain text in the first place. We'd also need to know the exact mechanism (protocol, format...) used to deliver the base64 string. In any case, once there you can do something like this (error checking omitted for brevity):
$chunk_size = 8192; // Bytes (must be multiple of 4)
$input = fopen('php://input', 'rb');
$output = fopen('/tmp/foo.avi', 'wb');
while ($chunk = fread($input, $chunk_size)) {
fwrite($output, base64_decode($chunk));
}
fclose($output);
fclose($input);
Smaller chunks reduce RAM usage and larger chunks improve I/O performance. You'll need to find a balance that works best for you.

How to convert image stored in db as hex into visible image

Context
I have access to database. That database contains image data something like 0xFFD8FFE....................09090
Problem
I need those cryptic(hex) data to convert into visual image. I am not being able to find any way.
I have tried
$image = base64_decode(file_get_contents('img.txt'));
$db_img = imagecreatefromstring($image);
Header("Content-type: image/jpeg");
imagepng($db_img);
Here img.txt is file name containing the hex data.
It Doesn't work. How can I achieve this?
To turn a string like 0xFFD8FFE...09090 into actual binary data, you need to first get rid of the "0x" prefix, which is not part of the actual data, and then do a simply hex → bin conversion:
$data = '0xFFD8FFE...09090'; // maybe from file_get_contents
$binary = hex2bin(substr($data, 2));
If you don't know what type of image it is then, the most efficient method to find out is probably the use of finfo:
$finfo = new finfo(FILEINFO_MIME);
$type = $finfo->buffer($binary);
header('Content-Type: ' . $type);
echo $binary;
There's no need to use gd to reencode the image if $binary already is an image. You may want to inspect $type here a bit to verify that it's really the kind of file you expect before blindly outputting it.

Converting Base64 image to file return invalid image/data

I have been trying to convert a base64 string to image file using different methods for the past two days but every time the output file shows no image (it does show size and some encoded data).
Notes:
1. The browser interpreting the file as document and not image mime but I'm pretty sure this is not the problem as I tried to download the file localy and it is the same result.
2. I tried to compare the output results of online tools as codebeautify.org/base64-to-image-converter as it seems the data in the image file is different from my data.
3. Directory and files have 775 permissions and apache have chown
Base64 string here: https://dpaste.de/gP7D/raw
Method A:
list($type, $profile_image) = explode(';', $profile_image);
list(,$extension) = explode('/',$type);
list(,$profile_image) = explode(',', $profile_image);
if($extension == 'jpeg'){$extension = "jpg";}
$filePath = '../uploads/profile_images/'.$uname.'.'.$extension; // using uname instead of unique id to not expose the uqniue key/session
$profile_image = base64_decode($profile_image);
file_put_contents($filePath, $profile_image);
Method B:
list($type, $profile_image) = explode(';', $profile_image);
list(,$extension) = explode('/',$type);
list(,$profile_image) = explode(',', $profile_image);
$filePath = '../uploads/profile_images/'.$uname.'.'.$extension;
$ifp = fopen($filePath, 'wb');
fwrite($ifp, base64_decode($profile_image));
fclose($ifp);
What I'm doing wrong?
Update:
Apparently, Apache/php.ini had a maximum max_input_vars of 5000 while my base64 string were much higher. This post can be marked as resolved.
Seems that you have to remove the begining of your base64 encoded string, that isn't part of the base64 encoded data.
Remove the "data:image/jpeg;base64" from your base64 string.
I did some simple tests and got the image...
Apache/Php.ini file had a maximum max_input_vars of 5000 while my base64 string were much higher.

Converting a PNG to GIF using PHP

This should be fairly simple (given the tools on hand) but there's something I'm completely overlooking..
I'm trying to convert a PNG as a base64 URL to a GIF87a or a GIF89a GIF using PHP.
I've got a small piece of code that goes like this:
$img = "data:image/png;base64,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";
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$dataTwo = imagegif($data);
$file = 'img/' . uniqid() . '.gif';
$success = file_put_contents($file, $dataTwo);
print $success ? $file : 'Unable to save the file.';
But whenever I run it, I get an error that says Warning: imagegif() expects parameter 1 to be resource, string given and of course my if fails and spits out 'Unable to save the file'.
The data URL is valid. I've checked.
I think I need to create $data as an image first before $imagegif will process it but I don't know how to do that.. I'm still shaky on handling objects.. I tried to search the PHP wiki but I became even more confused and now I have a headache..
I have two questions that follow:
what did I do wrong / please tell me what it wants me to give it and how..
once I have it actually working, when PHP converts the file, will it overwrite the header to GIF87a or GIF89a? I require one of these to specifically be in the header of the GIF file.
Thank you in advance for any advice you can provide.
The function you want to use is indeed imagecreatefromstring.
It will recognize the image type by parsing the data.
You can then use the resource returned as parameter to the imagegif function.
As previously pointed out, you need imagecreatefromstring from the GD library. The conversion is then quite straight forward:-
$img = imagecreatefromstring(base64_decode("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"));
imagegif($img, 'test.gif');
Or to match your code:-
$input = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXwAAAEYCAYAAABfgk2GAAAemklEQVR4Xu2dzYsm13WHe7rHxGATtw1Zu8UMY0wIkv6AoF44ZOEspFWyUytkkRASJG0sgS2NPkCKF5qxMSSboNbOu4xJcAxZaJRNlhqRVYaZpPUPSC2wiYmm38k5rS75delW1b1V9+Pcuk9BMR/vrXvPfc6p33veU7eqLu2wQQACEIBAEwQuNTFLJgkBCEAAAjsIPkEAAQhAoBECCH4jjmaaEIAABBB8YgACEIBAIwQQ/EYczTQhAAEIIPjEAAQgAIFGCCD4jTiaaUIAAhBA8IkBCEAAAo0QQPAbcTTThAAEIIDgEwMQgAAEGiGA4DfiaKYJAQhAAMGvJwYeE1OfkP3JC5P3L/48vfjzlvz5nux36pkSlkIAAjkJIPg5ac8b60gOe1n2A8/DT6Tdddnf8WxPMwhAoBECCL5dRx+KaW8HCH1/Jir8T5Hx23UwlkEgNwEEPzdxv/E0q1exj7E9I50cx+iIPiAAgboJIPj2/Kfi/HRks7RPFX62dRLg+s46/Rp9Vgh+dKSLOoyZ2fcNIdNf5BqTB2u8cH3HpGtsGoXg2/HLoZjybmJzHpf+WcWTGHKG7jVWuL6TAfTahkDw7Xj0REz5ZmJzdIxHEo9B92kJxPwVyK++tL4y1zuCb8MlMU/iqRn9nTR4YaoRn5skcCxWcX3HpGvqMArBt+GnHNl9N9ON/GXPxrSxIoBAyqSATD/AETU3RfDLe09XWLyf2Qxq+ZmBLxzuUI7n+s5CiBy+w0vMDQTBs2LDjcx2PCfj3cw8JsPNJ5DjF6COwfWd+T6q4kgy/PJuui0m6DNycm76zB3NGtnsEzgSE2PdhDc1W0o7U4Qq/xzBL+9ABL+8DyxbkCO77+ZPlm85EiLYhuBHgLiwC10X/+jCPkIP1zG1js9mmwDXd2z7pzrrEPzyLish+B/ItFVM2GwT4PqObf9UZx2CX95llHTK+8CqBcSGVc9UaheCX95xnNTlfWDVAmLDqmcqtQvBL+84fraX94FVC0qU+7i+YzUaItiF4EeAuLALLswtBLjiw0sIPtd3VhxQCL4N556IGakfnNbN9EP5y4GNaWPFBAFKOoRIVAIIflScszs7kiO5uWY2vtUeiOCv1rVlJobgl+HuGjVHlk92b8ffPpZwfceHEm28CSD43qiSNzyUEXhAVnLMVQ3A9Z2q3GXfWATflo9SlnZ4TootX/tak+OXX2cLvwB9vVJpOwTfnuOOxaTYL7l4Rfq8bm+qWORBIGUS0B+epMDDITU3QfBtei/mSc5JbNPHIVblyPLJ7kM8UmlbBN+u4w7FNM325y7X1BP4Sdl5abldH/taprHA9R1fWrQbJIDg2w8Ozfa1HOMr/Cr02l6/LNjWQ0DjINXSXX4FridORmeC4NfjaF2xoZmeZu267V/8eXrx5y3587bsZPT1+DTUUv0S5/pOKDXaf04AwScYIFAXgZiZPpl9Xb5fbC2CvxghHUAgOwH9pafZvm+Zr28g13eyu8zGgAi+DT9gBQTmENBs/3qA8HN9Zw7lFR3TkuBv36b+UHz4vOw3V+RLptIuAa7vtOv7oJm3JPgq8tub/ns3iBaNIQABCFRMoBXBf0N89ILDT63Mv+IQxXQIQCAWgTUL3tSTBp+jpBMrjOgHAhCogcCaBb9fwtn2xw/kH6/X4CBshAAEIBCLQIuC/6bAezEWQPqBAAQgUAuB1gSfzL6WyMROCEAgOoG1Cf5Y3X5tc40eDHQIAQism8DaRHCsbr+2ua47MpkdBCAQncCaRHBqVc6a5ho9EOgQAhBYP4E1iOCU0KsXWYK5/lhmhhCAwASBNQj+WBmnm/4a5kkwQwACEFhEoHYh/L7M/rUJAmT3i0KEgyFgigDPxFrgjtoFfyi7R+QXBAWHQsAwAdc5X7uOZcNdO6i+838u5L6bjR4DQQACuQm4BJ8Ez9MLNQu+q5zDEzA9HU8zCFRKYOhXfc1als0VNULSd7nekP1ogFKNc8rmcAaCQOUEfin2f8UxB857D8fWBkmz+ldlH7Kbn3YeTqcJBComcCi2/6vsX+7NoTYtK+KC2iBxJ22RMGFQCJgj0NeC2rSsCNDaIG0Gsnsy+yLhw6AQKEbA9QY7Xls64Y7aBP/fZD7f4adcsZOMgSFghQAXb2d4oibBH7rJqqY5zHARh0AAAg4CQ3rAI9BHwqUGsdQ7694aKOXo1GqYA2csBCAQnwBJYCDTGsRy7EIttftAh9McAisj4BJ9svwBJ9cs+DXYvrJzi+lAwCQBHrfg6Rbrojn0k43M3tPBNINAAwTI8j2dbF3w+eb2dCTNINA4AbTCIwAsC77rW5uHo3k4lSYQaJAAWb6H0y0Lvusbm4ejeTiVJhBolABZ/oTjaxN8nY5lmxs9z5g2BEwQIMuvWPCH3lWL4Js4tzACAiYJkOWPuMW6eOI8k+cURkHALAGy/BUJPjdUmD3PMAwCZgiQKA64wnKG7/qmZv29mXMKQyBgloBLOyxrXTaQliGwSidbGDAQBFZHgOflO1xam+DrFPRi7nuy31ldiDIhCEAgFgEEvzLBH1ql001DHfpD2V+IFSH0AwEIrIYAgl+Z4HfmDr3lSj/Xz/ZWE6JMZC6B7hHaevxLsr8+tyOOWw0BBL9SwX9T7P7eSBhaLkut5uwxPpH+yc1qLuMOy2AeMVGp4HdmPyZ/eb/yOWSI8yaHcL3f9BtC4rRJGkxaCbA0cwViiRM5mV0EhlZ0Ud5pN15cSzO/3noSUFs5pH9i3xMH/pHsJ+3GdfMzH3pnQgdGS4IvNk+pTQCuX37PC4qbbeKo70Fkrgu4rNZpNXo/m/fYKzA7MtT024yRodioLdGN5r3aJj50AZfVOtFCoqqOXEt3/1Nm8Ae9WfBY7arcGs1YXnLeQ1mb4Kv5B7Ify/7ECuYSLbIb7Wjoms4bwqN/fwaP5WgzSPZl2h+jFZ8RqFHwO9/1T/bb8sEzsp+0GdfNzXoqe3PVb3ebo8SElQBr8i/ioGbBp57f7sns83J7V/bPBdw2Y4Y1+SsQ/KF6vjqXNdjrPbHHHrmxncAMteMC7npjY2hmLOdegeDrFA5kP5a9X89XBze9/Gql5/SY2Ltq9K5fAlzAXWlwjEyLxyWvRPCH6vld3Y5Mf10n95xldq4LuJR21hUXPrOhji+Uaq7hbzt5qKb7jjQ68okG2pgn4FO3D/lJr20p75h3ezQDEfwVCb5GhS6/utUr77A+P9r5Uqyj7kmYruTEd6nl2N24ZPvFXJt14L7g+8ZOViNTD7aWDL/j5FpzSxaXOorS9T/1ToSQ+HWVdjrLEf10PrTSM8t0V5bhd4HlqvM+Ih+eWIk87PAmMPbYhDkZ2limT2Lg7ZYqG7JSZ6WCP3RS35b5HsuudX022wTUh68OxGcMYXZl+6zesR0TS61z/VoM+YW4dHwTx691wmOZIUs2TYTeoBFalvtoQOznZPVDA7lEP8aXiW26bVvX/IXbtQr+VO1Xw56T2+bJ/1Mx608HTIsdr9R1bcZACqtYi7/Sks52sBzJP3Tv35jVtdFn7xyniC76DCYwthpHO4uZ3XfGuUSARCDYdVUcQA2/AcHvIvFA/vI/A2GJ6Ns4X4fKcKnfUsQzd2z4P7UVPE+nIcHXYJoq85DZpT7l3P2nvkA7NauhLxqWak6Rq+dzyjkXvopdE60hBLTE8/aAoZzk+Tw4VcLJ9QU8lggQD/niIeVIlHMaFnyd+pjo/6N8/hcpo6/xvnUVzo0LHwyhyCX22+MP3ZiF6NcfsJRzGhd8nf7YTTi35XNephL3RB8r3WyPVELsu/ER/bg+t9Jb88sxO0e0WNLpB+HQSa5B8hPZ/9ZK1FZoh6/I69RKCr1Ppq9tUqwUqtCt1ZmM4JPh/1bQ/lj+9TcDYazrwl+U/aS6MC9r8Niza/qWWRPSsSSA1ySWjas5oyP4CP4X4uZA/udY9qE1+/qZPpbh9pyIa+yYsXJZh0JZ6gXTU6NshkSfX8VGHeYwa2hhQLM+bHbiIzGrF23/fOTzO/LZzQvxryf001vqW76xUrrxIcJyPh9KdtvMeWGO3dlEsAzBd0P0yVA1mF6S/fUIfqi9i6nyTc0rXfqiUfNcao+zUPtdgl9TwhE638n2CP44oqOLssOjEyRbDKKpdfTbyGqOs6Es0dp1h8mTvcEGLMfsOb3mEzFn/B7KYCr+TwcOeiztVRis1ql9puNbqhnqq3ZhHPq1x+OUfaKnXBvXr87m9a55AIHxeCDt9Sf90NMcx7qrRfyXCvwaSx5DJasWf9kFnjJFmg99STevd80DmBmOPjX+GsR/qbj357hmAXT5nCx/5gmU+DBq9wOAEfxlkbdU+ENH/4Uc8A+y/8zjwNhiPjZk7WUbD5znTcbKO8/L57p6i608AS60I/hZo1CfF6Mnf2jNP6uRgYOtOXsPQTF0EZdsP4RiurYspR1hS4afLvC6nmsVfwTeHRu8CD39OTN3BG6WmyCH4M8NrXnHWRV/xD3Mn4h+GK/UrfW8+nvZ/4xKxjhqBD91KMbr/0np6i9l/+PALhHzQGABzV3lHUo7AQAXNvW5TtXK9SUvlAi+FyYaQcBJYOzlKQhNuqDxEfo1Lg9eTBTBX4yQDiCwQ6afJwh87+7mVy21rTwRyShNEhiq6SM8ccNhaIVUN4r1J7DGpTGjNzL8GdA4BAIOAtyYlTYsxspnfLF6skfwPUHRDAIeBMj0PSDNaDIk9gh9IEwEPxAYzSEwQWCo7MBFxLDQ8bkwi36FMd0BWCAwmkNggsDU4zbISscB+l6YZRXUjFMRwZ8BjUMgsFD0yfZ/G6CvyHdHIfYzT0EEfyY4DoOAB4GpN4FpF62L19jFWBfi1nl5hN1wEwR/ET4OhsAkgakSj3bQWpnHpz7fgW2NzWRALWmA4C+hx7EQ8Cfgk+2vOeMPEXlKN/5xFdQSwQ/CRWMILCLgk+2vMeP3/bJb8xfeosCJdTCCH4sk/UDAn4Bv3brGevWcTJ6M3j92FrVE8Bfh42AILCKwloxfH098Q3Z94U+IplCfXxQ+4QeHOCe8d46AAAR8CPhm/KUFckn23nFgSapPRCRqg+AnAku3EJhBwDfj73e99IsghpD7THepnT5j0GaEAIJPeEDAFgHfbN+W1V+0BnE36CEE36BTMAkCFwTmZvylAPJ44lLkPcdF8D1B0QwCBQlYE36y94LBsGRoBH8JPY6FQFkCsb8IEPKy/kw+OoKfHDEDQAACELBBAMG34QesgAAEIJCcAIKfHDEDQAACELBBAMG34QesgAAEIJCcAIKfHDEDQAACELBBAMG34QesgAAEIJCcAIKfHDEDQAACELBBAMG34QesgAAEIJCcAIKfHDEDQAACELBBAMG34QesgAAEIJCcAIKfHDEDQAACELBBAMG34QesgAAEIJCcAIKfHDEDQAACELBBAMG34QesgAAEIJCcAIKfHDEDQAACELBBAMG34QesgAAEIJCcAIKfHDEDQAACELBBAMG34QesgMBaCRzKxP5Z9q/K/lD252W/udbJWp8Xgm/dQ9gHgboJnIr5X+tNAd0p5FPAFwLPsBBohACCb8jRCL4hZ2AKBFZIQEs675Lh2/Asgm/DD1gBgbUS+L5M7DUE34Z7EXwbfsAKCKyVwEYm1teZ5+T/uHBbwOMIfgHoDAmBhgjoyhzXhvYUCAKgF4DOkBBoiICrpKPT/4HsrzfEwcRUEXwTbsAICKyawL7M7mPHDNGfzG4HeGbgDAeBRglw8daA4xF8A07ABAisnMCzMr+3ZO/rDfqT2fEAzwyc4SDQIAEu3BpxOoJvxBGYAYEVE0DwjTgXwTfiCMyAwIoJaEnnBhdty3sYwS/vAyyAQAsEXFk+SzMzex7Bzwyc4SDQKAHXKh39EthtlEeRaSP4RbAzKASaJECWX9jtCH5hBzA8BBoi4BJ8svyMAYDgZ4TNUBBonACrdQoHAIJf2AEMD4GGCLBap7CzEfzCDmB4CDRGwJXlo0OZggDQmUAzDAQgcE4AwS8YCAh+QfgMDYEGCbiWZ7IeP1MgIPiZQDMMBCDwOYF+ls9KnUzBgeBnAs0wEFhA4Cdy7F/3jleRfF72Gl8VSFlnQTAsORTBX0KPYyGQh8DQckYdvcZz2DUf3nObIZZqDJYMWBgCAqYItCD4tX55mQqUKWMQ/ClCfA6B8gRcJZ3OqhrPYW7AKhRTNQZLIVQMC4HiBPorXGotg3ADVqFQQvALgWdYCDROgAepFQgABL8AdIaEAAScN2BRx08cGAh+YsB0DwEIOAkM1fFrLVNV4WYEvwo3YSQEVkdgbSuPqnAQgl+FmzASAqsjgOAXcCmCXwA6QxYnoKtE3rqwIuXdqrnGKQ50hgFjgk9ZZwZQn0MQfB9KtFkbgW2xSfkcl76oIWS/iaQxwefibaIzDsFPBJZuTRPoi83XxdrTBBbzkLBhqAh+goCb6hLBnyLE52sksJFJbcf+O/LvowQT5SFhCH6CsJrfJYI/nx1H1kvgWEx/umd+inILgo/gmzpLEHxT7sCYTAT2ZZyPe2OlqOW7HiEQ+2UftV4YpqSTKdi3h0HwC0BnSBMEXILzjFim2X/MLXUdP9cF6JhMtK+h5+l046BNsYlLf0BNAJUuqyAwJDg/F+u/G3EGrlf6xTzv+l8oMfuOiMHZFWvxUxPu9V9TcGRGw3ANEHCJsU479nmRUpRT9p06BBD81IQR/MyEGc46gRwXVvtjxKrjvylwv1fxOT0m+LEYWY+/rPbFzmSyGs9gEIhAwCU6j0i/JxH67rpIVcfPYXtEDF/oigu3Kek6+kbwMwNnOHME+mvy1UAVoh/K/kIka1PV8XPYHgnBF7qZumirB6BPkekDNDJQo909JnY9IfuTF/bpskTdurtLb8nf35P9jlH7U5rlKovoeCqmexEH7mez6oufLew/l+0LzZwl9npQqjugY8+nmv4Q/CiuuiuCuieCurkQ1N0LQd1cCOquCOqZCOq13IJ6JNN7WfYDz2meSLvrsuudpy1tyudYdv1S3N5iCc5YNrv0hq/UtqeIg6lSzvaYS/mksL/aPqsQ/Lv7B4/tbTZPbC596VxQNzuXzgV1d+fhuaDuPvz01tnu7nvXTk8yC+pdEdS9QEH9PxHUb6cW1EPB8rbsKgZzthM56CnZM/OcY2rUY/pCpPF1U/YfyR76rB0t47wq+9Q5FuuXhOs6QcongS4B7xJ8FfYbjk5T3BC3xPaqj50KxqKTu7t/5Wj34YOXd/a+5CdcZ5+efPrg8vVv/+p+YkF9XwT1dxcK6pkIapKMX76EzsU+xpbiRqQYdqXqYyjz1P/3FU9fod+eQ4wVKS7brYrl0Moo17UOq3NIFYNJ+zUp+P+xf/Xw9x5++ra30PcRifBvLl16Kk3Gf57VRxLUMxHUa8cRPax9PR2xP+1K+1Thb2EbWpffzX2svNA94mDOORVD1HLdUxAjDijpxKA4o485wTljGP9DzrP63UtRBHWzefjMtdP7EQX1nvR1KbKgPpQ+r8YQVPkiipbZ9x3WUqav5UIVb92/1gMxJMw+K062vzS+Kv94rdd3jHNRbe8/I+in8n9/JXtoScr/pA1vGcIrBpdwC1d6hCmY975xIOJ3ObKgbo6vfvTfEQQ1Zmbfj6bFmf6h9Phu4hh9XPpvqabvEk9F3D9npsRrqFzTz3JjnYtDpR3fklTiMPq8e98sPxaXXPMyPY4ZmDEz+z7x5Zn+ec0+saCeiaDOrumfyJy/mTjSdAy9IamlzSXm/XNmSLim6vKpBH+sLGVpxcvUF6XGmSV7VxH3JgT/vGa/mzZD3WwePD6/pn8/k6BemSOoRxKJUUpgHhHdUmmnwzEmzGOiNXVupRJ8tfsN2YduGoux/t8jVGhikcBUUGax+d7+wcnO7uW0GapcyL36yYczBDVlKaePd1ZpJ8eXUWdoi1l+X5g169QXoI+dOz6ZqatfXQIaaxsqSWn/IauOYtlDPwYIFBf8lKWcPt95pZ0s2f2WoAZl+XLD1877meOotVq+b625c4PvOdXvN8ZKnX4ojP0CibX+P3P4MdwSAr7BuWSM0WOzZPedBcFZ/vkdtJkFNaiW71MHje07n+w19pgl+wsR/BA2Q2vRY891Sdkpti30V5hAUcHXO2h3dy9nFdSwWv79QoJ6xfen/W2Jnycyx9B7Mt5h5jFLDRfi/xCx1/m4+p660LuEg9bu/6nXQdHzf8lkOHYegaIOv79/8OzD3cuu26nnzcbjqEubB89dOT3xFNS7Iqj6jJyc2/kzd3wFFcFP65qp7D5U5PvW5ijrbI/ZH48LuGnjx1zvRQX/7v7V27u7eTPUzWZHnrlzz1NQzQu+rot/NHNU6Zhax29hGxP8pWKv/P5d9j/sgUx5jaSWNfotxFaROSL4o9jvFxLUK76CWsK+DwSZXixuYUtdZx/6QtH/j/k8/s5Xrufn62dcwG0hmmWORQX/v/av3tnbzZuhnp3t3PnWJ/c8BbWI4IugXvEVVEo6aU9UnxuvllgwJMCpRJgLuEu8tYJj2xP8zc4H3zq95ymo5ks6CH76kzDlDVJDLzDpZrXkefyH0sm/yP4V2bfX3Q+JflEtSO9GRlACRZ1MDd8VhEEXbUNWkcSK+Bi161i25OgnpeCr/WPXCX4tnx/L/qLsp4GT1fb9h78NdZFydVCg2TRPSQDBH6VrflkmN16lPDs+67uk4HezUxtekv31gOmGCH5RHQiYE00XEijq6AqWZVq/8UrdfyJ72sdS/CbIPpS/HiyMudoOtyD4yiz0wuqhHPML2X9nAnjJX2xTv1B5BETks6Wo4Nu/8UppZ320ggjqlVBBPRIjeXha5BNjqzsrgj/n0Qtjz9PRKZYUex1/6j6Hzg1zfuGki4iKey4q+Mot66MVNg8+vHp6Eiio5h+ephhPZE+d5beY3btEKfY5M5Tl/q8Mflf27j6LuXX27f7n9pFK4nwFvxvf4stcUrFJ0m/s4A020v7D07Jl+XOy+473ofzl3WD4YQekvCEozJK8rfuilEI0Xc+w/0SmqRn6mrdQwe++gK29zKUaHxUX/GxZ/qzsvvOj+RegqKFHsqcq7TwjfR9XE9VxDc31+INt0f+VTOFPZL8ddyrmevulWKTLRnXTOeurH6fq+t0kqO/PcKcJwbf/AhQlm7K0M+s5+C53qyg/PSMOxg55RT68HrnPmrpzZd8mzpuaIA7Yeij/f+viM32uT/cF55v5z7musQJs86dgJnBTlnbmPQffBTXFS8x/LYL6+zEF9Ugsj5Xpt5zZdwGA4M/Xl7lH+gq+9m9Gw+ZONudxpmCleIm5/E585dGP7kUU1JiZfrTMvh8zmjlptj/3Qq5eoNWMS5/V0/rmevyBxtOPZA+9Gap1lr7zDxH80iuNfOdkop0pwVciMTP9eJl931fnNf2Fgnomgjr7peW+wXMkDVWcfIVfhV7b69zYPiMwJD4q9k/JfhtQ0Qn41vG7gc3pWHQikTo0Ceq8pr/z4Hj2e27lAq2kZU/Of2m5L93zbD9QUM+k/bXcgqp35B7Krlm7bt3qjy5D1TqqChcZ/Rdd7yrpdK2Unz7vhi0+gZAs36SOxUeyvEfToM6z/R0RSN8XnJ8L/d71a6f3Mwvq+asQRVA1a9dt70JQzy4EdU8E9UwENXlGvzwi6MFFQP2pWafu28+nafXehBxRguAnoGxa8Lv56h25e5Khnu1cPhdUiYRzQRXjzwV1b+fBrTPJUNNn9Ak8QJc1EdgWfrV7e2VJTfOowdaQsk4VOmYBOqAseAEbIACBIQI+mT465hk/gPIERTMIQKAIgalMn1U6AW5B8ANg0RQCEIBAzQQQ/Jq9h+0QgAAEAggg+AGwaAoBCECgZgIIfs3ew3YIQAACAQQQ/ABYNIUABCBQMwEEv2bvYTsEIACBAAIIfgAsmkIAAhComQCCX7P3sB0CEIBAAAEEPwAWTSEAAQjUTADBr9l72A4BCEAggACCHwCLphCAAARqJoDg1+w9bIcABCAQQADBD4BFUwhAAAI1E0Dwa/YetkMAAhAIIIDgB8CiKQQgAIGaCSD4NXsP2yEAAQgEEEDwA2DRFAIQgEDNBBD8mr2H7RCAAAQCCCD4AbBoCgEIQKBmAgh+zd7DdghAAAIBBBD8AFg0hQAEIFAzAQS/Zu9hOwQgAIEAAgh+ACyaQgACEKiZAIJfs/ewHQIQgEAAAQQ/ABZNIQABCNRMAMGv2XvYDgEIQCCAAIIfAIumEIAABGomgODX7D1shwAEIBBAAMEPgEVTCEAAAjUTQPBr9h62QwACEAgggOAHwKIpBCAAgZoJIPg1ew/bIQABCAQQQPADYNEUAhCAQM0EEPyavYftEIAABAIIIPgBsGgKAQhAoGYCCH7N3sN2CEAAAgEEEPwAWDSFAAQgUDMBBL9m72E7BCAAgQACCH4ALJpCAAIQqJkAgl+z97AdAhCAQAABBD8AFk0hAAEI1Ezg/wFm7lJkZahzkgAAAABJRU5ErkJggg==";
list(, $imgData) = explode(',', $input);
$img = imagecreatefromstring(base64_decode($imgData));
imagegif($img, 'test.gif');
And to answer your second point, opening test.gif in notepad++ showed GIF87a in the header.

I have a base64 encoded png, how do I write the image to a file in PHP?

What's the proper way in PHP to create an image file (PNG), when I have the base64 encoding?
I've been playing around with:
file_put_contents('/tmp/'. $_REQUEST['id'].'.png', $_REQUEST['data']);
do I need to decode? should I be using the gd library?
You need to use base64_decode(). AND. Sometimes it is not sufficient. Here is all code that you need:
$img = $_POST['data'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$fileData = base64_decode($img);
//saving
$fileName = 'photo.png';
file_put_contents($fileName, $fileData);
P.S. I used this code to get PNG image from html canvas.
My best guess is that you simply need to call base64_decode() on $_REQUEST['data'] before writing it to the file. That should be plenty enough :).
I would think you'd want to decode with base64_decode() unless you are only using it like they are here HERE.
The thing I am sure of is that you will want to sanitize $_REQUEST['id'] before using it.

Categories