最短的PHP微博程序。基本需求是:1.无乱码(最好UTF-8)。 2.有输入框可以发布新信息。3.提交后马上可以看到新发的内容。4.必须使用POST方式提交。5.信息后面要有时间标记。6.不能发布任何HTML标签。
<?php
header("content-type:text/html; charset=utf-8");
[email protected]_get_contents(l);
($p=$_POST[s])&&file_put_contents(l,$a='<hr>'.htmlspecialchars($p).date(' Y-m-d H:i').$a);
echo '<form method=post><input name=s></form>'.$a;
?>
运行效果如图:
注释一下:
<?php
header("content-type:text/html; charset=utf-8"); //发送utf-8声明
/*
* 从名叫l的文件里面读取数据。
* php里面的常量如果没有先声明,那么默认值是等于常量本身的那个字符串。
* 也就是说没有声明过的l=="l" , ABCD == "ABCD"
*/
[email protected]_get_contents(l);
/*
* a && b; 貌似是php特有的语法结构。 大概意思是 先执行a,
* 然后判断a是否为true,如果是,那么继续执行b
*
* ($p=$_POST[s]) 是先把$_POST[s]的值赋给$p,
* 然后括号的值为$p转换为布尔型。也就是说,只要$p不是空字符串,
* 或者false,或者0,或者null。就会继续执行后面的语句
*
* 后面操作是把刚刚读出来的$a的前面加上新的数据,然后写入l文件
*/
($p=$_POST[s])&&file_put_contents(l,$a='<hr>'.htmlspecialchars($p).date(' Y-m-d H:i').$a);
/*
* 显示html语句,用于构造一个可以post提交的输入框,没有提交按钮,直接按回车提交。
* 由于页面是用utf-8编码,所以提交的数据也是utf-8编码
*/
echo '<form method=post><input name=s></form>'.$a;//#注释2
?>