在PHP

时间:2016-08-17 02:27:02

标签: php

我一直用一些破碎的代码把头发拉了出来。我提前发布了一个问题,但我已将问题缩小到具体问题。

上一个问题: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()函数存储在变量中之后读取结果。

2 个答案:

答案 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);