1

次のコードを使用すると、テキストファイルでデータを取得しました

{"title":"sankas","description":"sakars","code":"sanrs"}    
{"title":"test","description":"test","code":"test"}

しかし、私のコードはに取り組んでいます

{"title":"sankas","description":"sakars","code":"sanrs"}

そのため、行を追加できませんでした。正しい結果を得るために変更したい場所です。

        $info = array();
    $folder_name = $this->input->post('folder_name');
    $info['title'] = $this->input->post('title');
    $info['description'] = $this->input->post('description');
    $info['code'] = $this->input->post('code');
    $json = json_encode($info);
    $file = "./videos/overlay.txt";
    $fd = fopen($file, "a"); // a for append, append text to file

    fwrite($fd, $json);
    fclose($fd); 
4

1 に答える 1

3

ここでphpのfile_put_content()詳細情報を使用してくださいhttp://php.net/manual/en/function.file-put-contents.php

更新: データが正しく渡されていることを前提としています。これがあなたにできることです。

$info = array();
$folder_name = $this->input->post('folder_name');
$info['title'] = $this->input->post('title');
$info['description'] = $this->input->post('description');
$info['code'] = $this->input->post('code');
$json = json_encode($info);
$file = "./videos/overlay.txt";
//using the FILE_APPEND flag to append the content.
file_put_contents ($file, $json, FILE_APPEND);

アップデート2:

テキストファイルから値にアクセスしたい場合。ここでoverlay.txtはあなたができることです

$content = file_get_contents($file);

タイトル、コード、説明を個別に取得する場合。文字列がjsonにある場合は、最初にを使用して文字列を配列に変換する必要があります。

//this will convert the json data back to array
$data = json_decode($json);

個々の値にアクセスするには、1つの行がある場合にこのように行うことができます

echo $data['title'];
echo $data['code'];
echo $data['description'];

複数の行がある場合は、phpforeachループを使用できます

foreach($data as $key => $value)
{
    $key contains the key for example code, title and description
    $value contains the value for the correspnding key
}

これがお役に立てば幸いです。

アップデート3:

このようにしてください

$jsonObjects = file_get_contents('./videos/overlay.txt');
$jsonData = json_decode($jsonObjects);
foreach ($jsonData as $key => $value) {
    echo $key . $value;
    //$key contains the key (code, title, descriotion) and $value contains its corresponding value
}
于 2012-04-25T05:57:11.287 に答える