把图片转换为Base64编码字符串

Pader2008年12月29日 发表于 网页与编程 php base64 图片 编码 字符串

无意中碰到,原来可以将图片变成字符串放在脚本里,就好像 exe 里的资源一样。

找了半天只有一个在 .netframework 环境下的软件能够转换文件编码,无奈。

于是自己用 php 写了一个在线转换的,限制了文件大小为 200KB.地址:

http://www.vgot.net/test/image2base64.php

至于如何输出图片,看示例

PHP代码

<?php
//把编码了的 BASE64 字符串赋于 $image 变量   
$image = <<<EOF   
R0lGODlhNAATAJEDAOtlL////99AAP///yH5BAEAAAMALAAAAAA0ABMAAAKMnI+py90Co5y02hsPBLz7D4biCECGUGLqupYnC8fVKwWQfQX6fuOyOZjYdAIfhdgrGmU0pbNoQTqRO191KaDhtrfKlQjeDsfYJheKrlnHz3By0kSDu+qIm8p+SuJQKv09lXcnlRF09Lb0hcjTw7hneDj3g0EIlPM3qeb4mNmpwucZmgUqOulwiprKUAAAOw==   
EOF;   
header("Content-Type: image/gif");  //这里根据图片类型修改   
header("Content-Disposition: inline");   
echo base64_decode($image);  //解码并输出   
exit;

具体怎么使用和扩展就看你自己的啦

评论 共有 5 条评论

  • zsx 2011-4-4

    那个,这种Base64是无法跟css通用的。在vb中就是利用数据流进行转换,代码还是很长的……

  • Pader 博主 2009-12-1

    文章和评论中都说出了原理,很简单的,试着自己写一个吧。

  • 美国VPS侦探 2009-11-30

    能不能把http://www.vgot.cn/test/image2base64.php分享一份? 谢谢。

  • Pader 博主 2009-11-10

    [quote=smallking]你好,想问下将图片进行base64编码,首先从图片文件读出来的是二进制流,是不是先要将二进制流转换为字符,然后对这个字符进行编码啊[/quote] 你可以直接用 file_get_contents() 或 readfile() 读取出来,对读取出来的内容使用 base64_encode() 就行了。

  • smallking 2009-11-10

    你好,想问下将图片进行base64编码,首先从图片文件读出来的是二进制流,是不是先要将二进制流转换为字符,然后对这个字符进行编码啊