`

php读写json文件

    博客分类:
  • php
阅读更多

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 .

分享到:
评论

相关推荐

    PHP开发的json接口 PHP读写json文件

    PHP开发的json接口文件,PHP读写josn,数据交换实例。

    php 读写json文件及修改json的方法

    JSON,即JavaScript Object Notation,是一种轻...以上内容即是PHP读写及修改JSON文件的方法,这对于需要在PHP应用中处理JSON数据的开发者来说是非常有用的。希望这些信息能够为大家带来帮助,也感谢大家的支持和关注。

    Android中通过json向MySql中读写数据的方法

    "Android 中通过 JSON 向 MySQL 中读写数据的方法" Android 中通过 JSON 向 MySQL 中读写数据的方法是指在 Android 应用程序中使用 JSON(JavaScript Object Notation)格式将数据上传到 MySQL 数据库中,并从 ...

    as3json资源

    4. **存储本地数据**:当需要在用户设备上持久化数据但又不希望使用数据库时,JSON文件是一个不错的选择。 在AS3中处理JSON,还需要注意以下几点: - AS3的`JSON`对象在`flash.utils`包下,确保导入此包才能使用...

    基于PHP的Excel 读写 Excel (OpenXML) 文件的 库.zip

    5. **Composer.json**:如果库遵循现代PHP的依赖管理标准,可能会有一个Composer配置文件,用于通过Composer安装和管理依赖。 使用这样的库,PHP开发者可以实现以下功能: - **读取Excel文件**:库能读取Excel文件...

    json和xml比较

    4. 在 PHP 世界,已经有 PHP-JSON 和 JSON-PHP 出现了,便于 PHP 序列化后的程序直接调用 5. 因为 JSON 格式能够直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,但是完成的任务不变,且易于维护 ...

    ajax聊天室 PHP ajax聊天室文件版 下载直接可用

    - **响应生成**:PHP生成响应数据,可以是JSON格式,便于JavaScript解析。 3. **聊天室架构**: - **界面设计**:前端页面通常包含输入框让用户输入消息,以及一个显示聊天记录的区域。页面使用Ajax进行动态更新...

    PHP文件处理的高级应用/PHP文件处理的高级应用

    综上所述,PHP的文件处理涉及众多方面,包括基本的读写、文件上传、权限控制、流处理、结构化数据操作、文件压缩以及安全措施。通过熟练掌握这些高级应用,开发者可以构建更强大、更健壮的Web应用。

    Laravel开发-laravel-model-json

    对于大量读写操作,JSON列可能不如传统的表结构和关系来得高效。 通过`laravel-model-json`,开发者可以轻松地在Laravel应用中利用JSON列的优势,无需担心底层的序列化和反序列化工作。这极大地提高了代码的可读性...

    PHP记录和读取JSON格式日志文件

    在本篇文章中,我们详细探讨了如何使用PHP来记录和读取JSON格式的日志文件。这对于在后端开发过程中,特别是对于那些无法直接在前端看到运行结果的场景,显得尤为重要。文章内容涉及到将日志信息写入文件的过程,...

    android json解析(包含服务器端,客户端)

    在Android应用开发中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,它简洁、易于读写,并且被广泛应用于服务器与客户端之间的数据传输。本教程将深入讲解Android客户端和服务器端如何进行JSON解析...

    php5.5 mongodb 驱动 dll文件 32+64位 php_mongo.dll

    PHP MongoDB驱动则为开发者提供了一种在PHP环境中与MongoDB交互的接口,使得开发人员能够轻松地进行数据读写、查询、更新和删除等操作。 描述中的“phpmongodb mongodbphp驱动 mongodbphp.dll”进一步强调了这是...

    JSON的使用

    - 文件体积庞大,格式复杂,传输时占用较多带宽。 - 在服务器端和客户端解析XML需要大量的代码,这使得代码变得复杂且不易维护。 - 不同浏览器解析XML的方式存在差异,可能导致一致性问题。 - 解析XML会消耗较多...

    json需要的jar包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以其简洁明了、易于读写的特点被广泛应用于网络数据传输。在Java中处理JSON时,通常需要引入特定的库来解析和生成JSON对象,这样的库例如有...

    php生成缓存文件php生成缓存文件

    - 优化缓存文件格式,如JSON、XML或序列化数据,以提高读取效率。 通过以上内容,我们对PHP生成缓存文件有了全面的理解,它在提高Web应用性能方面发挥着重要作用。正确实施缓存策略,可以为网站带来更好的用户体验...

    Laravel开发-jsonid

    这里的 `settings` 字段会被自动转换为 PHP 的数组或者 StdClass 对象,方便读写。 ### JSON 路径操作 Laravel 提供了 `-&gt;` 操作符来访问和修改 JSON 字段中的嵌套值。例如,如果我们有一个包含用户设置的 JSON ...

    thinkphp5使用composer引入PhpSpreadsheet导出带公式的excel表格demo

    在本场景中,Composer被用来引入PhpSpreadsheet库,这是一个用于读写各种不同Excel文件格式的PHP库,支持xlsx、xls、ods等格式,而且特别的是,它支持在Excel中创建和处理带有公式的单元格。 PhpSpreadsheet库提供...

    不用数据库就可以用留言(php做的)

    【描述】:“这个是用php做的不用数据库即可做留言系统”表明设计者可能使用了非关系型的数据存储方法,如文本文件、JSON文件或者XML文件,来替代数据库存储留言数据。这种做法可能出于简化系统、减少服务器资源消耗...

Global site tag (gtag.js) - Google Analytics