Home >Backend Development >PHP Tutorial >How to save base64 encoding to local file in php?
Use C to base64 encode an image locally and submit it to the web server through post. After base64_decode decoding by PHP, the image is not correct after saving. Use a hexadecimal editor to view and compare the source file (local source file image), and find that the 0d
--carriage return character is missing after saving.
process is that the data taken out after post transmission_POST['data'] is compared with the previous base64-encoded data number and becomes a space. Use PHP's str_replace(...)
to replace it back to the original one. It can Make sure there is no problem with this.
is decoded by $img = base64_decode(...)
, the length of the returned strlen($img)
is the same as the length of the source file. Whether using for(...) fwrite(...);
or file_put_contents(...)
, the byte 0d is lost
Use C to base64 encode an image locally and submit it to the web server through post. After base64_decode decoding by PHP, the image is not correct after saving. Use a hexadecimal editor to view and compare the source file (local source file image), and find that the 0d
--carriage return character is missing after saving.
The problem experienced during the process is that the data taken out after post transmission_POST['data'] is compared with the previous base64-encoded data number and becomes a space. Use PHP's str_replace(...)
to replace it back to the original one. It can Make sure there is no problem with this.
is decoded by $img = base64_decode(...)
, the length of the returned strlen($img)
is the same as the length of the source file. Whether using for(...) fwrite(...);
or file_put_contents(...)
, the byte 0d is lost
You can directly output this image on the web to see if it can be displayed normally, similar to