php读写json文件
简介:这是php读写json文件的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。
class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=333686' scrolling='no'>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
1 2 3 4 5 |
/* 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/* 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
1 2 3 4 5 6 7 8 9 |
/* 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
1 2 3 4 5 6 7 |
<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 .
浙公网安备 33010602011771号