首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

php读写json资料

2012-12-28 
php读写json文件PHP Simple Comments Read/Write jSon data to text fileA few days ago i had to build a

php读写json文件

PHP Simple Comments Read/Write jSon data to text file

A few days ago i had to build a simple comment form. First i thought about MYSQL etc, but this all seems to be too complicated. So i came up with a simple solution based on jSon and a TXT file.

So that’s how it cooks:

1. Load the text file with the comments and convert it to an array with json_decode

12345
/* get comments from file */$commentsText = file_get_contents('comments.txt');?/* create array list from comments */$commentsList = json_decode($commentsText,true);

2. Check if a new comment was posted and save to file when valid.

12345678910111213141516171819
/* check if new comment is posted and minimum 3 characters are set */if( !empty($_POST['comment']) && strlen($sComment) > 3 ){?        /* get posted comment and remove all HTML */        $sComment = strip_tags($_POST['comment']);?        /* add comment, client IP and date to array */        $commentsList['comments'][] = array(                'text' => $sComment,                'ip' => $_SERVER['REMOTE_ADDR'],                'date' => time()        );?        /* convert comments to string */        $commentsText = json_encode($commentsList);?        /* save comment to file */        file_put_contents($commentsFile, $commentsText);}

3. Then we can loop the comment list and create HTML for the output

123456789
/* create html list */$commentsHTML = "<ul>";/* loop all comments */foreach( $commentsList['comments'] as $commentItem ){        // add comment to html list        $commentsHTML.= "<li>" . $commentItem['text'] . "</li>";}/* close html comments list */$commentsHTML .= "</ul>";

4. Then we add the HTML form and the list with comments

1234567
<form id="comments" method="POST"><form id="comments" method="POST">    <h1>Comments?</h2>    <div><?=$errorMessage?></div>    <textarea id="comment" name="comment" cols="70"> </textarea><br/>    <input type="submit" value="yes" />    <?=$commentsHTML?></form>

I know simple but i thought to share it, you can download the full example including sorting and some more validation stuff, or check out the example page.

热点排行