CodeIgniter發送台灣簡訊範例

[php]
<?php
$username = "xxx"; // 帳號
$password = "xxx"; // 密碼
$mobile = "09xxxxxxxx"; // 電話
$message = "測試簡訊"; // 簡訊內容
$MSGData = "";

$msg = "username=".$username."&password=".$password."&mobile=".$mobile."&message=".urlencode($message)."&drurl=".urlencode("http://xxxx.com.tw/admin/drul/");
$num = strlen($msg);

// 打開 API 閘道
$fp = fsockopen ("api.twsms.com", 80);
if ($fp) {
$MSGData .= "POST /smsSend.php HTTP/1.1\r\n";
$MSGData .= "Host: api.twsms.com\r\n";
$MSGData .= "Content-Length: ".$num."\r\n";
$MSGData .= "Content-Type: application/x-www-form-urlencoded\r\n";
$MSGData .= "Connection: Close\r\n\r\n";
$MSGData .= $msg."\r\n";
fputs ($fp, $MSGData);
$Tmp ="";
// 取出回傳值
while (!feof($fp)) $Tmp.=fgets($fp,128);
$temp2 = explode(PHP_EOL, $Tmp);
// 關閉閘道
fclose ($fp);
/*
0 傳送完成:HTTP/1.1 200 OK
1 Date: Wed, 03 Jun 20xx 09:31:36 GMT
2 Server: Apache
3 X-Powered-By: PHP/5.2.12
4 Connection: close
5 Transfer-Encoding: chunked
6 Content-Type: text/html
7
8 51
9 <smsResp><code>00000</code><text>Success</text><msgid>188xxxx69</msgid></smsResp>
10 0
*/
$xml = simplexml_load_string($temp2[9]);
$xmldata = json_decode( json_encode($xml) , 1);
echo "傳送完成:".$Tmp."<br/>".$xmldata[‘msgid’];
} else {
echo "您無法連接 TwSMS API Server";
}
$this->load->view(‘welcome_message’,$data);

}

public function drul(){
$this->load->database();
$inputdata = $this->input->get(‘xml’);
$xml = simplexml_load_string($inputdata);
$xmldata = json_decode( json_encode($xml) , 1);
$arraystring =print_r($xmldata);
$this->msg=$arraystring;

$dbvalue = array(
‘sms_msg’=> $xmldata[‘msgid’]."status=".$xmldata[‘statustext’],
‘id’ =>$xmldata[‘code’],
‘ip’ => $this->input->ip_address(),
);
$this->db->insert(‘drul’,$dbvalue );
$data = array(
‘message’ => $xmldata[‘msgid’]
);
$this->load->view(‘welcome_message’,$data);
}
[/php]

CodeIgniter超簡易發信

[php]
$email_config = Array(
‘mailtype’ => ‘html’

);
$this->load->library(’email’,$email_config);
$this->email->from(‘superlevin@gmail.com’, ‘林壽山’); //寄件者
$this->email->to(‘123@gmail.com’); // 收件者
//$this->email->cc(‘123cc@gmail.com’); // 副本
//$this->email->bcc(‘123bcc@gmail.com’); // 密件副本

$this->email->subject(‘成功通知信’); // 主旨
$this->email->message(‘<b>報名成功</b>’); //內容
$this->email->send();
[/php]

CodeIgniter解決CSS路徑問題

使用CodeIgniter撰寫網頁很方便,不過會遇到的問題常常是css、image的路徑問題。
除了使用絕對路徑外,也可以使用HTML base Tag來指定基準的URL。
[php]
// 記得要load helper url
$this->load->helper(‘url’);
// 在 view 中的HTML加上
<base href="<?php echo base_url();?>"/>
[/php]

美安Shop.com夥伴商店網站串接方式

美安原本是一家蠻有歷史的直銷公司,後來買下Shop.com後變成了世界知名網路購物網站。而最有亮點的大概是現金回饋方式。

舉個例子:你到良興購物網(EcLife)買電競滑鼠990元,直接連進去的話,他標990元,你就要買990元。

不過透過Shop.com的夥伴商店連結,可以給你2%的現金回饋,也就是990的電競滑鼠可以省下19.8元。

或是到華航買機票也是有2%的現金回饋~

如何讓你架設的網站,也能與美安串接呢?

1) 訂單新增一個欄位 RID VARCHAR(255)

2) 從夥伴商店連接進來的網址大概長得像 http://www.eclife.com.tw/index.aspx?RID=C1234567-u2687516322-v247163

3) 後面的RID就是我們要的,把它記錄起來(丟到COOKIE或是塞進input)
[php]
setcookie("SHOPCOMRID", $_GET[‘RID’]);
if(isset($_COOKIE[‘SHOPCOMRID’]))
{
$RID = $_COOKIE[‘SHOPCOMRID’];
}
[/php]

4) 最後每個月要出報表
1.交易日期
2.訂單編號(自訂/唯一值)
3.買家姓名
4.RID編號
5.產品名稱/代碼
6.網站零售價格
7.佣金金額(例:網站零售價格*2%)

學習PHP經典電子書PHP: the Right Way繁體中文版

Laravel台灣社群昨天發了則訊息,宣佈PHP: the Right Way這本經典的PHP學習電子書「在社群朋友眾人之努力下,已經翻譯完成、整併回官方上線啦!」

PHP: The Right Way線上閱讀
http://laravel-taiwan.github.io/php-the-right-way/

Mac安裝laravel

  • 終端機輸入下列指令取得最新版本composer
  • curl -sS https://getcomposer.org/installer | php
  • 接著輸入下面指令讓終端機能直接執行
  • mv composer.phar /usr/local/bin/composer
  • 到MAMP下載安裝(http://www.mamp.info)
  • cd /Applications/MAMP/htdocs/
  • composer create-project laravel/laravel laraveltest
  • 會出現沒有安裝mcrypt,在mac是由於mac預設的版本跟MAMP不同
  • 看一下mamp的PHP版本
  • cd –
  • nano .bash_profile
  • 加上 export PATH=/Applications/MAMP/bin/php/php5.5.3/bin/:$PATH
  • 重新建立專案

取得vine影片的og:image方式


Youtube影片在分享時,是很有規則的縮圖
http://img.youtube.com/vi/VIDEO_ID/#.jpg
0.jpg (預設)480×360
1.jpg 第一張縮圖
2.jpg 第二張縮圖
3.jpg 第三張縮圖
以及依品質的縮圖
default.jpg
hqdefault.jpg
mqdefault.jpg
sddefault.jpg
maxresdefault.jpg
不過vine沒有這樣的規則,所以只好自己抓取影片頁面裡的og:image了!
建立一個 get_vine_thumbnail.php

function get_vine_thumbnail($id){
	$vine = file_get_contents("https://vine.co/v/{$id}");
	preg_match('/property="og:image" content="(.*?)"/', $vine, $matches); 
	return ($matches[1]) ? $matches[1] : false;
}
$id1 = $_GET['id'];
header('Content-type: image/jpeg');  
$image = imagecreatefromjpeg(get_vine_thumbnail($id1));  
imagejpeg($image); 

使用時就是 get_vine_thumbnail.php?id=xxxx就可以了!

相關連結:
https://developers.google.com/youtube/v3/

http://stackoverflow.com/questions/2068344/how-do-i-get-a-youtube-video-thumbnail-from-the-youtube-api

https://developers.google.com/youtube/2.0/developers_guide_php?csw=1

CodeIgniter學習筆記 – 安裝

主站(英文)中文站下載CodeIgniter_x.x.x.zip,解壓縮將index.php及application、system二個目錄上傳到主機。

1.為了安全性,建議把application、system二個目錄移到系統目錄

但需要修改 index.php

$system_path = ‘system’;

$application_folder = ‘application’;

2.如果需要資料庫設定,修改application\config\database.php

$db[‘default’][‘hostname’] = ‘localhost’;
$db[‘default’][‘username’] = ”;
$db[‘default’][‘password’] = ”;
$db[‘default’][‘database’] = ”;

如果沒有問題的話就可以看到下面的頁面。

Welcome to CodeIgniter

 

 

 

 

 

相關連結:

CodeIgniter on GitHub

CodeIgniter手冊(英文)

CodeIgniter手冊(中文)

CodeIgniter論壇(英文)

CodeIgniter論壇(中文)

想當Hacker就來學學FB新語言Hack

facebook_hack

facebook在2011年開放HipHop Virtual Machine(HHVM)的原始碼後,在昨天釋出了為HHVM所設計的精簡版PHP「Hack」。Hack結合PHP快速開發及Java、Python等語言的優點於一身,是目前Facebook各網站的主要語言。

Facebook開發人員 https://developers.facebook.com/

Hack 官網 http://hacklang.org/

HHVM 官網 http://hhvm.com/