在PHP中只使用Wordpress中的库阅读JSON

ve7v8dk2  于 2022-11-09  发布在  PHP
关注(0)|答案(4)|浏览(125)

我想读取服务器上的JSON数据,而服务器上安装的PHP只够运行WordPress。我可以创建新的.php文件,但我没有管理员权限来添加任何不存在的库。
在这种情况下,从http请求中获取和解析JSON数据的最简单方法是什么?

kdfy810k

kdfy810k1#

谢谢你的指点,但是我想要的答案要简单得多,必要的两行代码是:

$json_data = file_get_contents("php://input");
$json_data = json_decode($json_data, true);

第一行:获取命中页面的json数据。第二行:把它解析成适当的哈希值。

lx0bsm1f

lx0bsm1f2#

如果你是在WordPress的环境中做这个,你应该使用内置的HTTP帮助函数(http://codex.wordpress.org/HTTP_API)。它们比curl简单。例如:

$response = wp_remote_get( $url );
if( is_wp_error( $response ) ) {
   $error_message = $response->get_error_message();
   echo "Something went wrong: $error_message";
} else {
   echo 'Response:<pre>';
   print_r( $response );
   echo '</pre>';
}

上面的代码将返回如下内容:

Array
(
    [headers] => Array
        (
            [date] => Thu, 30 Sep 2010 15:16:36 GMT
            [server] => Apache
            [x-powered-by] => PHP/5.3.3
            [x-server] => 10.90.6.243
            [expires] => Thu, 30 Sep 2010 03:16:36 GMT
            [cache-control] => Array
                (
                    [0] => no-store, no-cache, must-revalidate
                    [1] => post-check=0, pre-check=0
                )

            [vary] => Accept-Encoding
            [content-length] => 1641
            [connection] => close
            [content-type] => application/php
        )
    [body] => {"a":1,"b":2,"c":3,"d":4,"e":5}
    [response] => Array
        (
            [code] => 200
            [message] => OK
        )

    [cookies] => Array
        (
        )

)

然后可以使用json_decode()将json转换为数组:http://www.php.net/manual/en/function.json-decode.php

zkure5ic

zkure5ic3#

使用cURL和json_decode,你可以这样做,如果你运行的是Wordpress,这些可能是可用的。

$session = curl_init('http://domain.com/'); // HTTP URL to the json resource you're requesting
curl_setopt($session, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
$json = json_decode(curl_exec($session));
curl_close($session);
echo $json;
b1payxdu

b1payxdu4#

默认WordPress功能可用你能试试这个吗
参考此https://developer.wordpress.org/reference/functions/wp_json_file_decode/

$data = wp_json_file_decode($_SERVER["DOCUMENT_ROOT"].'/foldername/filename.json'); 
var_dump($data);

相关问题