将结果写入服务器文件

时间:2016-08-16 18:32:50

标签: javascript php json xml csv

我一直试图找到一个简单的解决方案来写一个json查询结果的结果。

我有一个文件可以从json查询和document.write获取统计信息。

我需要在服务器上的csv或xml文件中打印这些结果。

我意识到由于安全风险我无法使用javascript。但我明白我可以使用PHP。或者甚至可能有一个更简单的解决方案。

由于我对此非常陌生,我想知道是否有人可以帮我解决这个问题。

我的代码如下:

<html lang="en">
<meta charset="utf-8">
<head>
    <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.0.min.js"></script>


</head>


<script>
        var query = {
  "query": [
    {
      "code": "Sveitarfélag",
      "selection": {
        "filter": "item",
        "values": [
          "Alls"
        ]
      }
    },
    {
      "code": "Aldur",
      "selection": {
        "filter": "item",
        "values": [
          "Alls"
        ]
      }
    },
    {
      "code": "Ár",
      "selection": {
        "filter": "item",
        "values": [
          "18"
        ]
      }
    },
    {
      "code": "Kyn",
      "selection": {
        "filter": "item",
        "values": [
          "Alls"
        ]
      }
    }
  ],
  "response": {
    "format": "csv"
  }
};
        query = JSON.stringify(query);
        $.ajax({
              type: "POST",
          url: "http://px.hagstofa.is/pxis/api/v1/is/Ibuar/mannfjoldi/2_byggdir/sveitarfelog/MAN02001.px",
          data:query,
          success: function(json) {
                document.write(json);
        }
    });
</script>
</html>

** 编辑 ** 只是为了澄清:

我有一个只能读取xml或csv的应用程序。所以我需要打印上述文件的结果并保存到文件中:&#34; / server / user / htdocs /xml-or-csv/File.csv"

或xml

1 个答案:

答案 0 :(得分:0)

您需要将php代码放在处理“http://px.hagstofa.is/pxis/api/v1/is/Ibuar/mannfjoldi/2_byggdir/sveitarfelog/MAN02001.px

的端点中

如果您将此代码保存为index.php并将ajax的post url更改为index.php,您将有一个关于如何通过ajax post远程保存文件的工作演示

<?php 
    if(isset($_POST['data'])){
        $data = $_POST['data'];
        echo $data;
        //instead of xyz.csv, you need to give the complete path of the file to where you want to store
        file_put_contents("xyz.csv", $data);
    }
    ?>
    <html>
    <head>
        <script type="text/javascript" src = "jquery.js"></script>

        <script>
            var query = {
                "query": [
                {
                    "code": "Sveitarfélag",
                    "selection": {
                        "filter": "item",
                        "values": [
                        "Alls"
                        ]
                    }
                },
                {
                    "code": "Aldur",
                    "selection": {
                        "filter": "item",
                        "values": [
                        "Alls"
                        ]
                    }
                },
                {
                    "code": "Ár",
                    "selection": {
                        "filter": "item",
                        "values": [
                        "18"
                        ]
                    }
                },
                {
                    "code": "Kyn",
                    "selection": {
                        "filter": "item",
                        "values": [
                        "Alls"
                        ]
                    }
                }
                ],
                "response": {
                    "format": "csv"
                }
            }

            $(document).ready(function(){
                $('#btn').click(function(){
                console.log({'data':JSON.stringify(query)});

                $.ajax({
                    type: "POST",
                    url: "http://px.hagstofa.is/pxis/api/v1/is/Ibuar/mannfjoldi/2_byggdir/sveitarfelog/MAN02001.px",
                    data:{'data':JSON.stringify(query)},
                    success: function(json) {

                    }
                });


            })  


            })



        </script>
    </head>
    <body>
        <button id="btn">Click</button>

    </body>
    </html>