我一直用一些破碎的代码把头发拉了出来。我提前发布了一个问题,但我已将问题缩小到具体问题。
上一个问题:Can't assess an array element after building array - a var_dump confirms element is there
现在问题在于base64解码功能。它意味着返回一个字符串,但每当你尝试读取字符串时它都不起作用。
看到这个简单的测试代码......
使用error_reporting(E_ALL);
$encoded = base64_encode('my encrypted text');
$decoded = base64_decode($encoded, true);
echo "<br />";
printf('my encrypted text -> encoded to base64 = %s', $encoded);
echo "<br />";
printf('%s from base64 = %s', $endcoded, $decoded);
echo "<br />";
printf('calling $decoded to read string: result = %s', $decoded);
结果如下
my encrypted text -> encoded to base64 = bXkgZW5jcnlwdGVkIHRleHQ=
Notice: Undefined variable: endcoded in /home/website/base64test.php on line 10
from base64 = my encrypted text
calling $decoded to read string: result = my encrypted text
第10行是这样的:
printf('%s from base64 = %s', $endcoded, $decoded);
这是一个错误吗?或者我错过了什么。
如何将base64_decode()函数存储在变量中之后读取结果。
答案 0 :(得分:1)
你有一个拼写错误:en d 编码:
printf('%s from base64 = %s', $endcoded, $decoded);
//-------------------------------^
应该是
printf('%s from base64 = %s', $encoded, $decoded);
//-------------------------------^
答案 1 :(得分:-1)
检查$endcoded
,
printf('%s from base64 = %s', $encoded, $decoded);