【问题标题】:var_dump in php gives error of illegal character how to avoid itphp中的var_dump给出非法字符错误如何避免
【发布时间】:2012-07-16 03:59:45
【问题描述】:

我有一个写内容的小功能

function write($data)
{
  file_put_contents("filename.txt",$data,FILE_APPEND);
}

它工作得很好,除了我执行以下操作时的某些地方

write( var_dump($someObject) );

这给出了一个错误消息

非法字符。

我通过浏览器中的警告框看到此错误消息,php 通过 ajax 调用获取调用。任何调试此问题的帮助将不胜感激。

【问题讨论】:

  • 检查“filename.txt”中实际包含哪些字符可能会有所帮助。并且发布 ajax 代码也是一个好主意。警报不会自行发出...
  • 文件是否以二进制标志打开?
  • var_export($someObject,true) 应该是这里更好的解决方案。
  • 由于需要将字符串写入文件,var_export($someObject) 应该这样做。

标签: php var-dump


【解决方案1】:

函数var_dump() (see Documentation) 会回显所有内容。你应该在这里使用var_export() (see Documentation)。

write(var_export($data, true));

【讨论】:

    【解决方案2】:

    var_dump 不会那样工作,因为它直接输出而不是返回输出。如果您想捕获输出以便将其写入其他地方,您必须使用output buffering

    ob_start();
    var_dump($data);
    write(ob_get_clean());
    

    或者,var_export 也可以使用,只要您记得为第二个参数传递 true

    write(var_export($data, true));
    

    【讨论】:

      猜你喜欢
      • 2022-09-28
      • 2010-11-17
      • 2015-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-16
      • 1970-01-01
      • 2011-09-26
      相关资源
      最近更新 更多