Data URI base64 PHP函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Data URI base64 PHP函数相关的知识,希望对你有一定的参考价值。

**Example of use:**

echo base64DataUri('/var/www/html/background.png');

*or*

echo base64DataUri('http://static.php.net/www.php.net/images/php.gif');
  1. /**
  2.  * Data URI base64 PHP function.
  3.  *
  4.  * @author Pierre-Henry Soria <[email protected]>
  5.  * @copyright (c) 2012-2013, Pierre-Henry Soria. All Rights Reserved.
  6.  * @license Lesser General Public License (LGPL) <http://www.gnu.org/copyleft/lesser.html>
  7.  * @param string $sFile The path of your file to encode.
  8.  * @return string The encoded data in base64.
  9.  */
  10. function base64DataUri($sFile)
  11. {
  12.  
  13. // Switch to right MIME-type
  14. $sExt = strtolower(substr(strrchr($sFile, '.'), 1));
  15.  
  16. switch($sExt)
  17. {
  18. case 'gif':
  19. case 'jpg':
  20. case 'png':
  21. $sMimeType = 'image/'. $sExt;
  22. break;
  23.  
  24. case 'ico':
  25. $sMimeType = 'image/x-icon';
  26. break;
  27.  
  28. case 'eot':
  29. $sMimeType = 'application/vnd.ms-fontobject';
  30. break;
  31.  
  32. case 'otf':
  33. case 'ttf':
  34. case 'woff':
  35. $sMimeType = 'application/octet-stream';
  36. break;
  37.  
  38. default:
  39. exit('Invalid extension file!');
  40. }
  41.  
  42. $sBase64 = base64_encode(file_get_contents($sFile));
  43. return "data:$sMimeType;base64,$sBase64";
  44. }

以上是关于Data URI base64 PHP函数的主要内容,如果未能解决你的问题,请参考以下文章

超级有用的9个PHP代码片段

Request-URI Too Large 错误出现[使用 base64 编码图像并发送到 php 时]

生成要在数据 URI 中使用的图像的 base64 字符串

BASE64编码的字符进行URL传输丢失特殊字符的问题

有没有办法在使用 data: URI 时指定建议的文件名?

通过php base64函数进行加密解密