سلام
من از curl در برنامه استفاده کرده ام در مواردی که url همان localhost هست جواب درسته اما وقتی فایل 2.php در هاست بارگزاری میشه و آدرس url را آدرس سایت قرار می دهم جواب مشکل دار میشه یعنی برگشتی نال میشه.
************* فایل 1.php ************
<?php
$data = array('Token'=>'mytoken','Name' => 'Ali');
$url = 'localhost/2.php';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL,$url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS,http_build_query($data));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($curl);
curl_close($curl);
echo $result;
echo "<br>";
$result1 = json_decode($result);
echo ($result1->Token);
?>
************* فایل 2.php ************
<?php
class data{
public $Token;
public $Name;
};
$dataObj = new data();
$dataObj->Token = $_POST['Token'] ;
$dataObj->Name = $_POST['Name'] ;
$str_data = json_encode($dataObj);
echo $str_data;
?>
**************** بعد از اجرا
{"Token":"mytoken","Name":"Ali"}
mytoken
ولی اگر فایل 2.php در سایت دیگری باشه و ما آدرس سایت را در url فایل اولی مثلا https://xxx/yy/2.php بگذاریم خروجی میشه :
{"Token":"mytoken","Name":"Ali"}
یعنی نمی تونیم به اجزای کلاس دسترسی داشته باشیم البته خروجی result ظاهرش شبیه کلاس هست