在PHP中向另一个PHP文件发出GET请求

时间:2018-04-04 19:51:58

标签: php get

我创建了一个名为" brain.php"的php文件。获取"消息"的get参数 - 例如" brain.php?msg = hello"。它将使用可由应用程序处理的JSON数组进行响应。

我已经构建了一个可以发出这些请求的JQuery应用程序,现在我尝试用PHP来完成它,但我不知道如何做。

以下代码不起作用,因为它认为参数是文件名的一部分

...->second.inorderCollectionTraversal([&](Weather &w){ collector.push_back(w); });

以下代码类型有效但只是响应整个代码而不是响应

$response = file_get_contents("../brain.php?msg=hello");
echo $response;

使用?msg变量发出请求的最佳方法是什么,并将JSON响应存储在变量中以进行处理?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用file_get_contents

从网址获取内容
$response  = file_get_contents('https://httpbin.org/ip?test=test');
$jsonData = json_decode($response, true));

但是,您需要检查php.ini中是否启用了allow_url_fopen。或者,您也可以使用curl

执行相同操作
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://httpbin.org/ip?test=test');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$jsonData = json_decode(curl_exec($curl), true);

curl_close($curl);

答案 1 :(得分:0)

首先,我必须说:你可能做错了。

这应该更好:

  1. 在您的文件中,设置变量 msg (例如:$msg = "Hello"
  2. 使用include_once('../brain.php')
  3. 导入文件
  4. 在brain.php中,在变量中设置JSON响应(或其他类型)(例如:$foo = json_encode(...))并进行必要的调整以读取$ msg变量(例如:$_GET['msg'] to $msg
  5. 包含brain.php后,请根据需要使用“新”变量。