我有2个域名,我想将域名1中的php文件移动到域2
该文件的目的是获取用户输入,从数据库获取数据等。
我想这样做的原因是我不希望任何人都可以在域1中查看该文件。
有可能这样做吗?
答案 0 :(得分:0)
您需要使用cURL将数据从第二台服务器传递到第一台服务器中的PHP文件,并在那里处理数据,然后读取发回的数据。
这是一个例子:
假设: example.org 是您的第一台服务器的域。
$ch = curl_init("https://example.org/check.php");
$data = array(
'username' => 'JohnDoe',
'password' => '2hAreZ08npmv'
);
$data_json = json_encode($data); //Convert the array into a JSON string format
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_json))
);
$result = curl_exec($ch); //Returned value (echo) from the PHP file in your 1st server
您的第一台服务器将通过JSON格式的POST方法接收用户名和密码。像这样:
{"username":"JohnDoe","password":"2hAreZ08npmv"}
您可以解码并将其转换为数组,并在第一台服务器的函数中使用它:
$data_received = "{"username":"JohnDoe","password":"2hAreZ08npmv"}";
$data_array = json_decode($data_received, true);
echo
第一台服务器中的结果,您将在我在上面的代码中使用的$result
变量中收到它。 $result
的值可以是'true'
或'false'
或您echo
的任何其他字符串。
这是使用PHP中的cURL在两台服务器之间进行通信的简单方法。