Latest News

Home » PHP程式設計教學 » 最短的PHP微網誌程式代碼

最短的PHP微網誌程式代碼

您知道最短的PHP微網誌程式代碼如何編寫嗎?

最短的PHP微網誌程式。
基本需求是:
1.無亂碼(最好UTF-8)。
2.有輸入框可以發佈新訊息。
3.送出後馬上可以看到新發的內容。
4.必須使用POST模式送出。
5.訊息後面要有時間標示。
6.不能發佈任何HTML標籤。

<?php
header("content-type:text/html; charset=utf-8");
$a=@file_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"
*/
$a=@file_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
?>

About

發佈留言