无法使用CURL从其他PHP文件执行一个PHP文件

时间:2019-06-06 04:56:55

标签: php curl

我需要执行一个PHP文件中存在的一些代码,并且该文件将使用CURL从其他PHP文件中调用,但是根据我的代码,它不会像这样发生。

我在下面解释我的代码。

  

test.php:

<?php
include('db.php');
$adminUrl1='http://example.com/api/product/test1.php';
$data1 = array("user_id" => 54, "org_ord_id" => 82);
$data_string1 = json_encode($data1);                       
$ch1 = curl_init($adminUrl1); 
curl_setopt($ch1, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch1, CURLOPT_POSTFIELDS, $data_string1);                                                                  
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch1, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($data_string1))                                                                       
);
$res = curl_exec($ch1);
$array = json_decode($res, 1);
echo($array);exit;
?>

我在这里尝试执行test1.php目录中存在的api/product/文件。

  

test1.php:

include('db.php');
$user_id=$_POST['user_id'];
$order_id=$_POST['org_ord_id'];
echo $user_id.'::::'.$order_id;

在这里,我需要打印从test.php传递来的post param值,但是按照我当前的代码,它不打印任何内容。

1 个答案:

答案 0 :(得分:0)

删除此'Content-Type: application/json',因为您需要为application/x-www-form-urlencoded获取类似$_POST[...]的值。

然后将application/json放在CURLOPT_HEADERFUNCTION上进行响应。

CURL_OPT DOC