【问题标题】:Write XHR data with line break使用换行符写入 XHR 数据
【发布时间】:2013-01-26 20:11:24
【问题描述】:

我从变量中获取一些数据,并通过 XHR 将其发送到 PHP 文件,然后将其写入文件。 每次写入文件后如何在文件中换行?

var e='Hello world!'
$.getJSON('http://example.com/write.php?callback=&data='+e);

write.php:

$data = $_GET['data'];
if(!$op=fopen('my file name','ab')){
  $res='b';
  exit;
}
if(fwrite($op,$data)===FALSE){
  $res='b';
  exit;
}
fclose($op);

【问题讨论】:

  • PHP_EOL?
  • @Daedalus 我不知道 \n 发生了什么
  • @Aleksov 我不知道你的意思.. 只需将字符串 \n 附加到数据的末尾即可。那是换行符。反斜杠和 n 之间没有空格。
  • @Aleksov,请在您之前的@​​987654327@ 之后尝试fwrite($op, PHP_EOL)
  • @Daedalus 它对我不起作用。写入文件的数据仍在一行中。也许我没有把它放在那里?

标签: php jquery newline fwrite


【解决方案1】:

在写入数据后,尝试在文件中写入或附加PHP_EOL

fwrite($op, PHP_EOL);

【讨论】:

    【解决方案2】:

    试试:

    $data = $_GET['data'];
    
    if(!$op=fopen('my file name','ab')){
      $res='b';
      exit;
    }
    if(fwrite($op,$data . PHP_EOL)===FALSE){
      $res='b';
      exit;
    }
    fclose($op);
    

    【讨论】:

      【解决方案3】:

      AFAIK,fwrite() 将自动为每次写入添加一个换行符。

      您是否在 Windows 服务器上运行 PHP?您可以尝试以“at”模式(追加、翻译行尾)而不是“二进制”模式(ab)打开要写入的文件;

      $op = fopen('我的文件名','at');

      http://php.net/manual/en/function.fopen.php

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-13
        • 2014-01-25
        • 1970-01-01
        • 2017-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-23
        相关资源
        最近更新 更多