写入文件会插入额外的空格和斜杠

时间:2012-11-09 20:45:37

标签: php html

我有一个带有textarea表单的html页面,当用户输入textarea并按下submit时,php会将该textarea的内容写入txt文件。

当我将这样的东西插入textarea

line1 what's up
line2
line3

它最终写入txt文件

line1 what\'s up

line2

line3

有额外的空格和额外的斜线。我怎样才能解决这个问题?这是php

$myFile = "all.txt";
$fh = fopen($myFile, 'a') or die("can't open file");

$stringData = $content."\n";
fwrite($fh, $stringData);
fclose($fh);

3 个答案:

答案 0 :(得分:1)

如果要从文本框中检索数据,数据实际上就像

line1 what's up\r\n
line2\r\n
line3

因此,在末尾添加额外的\n将添加额外的一行。

至于\'这通常与启用magic_quotes一起发生。 在phpinfo()中快速搜索“magic_quotes”会告诉您是否已将其打开。

答案 1 :(得分:1)

额外的换行可能是由于写入文件和读取文件的内容之间的行结尾不同造成的。

也许你可以使用"\n"来结束你的行。

单引号的额外转义序列是魔术引号。

考虑以下代码:

<?php 

ini_set('magic_quotes_gpc', 'off');
$content = str_replace("\r\n", "\n");

或者,您可以使用与主机操作系统行结尾匹配的PHP_EOL常量。

答案 2 :(得分:0)

您已启用magic_quotes。禁用它,和/或升级到更新的PHP。 magic_quotes是魔鬼,更邪恶。