前言
有几个页面需要显示来自 json 的数据,每个页面都有自己的 json。
目前有两个页面,但可能还有更多,因此我决定将 json 的接收和解码移动到一个单独的文件中,并将其连接为include.
因为 我是php中的oak-oak,然后我认为每次创建include一个特定的链接,为每个页面都没有利润,所以我决定只创建一个,但inclide在链接中指定一个参数等于所需 json 的名称。
结果如下
在其中一页上:
inclide('../res/json/get_json.php?json=work');
在get_json.php
<?php header('Access-Control-Allow-Origin: *');
// По моей логике, происходит следующее.
$t = parse_url($_SERVER['REQUEST_URI']);
// ↑↑↑ парсим урл текущего запроса, да?
parse_str($t['query'], $jq);
// ↑↑↑ получаем параметры отпарсенного урл
$jf = @file_get_contents('../res/json/'.$jq['json'].'.json');
// ↑↑↑ получаем файл, из запроса урл на файл будет /res/json/work.json, так ведь?
$json = json_decode($jf, true);
// ну и декодируем полученный json
?>
接下来,我想立即одной из страниц使用json输出的数据,例如$json['param'],因为$json = json_decode()..
但是由于我的php很弱,我得到了以下错误:
警告:包括(/res/json/get_json.php?json=work):打开流失败:在线页面之一中没有错误(带有inclide`的行)
警告:include(): 未能打开 '/res/json/get_json.php?json=work' 以包含 (include_path='.;c:/openserver/ospanel/modules/php/PHP-5.6;c:/openserver/ ospanel/modules/php/PHP-5.6/PEAR/pear')在其中一个页面上线(带include的行)
我想从你那里知道的:
1. 为什么这段代码不起作用,不能在哪里?
2、能不能“修”,值得吗?突然出现了另一种“已检查”。
在这种情况下,最好在 get_json.php 中描述一个函数,例如
在需要获取 json 的文件中