php中的var_dump给出了非法字符错误的避免方法
我有一个写内容的小函数php中的var_dump给出了非法字符错误的避免方法,php,var-dump,Php,Var Dump,我有一个写内容的小函数 function write($data) { file_put_contents("filename.txt",$data,FILE_APPEND); } 它的工作很好,除了一些地方,当我做以下 write( var_dump($someObject) ); 这将给出以下错误消息: 非法字符 我通过浏览器中的警报框看到此错误消息,php通过ajax调用获得调用。如果您能帮助调试,我们将不胜感激 函数var_dump()()会回显所有内容。您应该在这里使用var\
function write($data)
{
file_put_contents("filename.txt",$data,FILE_APPEND);
}
它的工作很好,除了一些地方,当我做以下
write( var_dump($someObject) );
这将给出以下错误消息:
非法字符
我通过浏览器中的警报框看到此错误消息,php通过ajax调用获得调用。如果您能帮助调试,我们将不胜感激 函数
var_dump()
()会回显所有内容。您应该在这里使用var\u export()
()
var_dump
不会这样工作,因为它直接输出,而不是返回输出。如果要捕获输出以便将其写入其他位置,则必须使用:
或者,var\u export
也可以工作,只要您记住为第二个参数传入true
:
write(var_export($data, true));
检查“filename.txt”中实际包含的字符可能会有所帮助。同时发布ajax代码也是一个好主意。警报本身并不存在……文件是用二进制标志打开的吗?
var\u export($someObject,true)
应该是更好的解决方案。由于需要在文件中写入字符串,var\u export($someObject)
应该这样做。
ob_start();
var_dump($data);
write(ob_get_clean());
write(var_export($data, true));