Category: PHP

用 PHP 實現線上人數統計

基於 HTTP 協定的限制,要實現統計線上人數會很困難。而現時大部份網站或論壇所使用的方法是,統計在過去某段時間內有所活動的訪客,便計算為線上人數,本文會介紹使用 PHP + MySQL 製作一個線上人數計數器。在開始前請先確定網頁伺服器支援 PHP,以及有一個可用的 MySQL 資料庫,如果沒有 MySQL 資料庫,請向你的系統管理員或網頁寄存供應商查詢。建立資料庫 第一步需要先建立一個 MySQL 資料表,可以在文字模式或 phpmyadmin 下執行以下 SQL 語句: PHP 程式碼 當建立以上資料表後,便可以編寫 PHP 程式了,以下例子假設你的 MySQL 登入資料如下:Host: localhost username: dbuser password: …

PHP 製作簡單 HTTP 密碼認證

如果網站內有些網頁只希望提供給管理員,那麼便需設置一個密碼認證功能。在 PHP 中製作密碼認證的方法有好幾種,以下介紹較為簡單的 HTTP authentication。需要 PHP 在 Apache module 下執行才有這功能,而在 IIS 及 PHP 使用 CGI Mode 安裝則沒有這個功能。HTTP authentication PHP 內實現 HTTP authentication 的原理是使用 header() 傳送一個 “Authentication Required” 的訊息到訪問者的 browser,然後便會彈出一個 pop …

用 PHP 上傳檔案

建文 HTML 表單 要製作用作上傳檔案的表單與傳統的表單差不多,但必須將表單中的 enctype 屬性設成 multipart/form-data。enctype 屬性是指定瀏覽器對表單中的參數進行編碼的方法,預設值為 application/x-www-form-urlencoded。 以下是建立表單的例子:upload.html 處理上傳檔案 建立了以上的 HTMl 表單後,下一步要做的就是後端的處理。在 PHP 中可以透過二維陣列 $HTTP_POST_FILES 或 $_FILES 來存取所上傳的檔案詳細內容。就以以上表單為例,輸入元素名為 userfile,各陣列元素為:$_FILES — 檔案在客戶端電腦上的檔案名稱 $_FILES — 檔案的 MIME 類型,例如 “image/gif” $_FILES …

PHP 下製作縮圖

要用 PHP 自動創建一個圖片的縮圖,做法十分簡單,因為 PHP 已內建了相關函式。本文將會介紹製作縮圖的巨體做法。 (Web Server 需要 GD 支援)imagecopyresized PHP 已經內建了製作縮圖的函式,它是 imagecopyresized,以下是 imagecopyresized 的語法:int imagecopyresized ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int …

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 的 Cookie 用法

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