架設網站又不想自己管理主機~遠振租用虛擬主機也不錯

架設網站除了自己架設主機外,還有一種方式是租用主機(虛擬主機、雲端主機….)。尤其遇到像筆者一樣比較想專心在程式上的人(明明就是懶)。或是一開始流量小的網站都可以考慮用這樣的方式。

筆者自己倒是喜歡用遠振資訊的主機服務架設網站,目前遠振有推出雲端主機服務的方案。朋友們可以參考看看!

官方網站: 遠振資訊

遠振資訊有限公司

 

PHP產生透明的png縮圖

二個重點函數
imagealphablending($thumb,false)
imagesavealpha($thumb,true);

[php]
function pngthumb($sourePic,$smallFileName,$width,$heigh){
$image=imagecreatefrompng($sourePic);//PNG
imagesavealpha($image,true);
$BigWidth=imagesx($image);
$BigHeigh=imagesy($image);
$thumb = imagecreatetruecolor($width,$heigh);
imagealphablending($thumb,false);
imagesavealpha($thumb,true);
if(imagecopyresampled($thumb,$image,0,0,0,0,$width,$heigh,$BigWidth,$BigHeigh)){
imagepng($thumb,$smallFileName);}
return $smallFileName;
}
[/php]

功能完整的純文字編輯器Notepad++

Notepad++是壽山最常拿來編輯PHP、HTML、CSS、JavaScript的文字編輯器。

這套軟體也算是台灣之光,是由台灣人侯今吾基於Scintilla編輯元件所撰寫出來的!在功能上可以取代系統內附較陽春的記事本(Notepad),也可以解決無法打開超過64K檔案以及支援Unicode,在中文搜尋、取代也做的很好!也提供程式語言上色以及高亮功能。真的是原始碼編輯的好幫手!

延伸閱讀:

Notepad++ 官網

Scintilla

 

PHP ord()函數utf8問題

早上在寫註冊機程式,不過遇到php的ord函數遇到utf8時無法運作的冏境。
找到了一個解決方式,另外寫了一個delphi xe5的ord函數比對確定無誤。

來源: phpkode

[php]
function utf8_ord($chr) {
$ord0 = ord($chr);
if ( $ord0 >= 0 && $ord0 <= 127 ) {
return $ord0;
}
if ( !isset($chr{1}) ) {
trigger_error(‘Short sequence – at least 2 bytes expected, only 1 seen’);
return FALSE;
}
$ord1 = ord($chr{1});
if ( $ord0 >= 192 && $ord0 <= 223 ) {
return ( $ord0 – 192 ) * 64
+ ( $ord1 – 128 );
}
if ( !isset($chr{2}) ) {
trigger_error(‘Short sequence – at least 3 bytes expected, only 2 seen’);
return FALSE;
}
$ord2 = ord($chr{2});
if ( $ord0 >= 224 && $ord0 <= 239 ) {
return ($ord0-224)*4096
+ ($ord1-128)*64
+ ($ord2-128);
}
if ( !isset($chr{3}) ) {
trigger_error(‘Short sequence – at least 4 bytes expected, only 3 seen’);
return FALSE;
}
$ord3 = ord($chr{3});
if ($ord0>=240 && $ord0<=247) {
return ($ord0-240)*262144
+ ($ord1-128)*4096
+ ($ord2-128)*64
+ ($ord3-128);

}

if ( !isset($chr{4}) ) {
trigger_error(‘Short sequence – at least 5 bytes expected, only 4 seen’);
return FALSE;
}
$ord4 = ord($chr{4});
if ($ord0>=248 && $ord0<=251) {
return ($ord0-248)*16777216
+ ($ord1-128)*262144
+ ($ord2-128)*4096
+ ($ord3-128)*64
+ ($ord4-128);
}

if ( !isset($chr{5}) ) {
trigger_error(‘Short sequence – at least 6 bytes expected, only 5 seen’);
return FALSE;
}
if ($ord0>=252 && $ord0<=253) {
return ($ord0-252) * 1073741824
+ ($ord1-128)*16777216
+ ($ord2-128)*262144
+ ($ord3-128)*4096
+ ($ord4-128)*64
+ (ord($c{5})-128);
}

if ( $ord0 >= 254 && $ord0 <= 255 ) {
trigger_error(‘Invalid UTF-8 with surrogate ordinal ‘.$ord0);
return FALSE;
}

}
[/php]

免費Bootstrap管理介面後台模板

網站不可或缺的就是後台程式,不過後台其實不用像前台如此麻煩,我都喜歡直接找現成的使用,這邊就跟大家分享我喜歡用的二種基於bootstrap的後台模板,提供大家做為參考選用!

Metis

網址:http://demo.onokumus.com/metis/index.html

Metis-admin-templates-bootstrap

charisma

網址:http://usman.it/themes/charisma/

charisma-admin-templates-bootstrap

 

PHP設定Session時間

ini_set('session.cookie_lifetime', 0);
來源 Cross-Browser Session Starter
[php]
<?php

// $expire = the time in seconds until a session have to expire
function start_session($expire = 0) {
if ($expire == 0) {
$expire = ini_get("session.gc_maxlifetime");
} else {
ini_set("session.gc_maxlifetime", $expire);
}
if (empty($_COOKIE['PHPSESSID'])) {
session_set_cookie_params($expire);
session_start();
} else {
session_start();
setcookie("PHPSESSID", session_id(), time() + $expire);
}
}
// this example will start a session with an expire time given by the php configuration
start_session();
// start_session(600) will start a session which will expire after 10 minutes (60*10 seconds)
?>
[/php]

MAMP- Mac上架設Apache、MySQL、PHP的好工具

MAMPWindows架設Apache、MySQL、PHP的環境主要是使用Appserv或可以直接解壓縮執行的XAMPP,雖然XAMPP也提供在Mac上安裝,不過似乎不是很穩定(也許是因為跨平台的關係吧)。anyway~在Mac上架設Apache、MySQL、PHP難道就要一個個安裝?

終於找到了MAMP這個簡單的懶人包!而且還是全圖形介面~

螢幕快照 2013-11-01 上午9.35.27

安裝完成後,可以在應用程式看到WAMP及WAMP PRO(付費版本)的資料夾,我們點開WAMP資料夾下面的WAMP應用程式。

螢幕快照 2013-11-01 上午9.35.47

接著會詢問你要開啟的是免費版本或付費版本,我們點Launch MAMP

 

螢幕快照 2013-11-01 上午9.36.00

打開之後,點選Start Servers讓Apache Server、MySQL Server亮綠燈

螢幕快照 2013-11-01 上午9.36.49

按Open Start Page可以看到MAMP的首頁,就表示完成了!

就著我們點進Preferences看看

螢幕快照 2013-11-01 上午9.38.13

在Start/Stop可以選擇,打開(關閉)MAMP時是否自動開啟(關閉)Apache/MySQL伺服器、程式開啟時是否檢查開啟MAMP Pro、以及開啟程式是否自動開啟 Start page以及Start Page的位置。

螢幕快照 2013-11-01 上午9.38.37

這邊可以稍徵調整一下Port位置,apache為80,MySQL則是3306。

螢幕快照 2013-11-01 上午9.38.46

還可以選PHP版本

螢幕快照 2013-11-01 上午9.38.53

 

指定Apache Document Root。

MAMP圖形化且穩定可以減少開發上許多的不便,朋友們可以嘗試使用囉。

 

相關連結:
Appserv官網: http://www.appservnetwork.com

XAMPP官網: http://www.apachefriends.org/zh_tw/xampp.html

MAMP官網: http://www.mamp.info/en/index.html

 

CodeIgniter安裝

一直習慣使用純PHP寫程式,不過最近看到許多徵才網站都寫著會使用CodeIgniter框架更佳。於是就來學習使用看看,沒想到還真的簡單易用,分享給大家。

 

1. 到CodeIgniter官方網站下載(http://ellislab.com/codeigniter),或是目前台灣也有繁體中文網站(http://www.codeigniter.org.tw/)。

2.下載後解壓縮,只要上傳application、system二個目錄及index.php到主機即可。

3.確認上傳後,就可以看到Welcome to CodeIgniter!

CodeIgniter

4.恭禧您!已經踏入CodeIgniter了XDDD