Category: PHP

PHP 建立 Excel 檔案

有時需要將資料庫內的資料或 PHP 的動態內容儲存成 excel 檔,本文會介紹一個概簡單又實用的方法。建立 Excel 檔案 如果需要用 PHP 建立 Excel 檔案,只需用一般的檔案處理函式,而檔案名稱儲存成 .xls 副檔名即可,例如:以上程式碼會在 excel 目錄建立一個名為 filename.xls 的檔案,內容是在第一行寫入一星期七天的英文簡寫,每一欄一天。實際上與建立一般文字檔的方法一樣,只是如果要跳到下一個欄位,就用 \t 字元,而要跳到下一行,則用 \n 字元。 顯示下載窗口 如果電腦內有安裝 Excel 的話,在預設情況下當在 IE 按了 .xls 副檔名的文件時,IE …

JavaScript 表單系列 — 選取方塊

在網頁表單中,其中一個常用的元素就是選取方塊 (Checkbox),如果配合 JavaScript,可以實現很多實用的功能。檢查 Checkbox 是否被選取 要檢查 Checkbox 是否已被選取,可以使用 document.form_name.checkbox_name.checked 來檢查,如果回傳值是 true,代表已選取;回傳 false 則代表未選取。以下是簡單的例子:在以上例子,當按下 “檢查選取方塊狀態” 後,JavaScript 會檢查 mybox 是否被選取,然後用警告視窗的方式顯示結果。實際應用 以上功能在實際應用上也很有用,例如要求使用者註冊時必須同意條款方可註冊,或者是限制使用者可以選取的項目個數,以下例子會示範使用者必須選取 checkbox 才可按 submit 按鈕:上面的例子在檢查 agree 選取方塊的狀態後,再設定 submit 按鈕的 disabled 屬性。如果當 disabled …

文字模式下執行 PHP

在一般情況下 PHP 是用在網站上,而有些情況需要在文字模式下執行,例如用 PHP 寫 shell script 或需要用 crontab 排程執行等。而在文字模式下執行 PHP 也很方便,假設 PHP 的安裝目錄是 /usr/local/php ,那麼就可以用以下指令執行:/usr/local/php/bin/php -q shell_script.php如果你跟我一樣懶打字,覺得 /usr/local/php/bin/php 很長的話,可以將 /usr/local/php/bin/php 覆製到 /usr/bin/ 目錄下:cp /usr/local/php/bin/php /usr/bin/php php -q shell_script.php # …

PHP 下發送 Email

本文將會講述 PHP 下發送 Email 的功能。一般上要在 PHP 下發送電郵,會使用內建的 mail() 函式,除非有特定需要才會使用 socket 發送電郵的方法。今天會先從 mail() 函式入門。php.ini 設定 要讓 web server 可以發送 email,先要打開 php.ini 修改 sendmail_path 及 SMTP,如果是用 web hosting 的服務則不用理會這點。如果使用的是 Unix Like 環境,一般會在 …

PHP 的 timezone settings

在 PHP 升級到 5.3 後, 在使用日期相關的 functions 時會出現類似以下的錯誤訊息:Warning: strtotime() : It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or …

PHP 的 Cookie 用法

什麼是 Cookie Cookie 能夠讓網頁開發者將指定的資料儲存到使用者的硬碟,在有需要時在客戶端讀取已儲存的 cookie 資料。例如在建立電子商貿網站時,可以使用 cookie 記錄使用者所選取的貨品。而 cookie 為了預防使用者的資料被洩,所以有以下限制:— 每個瀏覽器最多只可儲存 300 個 cookie — 每個瀏覽器對每個網站只能儲存 20 個 cookie — 如果瀏覽器關閉了 cookie 功能,那就不能使用Cookie 的實作 要在 PHP 內儲存一個 cookie 給使用者,最簡單的做法是:setcookie(“cookie_name”, “cookie_value”);以上的 …

在 HTML 網頁顯示瀏覽次數

如果需要做頁面瀏覽統計,用 PHP 來做十分簡單,但如果在一些 HTML 頁面上,那就要用一些較迂迴的方法了。實現方法 如果要不修改檔案名稱的情況下實現這個功能,也有好幾個方法,例如修改 web server 設定,讓 .html 副檔案也可以執行 php,或者是讀取 web server 的存取紀錄檔也可以。 但以上兩個方法對於沒有自己 web server 的用戶不太適合,而我會使用的方法是 PHP + JavaScript。本站另一篇文章 在 HTML 頁面上顯示 php 動態內容 己介紹了在 HTML 網頁中顯示 …

製作簡單 PHP 計數器

在網站上其中一樣最常見的程式是計數器,本文將會講述如何製作一個簡單的 PHP 計數器,包括文字及圖形兩種顯示模式。準備工作 計數器的原理十分簡單,只要使用資料庫或文字檔儲存瀏覽人數,當有新訪客時便將人數加 1。因為只要單純紀錄瀏覽人數,所以會介紹使用使用文字檔,這樣即使沒有 MySQL 資料庫也可以做到。首先建立一個文字檔,例如 “counter.dat”,裡面只包含一個數目字 “0”,記得要將它 chmod 777,這樣 php 才可更新人數。文字計數器 現在開始了,以下是紀錄人數的例子:以上程式碼會先取得 counter.dat 的內容並加 1,再將新結果寫入 counter.dat 內。 但這裡有兩個很大的問題,就是當兩個訪客同時間進入時,會產生數值歸零(雖然機會小,但對高流量網站很大機會發生),以及相同使用者 reload 時也會同樣計算在內,以下是修正以上問題的方法:以上的 if(!isset($_COOKIE)) 這句會檢查是否存在 $_COOKIE 變數,如果不存在的話才寫入紀錄。 flock($fp, LOCK_EX); 是將 counter.dat …

用 PHP 編寫 Shell Script

網絡管理員在日常的工作中難免會使用到 Shell Script,這可以使工作更加方便以及減少出錯的機會。一般上編寫 shell script 會使用 sh, bash, csh, tcsh, perl 等等來做。使用 PHP 編寫 Shell Script 那麼概然有這麼多的選擇,為什麼是使用 PHP 來寫?我想最大的好處是連接不同資料庫儲存數據時會較容易,而且其實 PHP 也可用作 shell script,而且一點也不複雜。請先看以下一個簡單的 shell script:backup.sh 以上這個 shell script 是將 etc …