[PHP] Zend 使用 Google Calendar API – 環境建立架設

最近又玩了 Googl 的 API:Google Calendar APIs and Tools,這個 API 可以讓 PHP 開發者對於使用 Google Canledar 有很大的幫助,可以新增事件,刪除事件,修改事件,或者是更改事件,相信在 Google 的 API 裡面都寫的很詳細,這 API 是由 Zend 底下所開發出來的,在 Zend Framework 底下是小 API 模組,大家可以在 這裡 下載到最新的版本 Zend Gdata 1.7.7,大家也可以直接在 Zend Framework 底下做開發,目前支援 PHP5,如果對 Google 月曆不會用的,可以上網找一下,很多 教學 的喔,底下是要針對開發環境建立做介紹。 針對 Google Calendar PHP API 教學大家可以先看看,今天先教大家建置環境,環境用在 Zend Framework 底下的作法,那架設 Zend Framework 可以參考我上一篇文章:[PHP] Zend Framework 安裝筆記教學 Appserv + Zend Framework (一),如果是在 Zend Framwork 底下安裝的話,那必須把 .htaccess 裡面的導向 index.php 的功能 mark 起來,不然就跑不過去喔,不然就是另開一個資料夾,就不需要搭配 Zend Framework,那就在 (www 或者是 data)資料夾,多開一個 GClab 資料夾,把檔案解壓縮到裡面。 1. 新增 google 帳號的設定檔案 config.inc.php

/*
* Google 帳號密碼,以及 calendar ID
*/
$googleAccount = 'xxxxxxx@gmail.com';
$googlePassword = '';	
$calendarID = 'xxxxxxxx@gmail.com';
[Read More]

[PHP] Zend Framework 安裝筆記教學 Appserv + Zend Framework (一)

今天在公司上班需要用到 Zend Framework 這一套 MVC 的軟體,用來開發 Google Calendar APIs,這 API 是用 Zend Framework 下去寫得,在 Google 文件 說的很清楚,那底下來介紹一下安裝過程吧,首先環境要先有 Apache + PHP + MySQL,我本身用 Appserv 懶人套件,我是用 AppServ 2.5.10 裡面包含底下:

  • Apache 2.2.8
  • PHP 5.2.6
  • MySQL 5.0.51b
  • phpMyAdmin-2.10.3 1. 先修改 apache 設定 httpd.conf
#LoadModule rewrite_module modules/mod_rewrite.so
改成 unmark 掉
LoadModule rewrite_module modules/mod_rewrite.so
修改 include_path 在 php.ini 裡面,或者是利用

set_include_path 來修改 2. 開始安裝 Zend Framework,首先去 官方網站下載,目前版本:Zend Framework 1.7.7,了解 MVC 架構。可以參考:透視 WebMVC 這篇。

[Read More]

[jQuery] Javascript plotting library 畫圖 chart

沒想到 jQuery 可以做到畫圖的功能,Flot 是 Javascript plotting library for jQuery,目前支援瀏覽器:Internet Explorer 6/7/8,Firefox 2.x+,Safari 3.0+,Opera 9.5 和 Konqueror 4.x+,瀏覽器跑起來都還不錯快,唯獨 Internet Explorer 有另外寫一個 excanvas 模擬器,也就是在 IE 上面看還需要 include 另外一個 js 檔案,才可以顯示圖形,我在 google 找到一些也是 PHP Chart 的好用工具,都是國外開發的:Libchart - Simple PHP chart drawing libraryXML/SWF Charts,其實還蠻多的,自己 google 就會出現一堆,不過要上去試試看。 我個人還蠻喜歡 jQuery 的,所以我就推薦 Flot 這一個 jQuery 的 library,在官網上面有很多 example 的介紹,可以去看看這裡。 畫最簡單的圖,還有支援 cos sin 的三角函數喔 $(function () { /* [橫座標,縱座標] Math.sin 支援三角函數 */ var d1 = []; for (var i = 0; i < 14; i += 0.5) d1.push([i, Math.cos(i)]); var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]]; // a null signifies separate line segments var d3 = [[0, 12], [7, 12], null, [7, 2.5], [12, 2.5]]; $.plot($("#placeholder"), [ d1, d2, d3 ]); });[/code] 畫出來的圖如下: flot_01 (by appleboy46)

[Read More]

[Pear] 利用 Validate 套件驗證 E-mail 多重表單認證

最近都在玩 open source 的程式,方便加速自己開發 PHP 的專案,在申請帳號密碼部份就可以利用 Validate 套件來驗證,以及 email 填寫正確性,可以檢查 MX 或者是 A record 紀錄,還蠻方便的,也可以檢查 multiple 欄位,設計的相當不錯,也有金融相關套件可以驗證 CreditCard,金融套件名稱是 Validate_Finance 裡面的 Validate_Finance_CreditCard 部份,線上也有很多相關說明,可以參考 Validate 線上手冊,目前已經到 0.8.2 (beta),如果使用 Release 版本,請選用 0.8.1,軟體可以在此下載,0.8.2 是在 2009-01-31 Release 出來的,還不錯用,最主要的功能如下

Package to validate various datas. It includes : - numbers (min/max, decimal or not) - email (syntax, domain check, rfc822) - string (predifined type alpha upper and/or lowercase, numeric,…) - date (min, max, rfc822 compliant) - uri (RFC2396) - possibility valid multiple data with a single method call (::multiple)

  1. 驗證各種不同的日期函式
  2. 驗證數字(最小/最大,是否是10進位)
  3. email 驗證(正規語法驗證,check domain name 是否存在,rfc822 驗證)
  4. 字串驗證(正規語法驗證,是否包含數字英文字母,可輸入最長或最短)
  5. url 驗證(遵從 RFC2396 規定)
  6. 多重欄位(multiple data)驗證(可以同時驗證上述功能)
[Read More]

[Windows] Appserv 安裝 pear 套件

最近要在 Windows 上面安裝 Apache + MySQL + PHP,我選擇利用懶人包安裝方法:Appserv,目前版本為 AppServ 2.5.10 跟 AppServ 2.6.0,如果您要寫 PHP5 的話,就選擇安裝 AppServ 2.5.10,目前支援到 PHP 5.2.6,不過我上次已經看到 PHP 5.2.9 Released 了,如果想要支援 PHP6,那就選擇 AppServ 2.6.0 這個版本,不過我建議新手可以安裝 AppServ 2.5.10,這個版本比較穩定,安裝好之後,也有支援 phpMyAdmin,底下是 2.5.10 支援的套件:

* Apache 2.2.8 * PHP 5.2.6 * MySQL 5.0.51b * phpMyAdmin-2.10.3 今天要安裝 pear 的套件在 Windows 上面,不過不用緊張,因為 Appserv 已經把 Pear 的模組包進來裡面了,只要執行 .bat 檔,按照視窗,就可以完成安裝了,自己平常有用 Pear 的 HTTP_Upload 多重檔案上傳 Multiple files upload,跟 PEAR - PHP Mail and Mail_Mime 模組,底下就是 Windows 的安裝方法:

[Read More]
PEAR  php 

PHP 5.2.9 Released!

PHP 在官網時間 26-Feb-2009 發佈 PHP 5.2.9 Released,這次的 Release 主要是在改善安全性跟修正超過 50 bug list,最主要的安全性修正如下: Security Enhancements and Fixes in PHP 5.2.9: * Fixed security issue in imagerotate(), background colour isn’t validated correctly with a non truecolour image. Reported by Hamid Ebadi, APA Laboratory (Fixes CVE-2008-5498). (Scott) * Fixed a crash on extract in zip when files or directories entry names contain a relative path. (Pierre) * Fixed explode() behavior with empty string to respect negative limit. [Read More]
php 

[FreeBSD] 利用 portmaster 升級 PHP 5.26 -> 5.28

之前在 大神 那邊看到一篇 升級 PHP 5.2.8 的一些小細節,就來把我的機器升級一下,發現 php 5.2.7 之後已經把 pcre extension 納入在裡面,參考 /usr/ports/UPDATING 裡面的  20081211 這個項目,可以利用 portupgrade 或者是 portmaster 來升級,之前都是利用 ruby 寫的 portupgrade 來升級系統或者是更新安全性,現在利用 portmaster 這一套也是不錯用,portmaster 是用 sh 寫出來的,在 gslin 大神這一篇:portupgrade、portmaster、portconf 說到速度方面比 portupgrade 還要好,這我沒有實際測試過,自己在實際用了一下,還蠻方便的。 安裝 portmasterportconf 搭配:

cd /usr/ports/ports-mgmt/portconf
make install clean
cd /usr/ports/ports-mgmt/portmaster
make install clean
[Read More]

[PHP]製作類似 google 網頁認證碼

我在 網站製作學習誌 發現一篇 [Web] 連結分享 裡面有一篇:用php做出類似Google的字詞驗證圖片,這一篇寫的不錯,跟我之前寫的一篇:[PHP] 好用的留言板 驗證碼 功能,驗證碼的強度還要更好,畢竟這樣比較不會被破解,然而這篇加上許多干擾的驗證,也選用了比較複雜的字型來提供給網站驗證部份,在 google 的登入系統部份,剛開始都是給使用者方便,不會跑出驗證碼的部份,可是只要輸入幾次錯誤的帳號密碼之後,google 的驗證碼就會跑出來了,而這個很類似 google 的驗證碼提供給大家使用,當然也感謝原作者,因為在Google字詞驗證與 CAPTCHA 都已經相繼被破解,這消息我不知道從哪裡來的,在 這裡 有提到,詳細情祥可能要網路查查了 那在這個 php class 說明以及 code 如下,相信都寫的很清楚: html 認證部份:




Type the characters you see in the picture below. 
點此刷新驗證碼
[Read More]
php 

[PHP] 設定 session 的過期時間 & 暫存檔過多

目前在 PHP 網站裡面,大部分的網站都是利用 session 的技術來達到驗證使用者帳號密碼,那 PHP 預設 SESSION 是把他寫入檔案,那 Linux 底下會放在 /tmp 裡面,你會發現網站越多人,裡面檔案就會越多,一串亂碼的檔案 sess_*,那底下是可以寫在程式裡面設定多久可以刪除這些過期的 Session 檔案 底下轉貼自:Cross-Browser Session Starter

 
[Read More]
php