[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]

[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]

[jQuery] Confirm Plugin 動態新增表單欄位

最近在實做多重檔案上傳,寫過一篇 [PHP] pear 模組 HTTP_Upload 多重檔案上傳 Multiple files upload,那一開始我先設定只能上傳5個檔案,後來想想動態的話比較方便,畢竟現在網站都講求 web2.0,所以就利用 jQuery 來動態新增 input file 欄位,作法其實很簡單,不難的喔。其實還有 jQuery Confirm Plugin 可以利用它來確定使用者是否刪除檔案。 之前介紹的上傳檔案 html 部份:

 
 
  
 
[Read More]

[PHP] 取得圖片大小長寬資訊

今天在 批踢踢實業坊 裡面的 PHP 版,看到有人問到如何取得圖片的資訊,例如:大小,長寬…等,那推文的幾乎都是推利用 PHP function GetImageSize,但是 buganini 版友推 imagemagick 裡面的 identify command line 這個功能,我覺得相當不錯, imagemagic convert 支援強大的轉圖功能,不只能壓縮圖片大小,也可以觀看圖片資訊,推薦給大家使用。

#
# 利用 identify 取得圖片大小及長寬
identify books.gif
books.gif GIF 54x54 54x54+0+0 PseudoClass 256c 8-bit 1.66211kb
php 

[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 

[PHP] 好用的留言板 驗證碼 功能

這算是大家都知道的技術了吧,因為說實在的,留言板惡意灌水實在是太容易了,就算是檔檔 referer 也是沒用,因為表頭可以自己偽造,那最好的方法就是用 PHP 驗證碼的機制,這個機制利用 GD 縮圖的部份,然後再把驗證數字存放在 SESSION 裡面,不過 PHPBB 的作法是存在 database 資料庫裡面進行比對,然後在 delete 該比資料,畢竟每個連線都有自己的 ssid 的值,所以這樣進行比對,我想是不錯的方法,也可以用在很多地方,那底下是我去 Jax 的工作紀錄 看到的一篇:PHP 驗證碼,拿過來筆記一下。 首先先去 Windows 底下的 Fonts 資料夾,選一個字型吧,因為裡面會用到喔,不然底下這一段 code 會用到

imagettftext($im, 20, 0, 25, 35, $Color,"arial.ttf",$verification__session);
/*
imagettftext (int im, int size, int angle,
int x, int y, int col,
string fontfile, string text)
im 圖片物件
size 文字大小
angle 0度將會由左到右讀取文字,而更高的值表示逆時鐘旋轉
x y 文字起始座標
col 顏色物件
fontfile 字形路徑,為主機實體目錄的絕對路徑,
可自行設定想要的字型
text 寫入的文字字串
*/
[Read More]