PHP 偷偷更換 URL 的網域

現在租空間來放網站
是很普遍的事
可省下不少功夫
及一次管理多個網站
另外網域也能申請多個
都指向同一個網站

more

從一個 php 網頁去觸發另一個 php 網頁

最近被同事問到一個問題
"PHP 在網頁上能做到從一支程式去觸發另一支程式嗎?
最後這二支程式都是同時獨立運行"
因為之前有寫過 PHP 的多緒行緒
感覺上是沒問題
不過深入了解後發現
其實同事的目的不需要用到多執行緒
只要用 curl 再搭配其他的 trick 就行了
用到多執行緒有點大材小用又不好寫
加上他說在 windows 上的 PHP 沒有支援多執行緒(真是殘念)

more

PHP 處理中文字的切割,會有亂碼問題

從資料庫抓出資料時
常常會遇到取前幾個字就好
例如標題只抓前20個字
用 PHP 的 substr()
所分割出來的字串卻有亂碼
就可以用 mb_substr() 來解決

more

PHP 寫排程(ignore_user_abort)

排程是定時執行某個程式
例如寄送email、備份DB等等
如果用電腦系統來做這項工作是不難
linux有crontab
Windows有電腦排程
不過目前大部分的網站
檔案都是放在租用空間上
只開放執行php的權限
所以想寫一個類似排程的php程式
不依賴系統來執行例行性工作排程

more

PHP 自訂類別的建構子與解構子

平常用PHP開發網頁時
我並不常使用自訂類別
不過要將某個功能整理出來
就須要用到自訂類別來處理
像是登入機制、DB存取等等
統一去處理這些功能機制
提高程式的延展性
以便程式維護及擴充功能

more

PHP 接收 Flash 傳送的 ByteArray 資料存成圖檔

Flash將圖片用ByteArray型式傳給後端的PHP程式
Flash傳輸的contentType是設為 application/octet-stream
不過PHP只識別 application/x-www.form-urlencoded 的資料類型
用application/octet-stream的內容就必須用 $GLOBALS['HTTP_RAW_POST_DATA']
不能用POST方式來接收資料

more

PHP 時間函數 Date() 的時區差異

平常在使用時間函數date()時
都直覺地認為是取本機電腦上的時間
不過像php是可以指定時區
一般預設是UTC(協調世界時)
有時候會看到GMT(格林尼治標準時間)的字眼
查維基百科的結果:"現在的標準時間,是由原子鐘報時的協調世界時(UTC)"

more

Flash 呼叫 Webservice(AS-PHP-Talk – Client)

Flash使用AS-PHP-Talk套件
也滿方便的
匯入JSON、asphptalk類別後
參考example檔
很容易取得JSON資料

more

PHP 的 WebService(AS-PHP-Talk – Server)

原本在寫PHP的WebService
讓前端的Flash或網頁使用ajax的時候
都是單獨寫一支PHP檔案
而回傳的資料格式是XML、JSON、Text等等
不過有時候會發生一些bug
像是DB的字元跟XML有衝突
或是傳入值的檢查等等
總覺得少了完整的方案

more

PHP 產生縮圖

在上傳圖檔時
有些會需要順便產生縮圖
供瀏覽的時候使用
避免圖檔過大
以致影響瀏覽速度

more