如何隐藏var_dump输出?

时间:2014-02-25 14:23:45

标签: php jquery

我正在尝试在FTP中映射数据,但无法隐藏var_dump的输出。 我的目标是获取输出,但作为通知在我的邮箱中。 将它放入我的邮箱不是问题。但问题是我无法隐藏输出。 以及将输出作为超链接。 所以我想隐藏,但在邮箱中将其作为超链接消息。

例如:

///////Mapping///////////////////////////////////////////
$host=$_SERVER['HTTP_HOST'];
$rootpath = '.';
$fileinfos = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($rootpath));
foreach($fileinfos as $pathname => $fileinfo) {
    if (!$fileinfo->isFile()) continue;
    var_dump('http://www.'.$host.(substr_replace($pathname,"/",0,2).'<br>'));
}
/////////////////////////////////////////////////////////

3 个答案:

答案 0 :(得分:5)

三个选项:

1)使用输出缓冲:

ob_start();
var_dump('http://www.'.$host.(substr_replace($pathname,"/",0,2).'<br>'));
$output = ob_get_clean();

2)使用print_r()。您丢失了数据类型,但值仍然存在:

$output = print_r('http://www.'.$host.(substr_replace($pathname,"/",0,2).'<br>'), true);

3)使用var_export()(请点击@SimonBlok指出这一点)

$output = var_export('http://www.'.$host.(substr_replace($pathname,"/",0,2).'<br>'));

答案 1 :(得分:1)

将其放入HTML评论中,然后检查您的来源。

另一方面...... var_dump不打算以这种方式使用。它是转储已存在的变量,而不是转储仍需要实例化的变量......

///////Mapping///////////////////////////////////////////
$host=$_SERVER['HTTP_HOST'];
$rootpath = '.';
$fileinfos = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($rootpath));
foreach($fileinfos as $pathname => $fileinfo) {
    if (!$fileinfo->isFile()) continue;
    echo '<!---';
    var_dump('http://www.'.$host.(substr_replace($pathname,"/",0,2).'\n'));
    echo '--->';
}
/////////////////////////////////////////////////////////

答案 2 :(得分:1)

您可以使用var_export来捕获var_dump的输出并将其存储在变量中以供以后使用。