From: Polin Wei
XOOPS2 的區塊中有提供一個站內搜尋的工具,雖然現在 Google 可以解決這個問題,但是這仍是 XOOPS2 提供一個方便使用者可以快速找資料的好功能,如果您希望您的模組中的資料可以被搜尋到,那您還是要自己動手撰寫一些程式,才能被搜尋得到。
撰寫 XOOPS2 的搜尋功能其實不難,主要的步驟有:
* 修改 xoops_version.php
* 撰寫 search.php
* 依 xoops_version.php 的設定,將 search.php 複製到 「模組目錄/include」 目錄裡
繼續詳細閱讀
廣告聯播
2010年9月21日 星期二
2010年9月8日 星期三
XOOPS2 的 評論功能
From: Polin Wei
XOOPS2 系統提供的評論程式碼,不需要作任何修改。不過我們另外需要 5 支程式:comment_delete.php、comment_edit.php、comment_new.php、 comment_post.php、comment_reply.php。這 5 支程式可以從 poll 模組或從本模組來取得即可。
以上的評論功能有新增、修改,那如果要刪除某一則評論,或該筆資料刪除時,評論該如何處理呢?這個很簡單,只要在刪除某一筆資料的函式裡加入 xoops_comment_delete($module_id,$item_id); 的 XOOPS2 系統函式即可。
繼續詳細閱讀
XOOPS2 系統提供的評論程式碼,不需要作任何修改。不過我們另外需要 5 支程式:comment_delete.php、comment_edit.php、comment_new.php、 comment_post.php、comment_reply.php。這 5 支程式可以從 poll 模組或從本模組來取得即可。
以上的評論功能有新增、修改,那如果要刪除某一則評論,或該筆資料刪除時,評論該如何處理呢?這個很簡單,只要在刪除某一筆資料的函式裡加入 xoops_comment_delete($module_id,$item_id); 的 XOOPS2 系統函式即可。
繼續詳細閱讀
2010年8月25日 星期三
XOOPS 內建的全域變數
From: Polin Wei
在開發 XOOPS 模組或者客制程式時,常常有需要用到 XOOPS 內建的物件或陣列,以便取得必要的資料及資訊,這樣的好處在於我們不用自己去開發及維護程式,但要使用這些內定的物件或陣列,在程式的一開始必需先 include mainfile.php 。
常會用到的物件 ( Object ),以 $xoopsDB 、 $xoopsUser 、 $xoopsModule 、 $xoopsTpl 、 $xoTheme 為最多,而陣列 ( Array ) 則以 $xoopsModuleConfig 、 $xoopsConfig 、 $xoopsOption 為最多。
繼續詳細閱讀
在開發 XOOPS 模組或者客制程式時,常常有需要用到 XOOPS 內建的物件或陣列,以便取得必要的資料及資訊,這樣的好處在於我們不用自己去開發及維護程式,但要使用這些內定的物件或陣列,在程式的一開始必需先 include mainfile.php 。
常會用到的物件 ( Object ),以 $xoopsDB 、 $xoopsUser 、 $xoopsModule 、 $xoopsTpl 、 $xoTheme 為最多,而陣列 ( Array ) 則以 $xoopsModuleConfig 、 $xoopsConfig 、 $xoopsOption 為最多。
繼續詳細閱讀
2010年8月10日 星期二
Dreamweaver Plugin Tag For XOOPS
From: Polin Wei
XOOPS 是架構在 smarty 樣版的基礎上,Smarty 允許 PHP 網頁的使用者介面 (UI) 區分為網頁部份與程式邏輯,並允許 PHP 程式設計師以 Smarty 標籤去定義可存取的函數。因此,可以大幅降低 PHP 程式設計師在設計網頁美觀上的工作負擔。
在設計網頁的工具中,當然以 Dreamweaver 為所見即所示的最佳網頁設計工具。Dreamweaver 軟體有很多免費的 Plugin Tag 可以使用,若只是單純的用在 PHP & Smarty 上,可以用 SmartyDWT 這個 Tag 。
SmartyDWT 的下載點:官方網站 http://smartydwt.klitsche.org/ 或從 資訊空間下載
繼續詳細閱讀
XOOPS 是架構在 smarty 樣版的基礎上,Smarty 允許 PHP 網頁的使用者介面 (UI) 區分為網頁部份與程式邏輯,並允許 PHP 程式設計師以 Smarty 標籤去定義可存取的函數。因此,可以大幅降低 PHP 程式設計師在設計網頁美觀上的工作負擔。
在設計網頁的工具中,當然以 Dreamweaver 為所見即所示的最佳網頁設計工具。Dreamweaver 軟體有很多免費的 Plugin Tag 可以使用,若只是單純的用在 PHP & Smarty 上,可以用 SmartyDWT 這個 Tag 。
SmartyDWT 的下載點:官方網站 http://smartydwt.klitsche.org/ 或從 資訊空間下載
繼續詳細閱讀
XOOPS2 模組連接資料庫的方法
From: Polin Wei
在設定模組需要 MySQL 資料庫的表格 (table) 前,先來說明 XOOPS2 如何來連接資料庫,一般而言,若是 一般的 PHP 程式,需要連結 MySQL 資料庫時,步驟大致如下:
■用 mysql_connect( $server, $username, $password, $new_link, $client_flags) 連接資料庫伺服器。
■用 mysql_select_db( $database_name, $link_identifier ) 指定資料庫。
■寫好要取得資料的 SQL 語法。
■用 mysql_query( $query ) 執行 SQL 語法。
■若是 SQL 語法為查詢 ( select statement ) 的話,需用 mysql_fetch_array() 或 mysql_fetch_row() 來把取得結果的值 ( Set ) 放到陣列中,以便讓 PHP 作後續處理。
而在 XOOPS2 裡面,連結資料庫的過程大體上是差不多的,只是 XOOPS2 提供一個資料庫的物件叫 $xoopsDB,在開發 XOOPS 程式過程中,若有需要連結 MySQL 資料庫時,可以直接利用該物件 $xoopsDB 來和資料庫作溝通。使用 $xoopsDB 物件的步驟,前面兩個步驟可以省略,只要直接寫好要執行的 SQL 語法,然後執行並取值來應用即可。其步驟如下:
■寫好 SQL 語法。
■用 $xoopsDB->query() 去執行 SQL 語法。
■若是 SQL 語法為查詢 ( select statement ) 的話,需用 $xoopsDB->fetchRow() 或 $xoopsDB->fetchArray() 來把取得結果的值 ( Set ) 放到陣列中,以便讓 PHP 作後續處理。
繼續詳細閱讀
在設定模組需要 MySQL 資料庫的表格 (table) 前,先來說明 XOOPS2 如何來連接資料庫,一般而言,若是 一般的 PHP 程式,需要連結 MySQL 資料庫時,步驟大致如下:
■用 mysql_connect( $server, $username, $password, $new_link, $client_flags) 連接資料庫伺服器。
■用 mysql_select_db( $database_name, $link_identifier ) 指定資料庫。
■寫好要取得資料的 SQL 語法。
■用 mysql_query( $query ) 執行 SQL 語法。
■若是 SQL 語法為查詢 ( select statement ) 的話,需用 mysql_fetch_array() 或 mysql_fetch_row() 來把取得結果的值 ( Set ) 放到陣列中,以便讓 PHP 作後續處理。
而在 XOOPS2 裡面,連結資料庫的過程大體上是差不多的,只是 XOOPS2 提供一個資料庫的物件叫 $xoopsDB,在開發 XOOPS 程式過程中,若有需要連結 MySQL 資料庫時,可以直接利用該物件 $xoopsDB 來和資料庫作溝通。使用 $xoopsDB 物件的步驟,前面兩個步驟可以省略,只要直接寫好要執行的 SQL 語法,然後執行並取值來應用即可。其步驟如下:
■寫好 SQL 語法。
■用 $xoopsDB->query() 去執行 SQL 語法。
■若是 SQL 語法為查詢 ( select statement ) 的話,需用 $xoopsDB->fetchRow() 或 $xoopsDB->fetchArray() 來把取得結果的值 ( Set ) 放到陣列中,以便讓 PHP 作後續處理。
繼續詳細閱讀
2010年8月9日 星期一
XOOPS2 Language 模組的多國語系檔
From: Polin Wei
XOOPS2 有支援多國語言的功能,它可以隨著使用者所選用的語系不同,XOOPS2 也會秀出不同的語系,當然您必需要建立這些不同的語系的檔案,並依規定放在語系的目錄,如 繁體中文的 UTF8 語系目錄是在「模組目錄/language/tchinese_utf8」,不能放錯目錄;若 XOOPS2 找不到,就會去預設的英文語系目錄「模組目錄/language/english」中去找。
XOOPS2 是利用 PHP 的常數定義函數 define(); 來作設定,例如在 xoops_version.php 中定義該模組的名稱「_MI_POLIN_BOOKLIBS_NAME」。
//模組名稱
$modversion['name'] = _MI_POLIN_BOOKLIBS_NAME;
常數是固定不變的值,因此在不同語系檔中,都必需對「_MI_POLIN_BOOKLIBS_NAME」作定義,XOOPS2 才會正確的顯示出訊息,XOOPS2 之所以能夠支援數十國的語言,就是以這種機制來達成的。
繼續詳細閱讀
XOOPS2 有支援多國語言的功能,它可以隨著使用者所選用的語系不同,XOOPS2 也會秀出不同的語系,當然您必需要建立這些不同的語系的檔案,並依規定放在語系的目錄,如 繁體中文的 UTF8 語系目錄是在「模組目錄/language/tchinese_utf8」,不能放錯目錄;若 XOOPS2 找不到,就會去預設的英文語系目錄「模組目錄/language/english」中去找。
XOOPS2 是利用 PHP 的常數定義函數 define(); 來作設定,例如在 xoops_version.php 中定義該模組的名稱「_MI_POLIN_BOOKLIBS_NAME」。
//模組名稱
$modversion['name'] = _MI_POLIN_BOOKLIBS_NAME;
常數是固定不變的值,因此在不同語系檔中,都必需對「_MI_POLIN_BOOKLIBS_NAME」作定義,XOOPS2 才會正確的顯示出訊息,XOOPS2 之所以能夠支援數十國的語言,就是以這種機制來達成的。
繼續詳細閱讀
2010年7月29日 星期四
PHP 多檔案上傳範例 multiple file upload
From: Polin Wei
多檔上傳的程式,可以分成兩個部份來解釋:
關於第一點,需要用到 Ajax 的技術,若對於 Ajax 不瞭解也沒有關係,我們可以使用一個免費的 JQuey 套件:Multiple File Upload Plugin (jQuery.MultiFile) ,套件可以從 http://www.fyneworks.com/jquery/multiple-file-upload 下載,或從或從 資訊空間 - 檔案下載 來取得。
使用的方法很簡單,只要將兩個 javascript 檔: jquery.js 及 jquery.MultiFile.js 含入,在 form 中加入 <input type="file" name="my_files[]" class="multi" /> 即可。因為 jquery.MultiFile.js 會將要上載的檔案資料記錄在陣列中,所以要用 name="my_files[]" 來作資料的接收;而 class="multi" 是 jQuery 用來作多檔案上傳程式碼置換點的判斷,HTML 檔案的部份如下:
多檔上傳的程式,可以分成兩個部份來解釋:
- 在網頁 HTML 的呈現方面需要用 Ajax 來即時呈現即將上載的檔案有那些。
- 將這些上載的檔案記載在陣列 Array 中,並逐一的上載到伺服器。
關於第一點,需要用到 Ajax 的技術,若對於 Ajax 不瞭解也沒有關係,我們可以使用一個免費的 JQuey 套件:Multiple File Upload Plugin (jQuery.MultiFile) ,套件可以從 http://www.fyneworks.com/jquery/multiple-file-upload 下載,或從或從 資訊空間 - 檔案下載 來取得。
使用的方法很簡單,只要將兩個 javascript 檔: jquery.js 及 jquery.MultiFile.js 含入,在 form 中加入 <input type="file" name="my_files[]" class="multi" /> 即可。因為 jquery.MultiFile.js 會將要上載的檔案資料記錄在陣列中,所以要用 name="my_files[]" 來作資料的接收;而 class="multi" 是 jQuery 用來作多檔案上傳程式碼置換點的判斷,HTML 檔案的部份如下:
PHP Picture upload 圖片上載範例
From: Polin Wei
常常有需要將本機端的圖片上載到遠端伺服器上,本章節來說明如何用 PHP 語言作到下列的功能
■由本機的圖片上傳到網站上
■希望在上傳的時候順便將圖片作縮圖
首先,需要下載 class.upload 這個物件( Class ),這個 Class 可以從 http://www.verot.net 或者從 資訊空間 - 檔案下載 中取得。
在 HTML 部份撰寫二個欄位,第一個欄位類型為 'text',用來對上傳的檔案重新命名用;另一個欄位類型為 'file',是用來找尋本機端的圖檔。要注意的一點是: form 的 enctype 的類型要是 'multipart/form-data',否則會傳不上伺服器。
繼續詳細閱讀 Continue Reading ...
常常有需要將本機端的圖片上載到遠端伺服器上,本章節來說明如何用 PHP 語言作到下列的功能
■由本機的圖片上傳到網站上
■希望在上傳的時候順便將圖片作縮圖
首先,需要下載 class.upload 這個物件( Class ),這個 Class 可以從 http://www.verot.net 或者從 資訊空間 - 檔案下載 中取得。
在 HTML 部份撰寫二個欄位,第一個欄位類型為 'text',用來對上傳的檔案重新命名用;另一個欄位類型為 'file',是用來找尋本機端的圖檔。要注意的一點是: form 的 enctype 的類型要是 'multipart/form-data',否則會傳不上伺服器。
繼續詳細閱讀 Continue Reading ...
2010年7月12日 星期一
XOOPS 整合 Discuz 論壇的最新回覆與最新主題
From: Polin Wei
XOOPS 架站完成,而 Discuz 論壇也架在 $XOOPS_PATH/forum 目錄後,總希望能在個人專屬的 XOOPS 網站首頁就可以呈現出 Discuz 論壇裡的資料呢?這樣一來就不需要每次點擊論壇的連結才能看到最新的回覆或主題了。
首先下載 discuz_for_xoops_hack.7z 然後將解開的目錄 discuz20100708 放在 $XOOPS_PATH/modules 下,並奱更名字為 discuz 以方便識別,然後修改 $XOOPS_PATH/modules/discuz/include/functions.php 這個檔案裡的內容。 在第 10,11 行的程式段中作修改。
繼續詳細閱讀...
XOOPS 架站完成,而 Discuz 論壇也架在 $XOOPS_PATH/forum 目錄後,總希望能在個人專屬的 XOOPS 網站首頁就可以呈現出 Discuz 論壇裡的資料呢?這樣一來就不需要每次點擊論壇的連結才能看到最新的回覆或主題了。
首先下載 discuz_for_xoops_hack.7z 然後將解開的目錄 discuz20100708 放在 $XOOPS_PATH/modules 下,並奱更名字為 discuz 以方便識別,然後修改 $XOOPS_PATH/modules/discuz/include/functions.php 這個檔案裡的內容。 在第 10,11 行的程式段中作修改。
繼續詳細閱讀...
2010年4月1日 星期四
MySQL 的備份及復原
From: Polin Wei
MySQL 的備份及復原
要備份 MySQL 資料庫主要分為兩個方法,一是將資料庫目錄完整備份:二是使用 MySQL 內建的 mysqldump 程式。
備份資料庫目錄
MySQL 預設的儲存目錄在 /var/lib/mysql 內容,底下會有以資料庫名稱的目錄,例如 mydb 目錄便應該是 mydb 資料庫的資料。
如果 MySQL 正在運行,請先停止 MySQL,原因是可能會有資料未完全寫入,而 MySQL 會 lock 在使用中的 DB 檔案。
01 /etc/rc.d/init.d/mysqld stop
02 cd /var/lib/mysql/
03 tar zxcf mydb_backup.tgz mydb
04 /etc/rc.d/init.d/mysqld start
以上指令會先停止 MySQL,然後把 mydb 資料庫製作一個 taz 檔的備份,並儲存到 mydb_backup.tgz。
在使用以上指令時,請根據個別系統的設定作出修改。
好了,以上就麼 3 句指令就完成備份了,如果不幸的事情發生了,資料庫發生錯誤而要復原資料,可使用以下指令:
01 /etc/rc.d/init.d/mysqld stop
02 cd /var/lib/mysql/
03 mv mydb mydb_error
04 tar zxvf mydb_backup.tgz
05 /etc/rc.d/init.d/mysqld start
以上指令是先把 /var/lib/mysql/mydb 移到 /var/lib/mysql/mydb_error,然後將原先製作的備份檔解壓到 /var/lib/mysql/mydb。
mysqldump
雖然以上方法十分簡單,但有一個問題存在,那就是在備份及復原時均需停止 MySQL 的運作,這樣對於實際應用十分不便。再者,這樣備份出來的檔案,如果在相同版本的 MySQL Server 應該沒有問題,但移到版本不同的 Server 則不一定可以成功復原。
因為有以上的問題,MySQL 已經內建了備份工具,它就是 mysqldump。
mysqldump 的備份方法是將資料庫內的每個資料表結構及每筆資料產生 SQL 語句,然後存到文字檔。而且它可以自訂每一個資料表一個檔案,以及將資料表結構及資料分開儲存,以下是使用例子:
> mysqldump --user=root -p mydb > /backup/mydb.sql
以上指令會使用 mysqldump 將 mydb 備份到 /backup/mydb.sql,在輸入指令後,需要輸入 MySQL 的 root 密碼。
至於復原資料同樣簡單,只要一句指令便完成:
01 mysql --user=root -p mydb < /backup/mydb.sql
(原文使用"mysqldump"來復原,應為筆誤,改成上述指令才對)
以上指令會將 /backup/mydb.sql 備份檔復原到 mydb 裡面。如果你的 MySQL Server 不止一個資料庫,希望可以一次過將所有資料庫備份起來,可以寫一個簡單的 shell script 完成,又或者使用以下指令:
01 mysqldump --user=root -p --all-databases > /backup/mysql.sql
這個 --all-databases 代表所有資料庫,這樣 mysqldump 便會將所有資料庫備份到 /backup/mysql.sql。
若你想要在 Windows 平台作自動備份, 可以撰寫一個批次檔 dumpdb.bat , 內容如下:
再將這個檔案放在 附屬應用程式->系統工具->排定的工作 中即可
參考文獻: http://learn.bles.tp.edu.tw/moodle/mod/resource/view.php?id=92
MySQL 的備份及復原
要備份 MySQL 資料庫主要分為兩個方法,一是將資料庫目錄完整備份:二是使用 MySQL 內建的 mysqldump 程式。
備份資料庫目錄
MySQL 預設的儲存目錄在 /var/lib/mysql 內容,底下會有以資料庫名稱的目錄,例如 mydb 目錄便應該是 mydb 資料庫的資料。
如果 MySQL 正在運行,請先停止 MySQL,原因是可能會有資料未完全寫入,而 MySQL 會 lock 在使用中的 DB 檔案。
01 /etc/rc.d/init.d/mysqld stop
02 cd /var/lib/mysql/
03 tar zxcf mydb_backup.tgz mydb
04 /etc/rc.d/init.d/mysqld start
以上指令會先停止 MySQL,然後把 mydb 資料庫製作一個 taz 檔的備份,並儲存到 mydb_backup.tgz。
在使用以上指令時,請根據個別系統的設定作出修改。
好了,以上就麼 3 句指令就完成備份了,如果不幸的事情發生了,資料庫發生錯誤而要復原資料,可使用以下指令:
01 /etc/rc.d/init.d/mysqld stop
02 cd /var/lib/mysql/
03 mv mydb mydb_error
04 tar zxvf mydb_backup.tgz
05 /etc/rc.d/init.d/mysqld start
以上指令是先把 /var/lib/mysql/mydb 移到 /var/lib/mysql/mydb_error,然後將原先製作的備份檔解壓到 /var/lib/mysql/mydb。
mysqldump
雖然以上方法十分簡單,但有一個問題存在,那就是在備份及復原時均需停止 MySQL 的運作,這樣對於實際應用十分不便。再者,這樣備份出來的檔案,如果在相同版本的 MySQL Server 應該沒有問題,但移到版本不同的 Server 則不一定可以成功復原。
因為有以上的問題,MySQL 已經內建了備份工具,它就是 mysqldump。
mysqldump 的備份方法是將資料庫內的每個資料表結構及每筆資料產生 SQL 語句,然後存到文字檔。而且它可以自訂每一個資料表一個檔案,以及將資料表結構及資料分開儲存,以下是使用例子:
> mysqldump --user=root -p mydb > /backup/mydb.sql
以上指令會使用 mysqldump 將 mydb 備份到 /backup/mydb.sql,在輸入指令後,需要輸入 MySQL 的 root 密碼。
至於復原資料同樣簡單,只要一句指令便完成:
01 mysql --user=root -p mydb < /backup/mydb.sql
(原文使用"mysqldump"來復原,應為筆誤,改成上述指令才對)
以上指令會將 /backup/mydb.sql 備份檔復原到 mydb 裡面。如果你的 MySQL Server 不止一個資料庫,希望可以一次過將所有資料庫備份起來,可以寫一個簡單的 shell script 完成,又或者使用以下指令:
01 mysqldump --user=root -p --all-databases > /backup/mysql.sql
這個 --all-databases 代表所有資料庫,這樣 mysqldump 便會將所有資料庫備份到 /backup/mysql.sql。
若你想要在 Windows 平台作自動備份, 可以撰寫一個批次檔 dumpdb.bat , 內容如下:
@echo off
REM 產生日期及時間變數
@For /f "tokens=1-3 delims=/ " %%a in ('date /t') do (set date=%%a-%%b-%%c)
REM **********************************
REM 備份MySQL資料庫 xoops ....
REM **********************************
@mysqladmin --user=root --password=password flush-logs
@mysqldump --user=root --password=password > "c:\dbdump\xoops%date%.sql"
再將這個檔案放在 附屬應用程式->系統工具->排定的工作 中即可
參考文獻: http://learn.bles.tp.edu.tw/moodle/mod/resource/view.php?id=92
2010年1月6日 星期三
Xoops 的表單設計
From: Polin Wei
WEB程式開發中, 表單設計是一定需要的, 在 PHP 中大部份都是直接echo表單的html代碼居多, 但在 Xoops 中有一套非常完善的表單生成器. 這些表單類別都放在 XOOPS_ROOT/class/xoopsform 目錄下. 詳細的作法可以參考下列的參考文件. 下一次再來舉實例來說明.
參考文件
XOOPS的表單設計
東至備忘錄
impresscms
WEB程式開發中, 表單設計是一定需要的, 在 PHP 中大部份都是直接echo表單的html代碼居多, 但在 Xoops 中有一套非常完善的表單生成器. 這些表單類別都放在 XOOPS_ROOT/class/xoopsform 目錄下. 詳細的作法可以參考下列的參考文件. 下一次再來舉實例來說明.
參考文件
XOOPS的表單設計
東至備忘錄
impresscms
2009年7月10日 星期五
[Apache] 加掛壓縮模組 deflate/gzip 壓縮網頁 加快顯示速度
From: Polin Wei
在 apache2.x 利用 mod_deflate 模組來設定 gzip , 可以壓縮網頁資料, 加快網頁顯示速度. 設定如下:
step 01: 修改 $APACHE_HOME/conf/httpd.conf
若是要壓縮 PHP 檔, 則可以修改 php.ini 中的
step 02: 重新啟動 Apache Service 即可
附註: 經測試, 大致可以減少約 35% 的傳輸量
在 apache2.x 利用 mod_deflate 模組來設定 gzip , 可以壓縮網頁資料, 加快網頁顯示速度. 設定如下:
step 01: 修改 $APACHE_HOME/conf/httpd.conf
LoadModule deflate_module modules/mod_deflate.so 將 # 拿掉
#
## 啟動 gzip 壓縮, 加上下列設定
#
<IfModule mod_deflate.c>
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE html htm xml css js php
</IfModule>
若是要壓縮 PHP 檔, 則可以修改 php.ini 中的
output_handler = ob_gzhandlerstep 02: 重新啟動 Apache Service 即可
附註: 經測試, 大致可以減少約 35% 的傳輸量
2009年5月15日 星期五
[PHP] AppServ 安裝 pear 及與 MySQL 連結設定
From: Polin Wei
環境:
OS: WindowXP Sp3
AppServ Package: appserv-win32-2.5.10.exe 包含的服務如下:
Apache 2.2.8
PHP 5.2.6
MySQL 5.0.51b
phpMyAdmin-2.10.3
Step 01:
從 appservnetwork: 下載appserv-win32-2.5.10.exe 並依預設目錄 C:\AppServ 安裝 Apache, PHP, MySQL, phpMyAdmin
Step 02:
修改 c:\windows\php.ini 檔. DLL (動態連結檔) 先載入 php_mbstring.dll, 再載入 php_exif.dll 順序如下:
Step 03: 安裝 PEAR
a. 重新啟動 Apache , 然後執行 C:\AppServ\php5\go-pear.bat,往後皆按Enter便可。
b. 最後會出現一段訊息,提醒使用者雙擊 c:\AppServ\php5\PEAR_ENV.reg ,登錄PEAR相關的註冊碼。
Step 04: 安裝 PEAR DB, 並使用"Pear list" 檢查是否安裝完成

Step 05 : 在 DB: test , 建立 Table: users 來測試
Step 06: 建立 pearDB.php 來測試
成果如下:
環境:
OS: WindowXP Sp3
AppServ Package: appserv-win32-2.5.10.exe 包含的服務如下:
Apache 2.2.8
PHP 5.2.6
MySQL 5.0.51b
phpMyAdmin-2.10.3
Step 01:
從 appservnetwork: 下載appserv-win32-2.5.10.exe 並依預設目錄 C:\AppServ 安裝 Apache, PHP, MySQL, phpMyAdmin
Step 02:
修改 c:\windows\php.ini 檔. DLL (動態連結檔) 先載入 php_mbstring.dll, 再載入 php_exif.dll 順序如下:
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.
; pear 要用的
extension=php_mbstring.dll
extension=php_exif.dllStep 03: 安裝 PEAR
a. 重新啟動 Apache , 然後執行 C:\AppServ\php5\go-pear.bat,往後皆按Enter便可。
b. 最後會出現一段訊息,提醒使用者雙擊 c:\AppServ\php5\PEAR_ENV.reg ,登錄PEAR相關的註冊碼。
Step 04: 安裝 PEAR DB, 並使用"Pear list" 檢查是否安裝完成
C:\AppServ\php5>pear install DB
C:\AppServ\php5>pear list
Step 05 : 在 DB: test , 建立 Table: users 來測試
--
-- 資料庫: `test`
--
--------------------------------------------------------
--
-- 資料表格式: `users`
--
CREATE TABLE `users` (
`id` varchar(10) NOT NULL,
`username` varchar(30) NOT NULL,
`password` varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- 列出以下資料庫的數據: `users`
--
INSERT INTO `users` (`id`, `username`, `password`) VALUES ('1', 'polin', 'wei');
Step 06: 建立 pearDB.php 來測試
<?php
require_once("DB.php");
$dbh = DB::connect('mysql://root:mysql@localhost/test');
$result = $dbh->query('SELECT * FROM users ORDER BY id');
if ( $result->numRows($result) > 0 ) {
echo "<table>\n<tr><th>ID</th><th>userName</th><th>Password</th></tr>\n";
while ( $data = $result->fetchRow() ) {
echo "<tr><td>$data[0]</td><td>$data[1]</td><td>$data[2]</td></tr>\n";
}
echo "</table>\n";
} else {
echo "Ok;\n";
}
?>
成果如下:
ID userName Password
1 polin wei
2009年4月12日 星期日
[PHP] 用 eclipse PDT 撰寫 PHP
From: Polin Wei
Step 01: 安裝 PHP Development (PDT) :
習慣用 eclipse IDE 的工具來撰寫 JAVA, 若想用它來撰寫 PHP 則可以使用 PHP Development (PDT) 的工具, 這樣就可以不用切換程式撰寫工具. 若你已經裝了 eclipse 則可以使用 Safeware updates 的工具來安裝. 在 Help > Software Updates > Find and Install > Add Site :
http://download.eclipse.org/tools/pdt/updates
http://download.eclipse.org/tools/pdt/updates/2.0/

Step 02: 安裝 ZEND 的 Debugger:
裝完 PHP Development (PDT) 後, 還要裝 ZEND 的 Debugger
安裝的方法有二:
1. Open Eclipse and go to Help-> Software Updates-> Find and Install
Select "Search for new features to install" and click "Next"
Create a New Remote Site with the following details:
Name: PDT
URL: http://downloads.zend.com/pdt
Check the PDT box and click "Next" to start the installation
2. 若安裝不下來, 則可以到 Debugger 去下載壓縮檔 download the Zend Executable Debugger Eclipse Plug-in (Note: this plug-in is included in the all-in-one package). 解開後, 放在 eclipse 目錄下的相對路徑就可以.
Step 03: 設定 PDT 環境:
Window -> Preferences -> PHP -> Debug

Window -> Preferences -> PHP -> Executables

以上安裝完後, 建立一個 PHP Project 測試一下:
Step 01: 選 PHP Project

Step 02: Project 存放的目錄要放在 apache 的 Document Root 的地方

Step 03: 在撰寫 PHP 檔時, 它就會有 Coding 提示
Step 01: 安裝 PHP Development (PDT) :
習慣用 eclipse IDE 的工具來撰寫 JAVA, 若想用它來撰寫 PHP 則可以使用 PHP Development (PDT) 的工具, 這樣就可以不用切換程式撰寫工具. 若你已經裝了 eclipse 則可以使用 Safeware updates 的工具來安裝. 在 Help > Software Updates > Find and Install > Add Site :
http://download.eclipse.org/tools/pdt/updates
http://download.eclipse.org/tools/pdt/updates/2.0/

Step 02: 安裝 ZEND 的 Debugger:
裝完 PHP Development (PDT) 後, 還要裝 ZEND 的 Debugger
安裝的方法有二:
1. Open Eclipse and go to Help-> Software Updates-> Find and Install
Select "Search for new features to install" and click "Next"
Create a New Remote Site with the following details:
Name: PDT
URL: http://downloads.zend.com/pdt
Check the PDT box and click "Next" to start the installation
2. 若安裝不下來, 則可以到 Debugger 去下載壓縮檔 download the Zend Executable Debugger Eclipse Plug-in (Note: this plug-in is included in the all-in-one package). 解開後, 放在 eclipse 目錄下的相對路徑就可以.
Step 03: 設定 PDT 環境:
Window -> Preferences -> PHP -> Debug

Window -> Preferences -> PHP -> Executables

以上安裝完後, 建立一個 PHP Project 測試一下:
Step 01: 選 PHP Project

Step 02: Project 存放的目錄要放在 apache 的 Document Root 的地方

Step 03: 在撰寫 PHP 檔時, 它就會有 Coding 提示
2009年4月8日 星期三
[PHP] 取得運行的 OS 平台資訊
From: Polin Wei
PHP 提供三種方式來取得目前運行主機的 OS 平台資訊
1. PHP_OS
2. getenv('OS')
3. php_uname();
程式若為:
以在 OS 為 windowns XP 的平台來說, 相對應的值為
1. echo PHP_OS; => WINNT
2. echo getenv('OS') => Windows_NT
3. php_uname(); => Windows NT polinwei 5.1 build 2600
以 OS 為 Linux : CentOS 的平台來說, 相對應的值為
1. echo PHP_OS; => Linux
2. echo getenv('OS') =>
3. php_uname(); => Linux polinwei.com 2.6.18-128.1.1.el5 #1 SMP Mon Jan 26 13:58:24 EST 2009 x86_64
PHP 提供三種方式來取得目前運行主機的 OS 平台資訊
1. PHP_OS
2. getenv('OS')
3. php_uname();
程式若為:
<?php
echo PHP_OS."<br>";
echo getenv('OS')."<br>";
echo php_uname()."<br>";
?>以在 OS 為 windowns XP 的平台來說, 相對應的值為
1. echo PHP_OS; => WINNT
2. echo getenv('OS') => Windows_NT
3. php_uname(); => Windows NT polinwei 5.1 build 2600
以 OS 為 Linux : CentOS 的平台來說, 相對應的值為
1. echo PHP_OS; => Linux
2. echo getenv('OS') =>
3. php_uname(); => Linux polinwei.com 2.6.18-128.1.1.el5 #1 SMP Mon Jan 26 13:58:24 EST 2009 x86_64
訂閱:
文章 (Atom)
-
From: Polin Wei Hyperion Interactive Reporting 是 Oracle BI (Business Intelligence Suite Enterprise Edition Plus)系統中的模組之一,它可以輕鬆的幫你製作 Repo...
-
From: Polin Wei 環境: OS: Windows Server 2k3 + SP2 DB: Oracle XE Hyperion : 9.3.1 step 01: 準備 Windows Server 作業平台 將 Windows Server 2k3 + SP2 依...
-
From: Polin Wei 現在的即時通訊 MSN 、Skype ... 等工具,都具備有檔案傳輸的功能,小檔案或許沒問題,但若要傳個 10M 以上的檔,那連用 E-Mail 寄送可能都會無法達成。 可以嚐試在自己電腦中架設 FTP Server ( FTP 伺服器)...