如何在php中使用curl post发送数据'\ n'?

时间:2013-11-11 20:12:45

标签: php post curl

我使用PHP cURL发送相同的数据。但我在文本区域中使用“\ n”字符并打印“从服务器清空回复”。除非我使用“\ n”,否则它正在工作。

例如:

<form action="gonder.php" method="post">
<textarea name="content" rows=23 cols=70></textarea>
<input class="button" type="submit" value="Kaydet">
</form>

我的gonder.php文件:

<?php

if($_POST['content'] != ""){

$ch = curl_init('http://address/page.php');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'bilgi='.$_POST['content']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch) or die(curl_error($ch));

header("Location: index.php?olay=2");
}

?>

其他信息:我的文件最后有单引号。

我该如何解决这个问题?

veriler.txt:

araba
ev
dükkan
mağaza

veriler.txt在另一台服务器上,我想使用post方法用textarea重写它

2 个答案:

答案 0 :(得分:0)

如果传递数组,

curl将为您编码,或者您可以在现有代码中使用urlencode():

$content = array('bilgi' => $_POST['content']);
curl_setopt($ch, CURLOPT_POSTFIELDS, $content);

答案 1 :(得分:0)

我认为您需要使用此函数nl2br(htmlentities())将文本作为HTML发送:

 curl_setopt($ch, CURLOPT_POSTFIELDS, 'bilgi='.nl2br(htmlentities($_POST['content'])));

作为

araba<br>
ev<br>

然后当你收到它时使用str_replace( "<br>" , "\n" , $_POST['bilgi']);从html代码中提取文本,并将其写入你的文件veriler.txt