我在磁盘上有一个 .json 文件。我想将它加载到我的 php 代码中,以便我可以用它发出 HTTP POST 请求。
我对 XML 做了同样的事情:
$file = 'http://localhost/myServer/test.xml';
$xml_builder = simplexml_load_file($file))
然后我使用该$xml_builder
变量通过 CURL 发送 XML。
我怎样才能对 JSON 做同样的事情?
我认为您需要执行以下操作:
$variable = file_get_contents('http://example.com/data.json');
$decoded = json_decode($variable);
您需要对其进行解码,因为您将其作为字符串获取$variable
,然后根据需要使用它
试试这个
$file = '/path/to/json.json';
$json = file_get_contents($file);
$data = json_decode($json, true);
它将产生一个数据数组,然后您可以随意使用这些数据
尝试:
$url = 'URL GOES HERE';
$file = file_get_contents('http://localhost/myServer/test.xml');
// Get cURL resource
$curl = curl_init();
// Set some options - we are passing in a useragent too here
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => array(
'xml' => $file
)
));
// Send the request & save response to $resp
$resp = curl_exec($curl);
// Close request to clear up some resources
curl_close($curl);
//Print response
print_r('<pre>');
print_r($resp);
die();
$myJSON = file_get_contents('location/of/your/json');
// $myJSON now contains the JSON string. you can already send this with curl.
$myJSONDecoded = json_decode($myJSON);
// now $myJSONDecoded holds an array with the data. which you can use any way you like.