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);

并访问单个值,如果您有一行,您可以这样做

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

如果你有多行,那么你可以使用 php foreach 循环

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 回答