如何在不使用 file_get_contents 的情况下读取 PHP 中的 JSON 文件?
How to read JSON file in PHP without using file_get_contents?
我创建了一个简单的 php 文件,它读取本地 json 文件并使用数据响应发送到页面的一些查询。
我正在使用 file_get_contents()
读取文件。但随着请求数量的增长,由于文件的并发连接,我遇到了一些性能问题。
是否可以使用require()
或include()
来读取和解析json文件?
我找到了一些合适的解决方案,我现在使用 curl
来获取文件内容,如下所示:
$curlSession = curl_init();
curl_setopt($curlSession, CURLOPT_URL, 'http://mysite/file.json');
curl_setopt($curlSession, CURLOPT_BINARYTRANSFER, true);
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, true);
$jsonDataString = curl_exec($curlSession);
curl_close($curlSession);
是的,您可以使用 require()
ob_start();
ob_implicit_flush(false);
require('test.json');
$json = json_decode(ob_get_clean() , true );
但我认为它并不比 file_get_contents()
快
提高性能的最佳方法是直接将 json-文件加载到浏览器(例如通过 jquery)而不进行 php-解析。
我创建了一个简单的 php 文件,它读取本地 json 文件并使用数据响应发送到页面的一些查询。
我正在使用 file_get_contents()
读取文件。但随着请求数量的增长,由于文件的并发连接,我遇到了一些性能问题。
是否可以使用require()
或include()
来读取和解析json文件?
我找到了一些合适的解决方案,我现在使用 curl
来获取文件内容,如下所示:
$curlSession = curl_init();
curl_setopt($curlSession, CURLOPT_URL, 'http://mysite/file.json');
curl_setopt($curlSession, CURLOPT_BINARYTRANSFER, true);
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, true);
$jsonDataString = curl_exec($curlSession);
curl_close($curlSession);
是的,您可以使用 require()
ob_start();
ob_implicit_flush(false);
require('test.json');
$json = json_decode(ob_get_clean() , true );
但我认为它并不比 file_get_contents()
提高性能的最佳方法是直接将 json-文件加载到浏览器(例如通过 jquery)而不进行 php-解析。