I'm sending data using cURL on the following code block:

$content = $data['email'].'|'.$data['limit'].'|'.$data['docs'];

$curl = curl_init(ACCESS_URL);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);

$answer = curl_exec($curl);
curl_close($curl);

The webservice side do run and creates the file, but $_POST is empty. I just can't figure out why.

public function action_getAccess() {
    file_put_contents('/home/donut/uploads/data.txt', $_POST);
}
有帮助吗?

解决方案

From curl:

curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: text/plain"));

And catch this as:

file_put_contents('/home/donut/uploads/data.txt', file_get_contents("php://input"));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top