0

そこで、Arduino Pulseセンサーからパルスデータを受け取り、それを.txtファイルに保存するphpファイルを作成しました。コードは次のとおりです。

<?php

$pulse = $_GET["pulse"] ;   

$file = fopen("data.txt", "a+");

$pulse.="\r\n";
fwrite($file, $pulse);//takes incoming data and writes it in the file
fclose($file);?>

だから私が data.txt に保存しているのは、脈拍センサーからの数字の集まりです。別のphpファイルからそのdata.txtにjsonオブジェクトとしてアクセスしたいので、これを思いつきましたが、うまくいかないようです:

<?php
header('Content-type: application/json');

if(isset($_GET["request"])){

    if($_GET["request"] == "info"){

        $pulse = $_GET["pulse"];

        $file = fopen("data.txt", "a+");


        $pulse.="\r\n";
        fwrite($file, $pulse);
        fclose($file);


        echo json_encode($file);



    }
}

?>

どんな提案でも大歓迎です。私はそれが可能だと感じています。

一番、

M

4

3 に答える 3

1

これは私が最も簡単に思いつくことができるものです..

<?php

        header('Content-type: application/json');

         // make your required checks

        $fp    = 'yourfile.txt';

        // get the contents of file in array
        $conents_arr   = file($fp,FILE_IGNORE_NEW_LINES);

        foreach($conents_arr as $key=>$value)
        {
            $conents_arr[$key]  = rtrim($value, "\r");
        }

        var_dump($conents_arr);
        $json_contents = json_encode($conents_arr);

        echo $json_contents;
?>

これにより、最初にファイルの内容が配列に変換され、次に json が作成されます。期待される出力は ["data1","data2","data3"] のようなものになります。

それがあなたを助けることを願っています

于 2013-03-20T04:15:04.777 に答える
1

これはあなたが望むものを与えるでしょう...

<?php
  header('Content-type: application/json');
  echo json_encode( explode("\r\n",file_get_contents('data.txt')) );
?>
于 2013-03-20T04:40:02.903 に答える
0

データファイルの実際のコンテンツを送信したい場合は、ファイルのデータを読み取り、このデータを配列に保存してから、次を使用して配列をエコーするだけですjson_encode

<?php

// Send header for json content
header('Content-type: application/json');

// ユーザーが情報を求めているかどうかを確認します if(!empty($_GET["request"]) && $_GET["request"] == "info") {

    // Retrieve the content of the file and split on "\r\n"
    // ($data is an array of lines)
    $data = preg_split("/\r\n/", file_get_contents("data.txt"));

    // JSON encode the data array
    echo json_encode($file);

}

たとえば、パルス データが単純な整数であると仮定すると、次のような JSON を送信します。

["12","24","20",....]
于 2013-03-20T04:00:23.793 に答える