使用特定参数请求URL在php中存储和准备数据

时间:2017-06-13 09:07:19

标签: php json request

我从 Highstock 看到了here此url json响应数据文件:

https://www.highcharts.com/samples/data/jsonp.php?filename=msft-c.json

因此,每次filename参数值不同时,通过GET请求获取的数据(以json格式编码)会发生变化,例如在我们的情况下,我们可以使用这些其他2个参数调用不同的数据:{{ 1}}和aapl-c.json

如何在php中执行相同的数据准备,以存储具有不同文件名值请求的多个数据资源?我们可以使用不同的参数值调用特定部分的数据吗?对这个过程背后的逻辑的一个非常简单的解释就足够了。

1 个答案:

答案 0 :(得分:0)

我在这里跳过一些验证,但过程非常简单,这是一个非常基本的GET var分析。当URL末尾有?varname=value时,PHP获取$ _GET数组中的变量。但是,使用它是非常不安全的,你应该先过滤它。

此处的另一个建议是,出于安全原因,不要尝试从此var值或这些类型的东西动态加载文件。最好只允许所需的值(这里使用的开关具有非常奇怪的语法,但如果/ else恰好相同)。

然后使用php,您必须使用显示创建文档,例如echo。在这种情况下,它是JSON,所以你只需要输出你的JSON。

会是这样的:

<?php
//sanitize the value from $_GET array
$getVar = filter_input(INPUT_GET, 'filename', FILTER_SANITIZE_STRING);

//do various things depending on value
switch($getVar){
    case 'aapl-c.json':
        $display = '{ "content": "i am JSON 1" }';
        break;
    case 'goog-c.json':
        $display = '{ "content": "i am JSON 2" }';
        break;
    default:
        $display = '';
}

//send the json data to the document
echo $display;

//terminate script for security
exit;