没有Web表单的PHP POST数据

时间:2013-10-18 16:37:17

标签: php forms post web

有没有办法在不使用网络表单的情况下发送POST数据?我正在使用第三方支付处理器,我可以选择手动提交付款,但数据必须采用POST格式化。

我计划将我的脚本作为CRON作业运行,因此它是自动化的,通过Web表单提交没有用户输入。

提前感谢。

2 个答案:

答案 0 :(得分:20)

尝试CURL

http://php.net/manual/en/book.curl.php

//set POST variables
$url = 'http://domain.com/get-post.php';
$fields = array(
                        'lname' => urlencode($last_name),
                        'fname' => urlencode($first_name),
                        'title' => urlencode($title),
                        'company' => urlencode($institution),
                        'age' => urlencode($age),
                        'email' => urlencode($email),
                        'phone' => urlencode($phone)
                );

//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);

答案 1 :(得分:1)

您可以使用cURL扩展程序,甚至file_get_contents()使用自定义上下文。