IKHATAMI
سه شنبه 13 آبان 1399, 12:52 عصر
سلام
من از 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 ظاهرش شبیه کلاس هست
من از 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 ظاهرش شبیه کلاس هست