PHP中如何對輸出的資源檔案使用 Last-Modified 或 ETag

說明:
網頁頁面本身和頁面中的圖片、外部 CSS 檔案、外部 JavaScript 檔案等資源檔案最好在輸出給 client 端 (一般是指瀏覽器) 時明確地在 HTTP 回應的標頭中寫明 Last-Modified 或 ETag 這類快取驗證資訊,讓 client 端可以明確地知道手邊的快取檔案是否已經過期、是否已經改變而需要重新抓取。不需要抓取者則直接使用快取資料以加速網頁的呈現速度。 Last-Modified 和 ETag 是從 HTTP 1.0 到 HTTP 1.1 後才有的新 HTTP 標頭欄位。
這一篇文章是要說明在 PHP 語言中如何對輸出的資源檔案使用 Last-Modified 或 ETag。 Continue reading “PHP中如何對輸出的資源檔案使用 Last-Modified 或 ETag”

[Apache][MySQL] error_log: [crit] (70023)This function has not been implemented on this platform: DBD: driver for [DBDriver unset] not available

在 apache web server 的 …/apache/logs/error_log 檔案如果很大,並且一直重複看到以下錯誤訊息:

[crit] (70023)This function has not been implemented on this platform: DBD: driver for [DBDriver unset] not available
Continue reading “[Apache][MySQL] error_log: [crit] (70023)This function has not been implemented on this platform: DBD: driver for [DBDriver unset] not available”

[MySQL] 解決MySQL server has gone away問題

下 SQL 語法對 MySQL server 做存取時 (縱使只是使用 use database1; 這樣的指令, 不一定要用到 SELECT 指令) 可能會遇到以下這個錯誤訊提示:

MySQL server has gone away

可以從以下幾個方向去看看是哪一類問題: Continue reading “[MySQL] 解決MySQL server has gone away問題”

[PHP]如何用程式刊登文章到 Google Blogger/blogspot 部落格

How To Post To Blogger with PHP?

以下將說明如何用 PHP 程式去刊登文章到 Google 的 blogspot 部落格. 在程式中我們會用到 Zend Framework 函式庫 (library) 的功能, 然後透過 Google blogger 之 feeds 介面來刊登文章到 Google blogspot 部落格; 文章中我們也嘗試將為 class SimpleCRUD 範例程式新增一個函式以更方便文章刊登. Continue reading “[PHP]如何用程式刊登文章到 Google Blogger/blogspot 部落格”

[PHP] 解決中文郵件寄件者, 收件者名稱, 信件標題亂碼問題

[PHP] 解決(非 ASCII 編碼)中文郵件寄件者或中文郵件收件者名稱, 或中文信件標題亂碼問題

在 PHP 程式中想要傳送一封含有非 ASCII 編碼(例如: UTF-8編碼)之信件寄件者或信件收件者名稱, 或郵件標題/主旨(subject) 的 email 時, 要根據 RFC 2047 [1] 對 “信件寄件者” 或 “信件收件者” 名稱, 或 “郵件標題/主旨” 做編碼後才能傳送, 不然會遇到亂碼問題 (寄件者或信件收件者名稱, 或郵件標題/主旨出現亂碼).

RFC 2047 中提到的編碼方式有以下兩種:
Continue reading “[PHP] 解決中文郵件寄件者, 收件者名稱, 信件標題亂碼問題”

[PHP] 用密件副本(BCC)傳送 email 的方法

How to send a B.C.C. E-mail in PHP?

在 PHP 程式中我們會用 mail() 函式來發送 email, 其 prototype 為:

bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )

其中必要的欄位有:

  1. to: 要送給誰
  2. subject: 信件的標題/主旨
  3. message: 信件內容

一般的使用程式範例: Continue reading “[PHP] 用密件副本(BCC)傳送 email 的方法”

[WEB][PHP] 關於網站線上人數統計的實做

[WEB][PHP] 關於網站線上人數統計的實做

如果網頁是使用 PHP 來寫的話,可以很容易做到基本的網站人數統計功能。

1. 去改寫 session 的處理方式,例如以下是將原本存到 file 的 session 資料變成存到 MySql 之類的 (memory) database. (註一):

去用 session_set_save_handler() 函式改寫 session 在

  • open(),
  • close(),
  • read(),
  • write(),
  • destroy(),
  • Gc()

時的處理方式。

其中: Continue reading “[WEB][PHP] 關於網站線上人數統計的實做”