为什么base64_encode会失败?

时间:2015-10-29 13:20:18

标签: php serialization base64

  

描述

     

使用base64对给定数据进行编码。

     

此编码旨在使二进制数据在通过非8位清理的传输层(例如邮件正文)传输时继续存在。

     

Base64编码数据占用的空间比原始数据多33%。

     

返回值

     

编码数据,作为字符串或失败时为FALSE。

以上来自PHP.net的quote声称该函数可能会失败。但出于什么原因?

2 个答案:

答案 0 :(得分:1)

它表示失败时可能会返回false。例如,如果您尝试对这样的数组进行编码:

if(base64_encode([])){
  echo "Encoded";
} else {
  echo "Not encoded"; //It will execute this
}

答案 1 :(得分:0)

简单,

如果您尝试编码的参数由于不是有效数据类型而无法编码,base64_encode()将失败。我想如果确实会返回false

例如:

$array = array('bla');
var_dump($array);

会失败并返回false。它还会抛出E_WARNING来传递无效的参数。