請直接前往參閱
http://www.codedata.com.tw/uncategorized/php-laravel-dev-tutorial-2-class-configuration-structure/
2017年5月9日 星期二
PHP Laravel 開發入門(一) - 環境建置
系統需求
由於Laravel會使用到許多PHP的特殊功能,甚至會使用到新的PHP版本中特性,所以在學習Laravel前需注意相關設定及環境需求。
以上需求為Laravel 5.3
PHP >= 5.6.4
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
XML PHP Extension
另外還需要安裝Composer這個工具,Composer是一個PHP依賴性管理工具。透過宣告專案需要的依賴函式庫,能在專案中安裝/管理/更新這些套件。
安裝
一、安裝Apache、MySQL、PHP環境
為了能快速的撰寫程式,(修改者:林壽山)在 Github上已經整理出一個適合開發 Laravel 的XAMPP 環境。我們進到 https://github.com/superlevin/xamppforlaravel 點選 Clone or Download 後按 Download ZIP。
下載後,解壓縮到d:\xampp就可以運作了。執行 xampp-control 後,開啟相關服務即可。
二、安裝 composer,到 https://getcomposer.org/download/ 下載 Composer-Setup.exe。
安裝時,將PHP路徑指向 c:\xampp\php.exe
三、進入終端機模式(開始→執行 cmd),然後設定php到系統變數
set PATH=%PATH%;c:\xampp\php
四、新增Laravel專案,進入終端機模式(開始→執行 cmd)
進入d:\xampp\htdocs目錄,輸入 composer create-project laravel/laravel nttu-test --prefer-dist
會建立目錄 nttu-test
最後看到 Application key 就代表完成了!
Application key [...................................................] set successfully.
執行以下網址就會看到執行畫面了:
http://localhost/nttu-test/public/
參考網址來源:
http://www.codedata.com.tw/uncategorized/php-laravel-dev-tutorial-1st-class-getting-started
由於Laravel會使用到許多PHP的特殊功能,甚至會使用到新的PHP版本中特性,所以在學習Laravel前需注意相關設定及環境需求。
以上需求為Laravel 5.3
PHP >= 5.6.4
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
XML PHP Extension
另外還需要安裝Composer這個工具,Composer是一個PHP依賴性管理工具。透過宣告專案需要的依賴函式庫,能在專案中安裝/管理/更新這些套件。
安裝
一、安裝Apache、MySQL、PHP環境
為了能快速的撰寫程式,(修改者:林壽山)在 Github上已經整理出一個適合開發 Laravel 的XAMPP 環境。我們進到 https://github.com/superlevin/xamppforlaravel 點選 Clone or Download 後按 Download ZIP。
下載後,解壓縮到d:\xampp就可以運作了。執行 xampp-control 後,開啟相關服務即可。
二、安裝 composer,到 https://getcomposer.org/download/ 下載 Composer-Setup.exe。
安裝時,將PHP路徑指向 c:\xampp\php.exe
三、進入終端機模式(開始→執行 cmd),然後設定php到系統變數
set PATH=%PATH%;c:\xampp\php
四、新增Laravel專案,進入終端機模式(開始→執行 cmd)
進入d:\xampp\htdocs目錄,輸入 composer create-project laravel/laravel nttu-test --prefer-dist
會建立目錄 nttu-test
最後看到 Application key 就代表完成了!
Application key [...................................................] set successfully.
執行以下網址就會看到執行畫面了:
http://localhost/nttu-test/public/
參考網址來源:
http://www.codedata.com.tw/uncategorized/php-laravel-dev-tutorial-1st-class-getting-started
2017年4月27日 星期四
eclipse 中文化
Eclipse for PHP Developers:
http://www.eclipse.org/downloads/packages/eclipse-php-developers/neon3
Eclipse IDE for JavaScript Web Developers:
http://www.eclipse.org/downloads/packages/eclipse-ide-javascript-web-developers/indigosr2
eclipse 語言包:http://www.eclipse.org/babel/downloads.php
Installing the language packs (安裝語言包流程)
Open the install wizard with 'Help' > 'Install new software...'
Add the Babel p2 repository: http://download.eclipse.org/technology/babel/update-site/R0.14.1/neon
Select/install your language pack of choice
Restart Eclipse and you should get a translated Eclipse
一、安裝
Eclipse for PHP Developers (PHP 開發 IDE)
~目錄設為 eclipse_php
~工作目錄設為 C:\Users\wengw\workspace_php
Eclipse IDE for JavaScript Web Developers (JavaScript Web 開發 IDE)
~目錄設為 eclipse_javascript
~工作目錄設為 C:\Users\wengw\workspace_javascript
二、安裝中文語言包
點選上方工具列 Help -> Install new software...
Work with:http://download.eclipse.org/technology/babel/update-site/R0.14.1/neon
點選 Add...
Name:中文語言包
點選 OK
稍等一下..........會列出很多語言包
尋找 [Chinese (Traditional)],勾選此項
點選 Next 2次
選擇 I accept the terms of the ................
點選 Finish
安裝中...............
出現警告,點選 OK
重新啟動 Eclipse ,就是中文的了!^_^
http://www.eclipse.org/downloads/packages/eclipse-php-developers/neon3
Eclipse IDE for JavaScript Web Developers:
http://www.eclipse.org/downloads/packages/eclipse-ide-javascript-web-developers/indigosr2
eclipse 語言包:http://www.eclipse.org/babel/downloads.php
Installing the language packs (安裝語言包流程)
Open the install wizard with 'Help' > 'Install new software...'
Add the Babel p2 repository: http://download.eclipse.org/technology/babel/update-site/R0.14.1/neon
Select/install your language pack of choice
Restart Eclipse and you should get a translated Eclipse
一、安裝
Eclipse for PHP Developers (PHP 開發 IDE)
~目錄設為 eclipse_php
~工作目錄設為 C:\Users\wengw\workspace_php
Eclipse IDE for JavaScript Web Developers (JavaScript Web 開發 IDE)
~目錄設為 eclipse_javascript
~工作目錄設為 C:\Users\wengw\workspace_javascript
二、安裝中文語言包
點選上方工具列 Help -> Install new software...
Work with:http://download.eclipse.org/technology/babel/update-site/R0.14.1/neon
點選 Add...
Name:中文語言包
點選 OK
稍等一下..........會列出很多語言包
尋找 [Chinese (Traditional)],勾選此項
點選 Next 2次
選擇 I accept the terms of the ................
點選 Finish
安裝中...............
出現警告,點選 OK
重新啟動 Eclipse ,就是中文的了!^_^
2017年4月13日 星期四
XAMPP 安裝 mqtt Server
rsmb-mqtt-php
在Windows xp / 7/8中使用RSMB實現MQTT協議
=============
逐步使用“真正的小消息代理”使用php實現MQTT協議的指南
設置PHP:
1-安裝wamp或xampp
2-啟用一個名為“php_sockets”的php擴展名
設置RSMB:
1-從IBM網站下載最新的RSMB安裝文件
2-下載後,轉到RSMB下載的文件夾並運行broker.exe
現在,MQTT服務器已啟動
4-您將看到一個控制台,這將顯示服務器上的每個活動
5-不要關閉此控制台,否則將停止MQTT服務器
設置發布者/訂閱者
1-在根目錄中創建名為“mqtt_test”的新文件夾(在wamp的情況下,根目錄為“C:\ wamp \ www”)
2-下載phpMQTT.php並將其粘貼到mqtt_test文件夾中
3-下載publisher.php並將其粘貼到mqtt_test文件夾中
4-下載subscriber.php並將其粘貼到mqtt_test文件夾中
5-打開網絡瀏覽器
6在Web瀏覽器中打開兩個空標籤
7-在第一個選項卡中,打開此網址http://localhost/mqtt_test/subscriber.php
8-在第二個選項卡中,打開此url http://localhost/mqtt_test/publisher.php
最終結果
當你打開subscriber.php,這意味著你訂閱一個主題的服務器。
然後,當您打開publisher.php時,這意味著您發布帶有消息的主題。
RSMB將向您訂閱此主題的所有訂閱者發布您的主題/消息。
在我們的例子中,我們訂閱了subscriber.php,所以,subscriber.php將繼續加載,直到它收到來自RSMB的消息。
如果您打開publisher.php長時間延遲,您將看不到任何結果,因為在完成排除$ mqtt-> proc()之後,subscriber.php將停止執行。
如果您打開publisher.php immediatley,那麼您將可以在subscriber.php上查看結果
相關網址:https://github.com/yasiralijaved/rsmb-mqtt-php
相關網址:https://github.com/yasiralijaved/rsmb-mqtt-php
2017年3月31日 星期五
php身份證字號驗證

由上圖身份證字號先來看一下身份證的驗證公式:
戶籍代表的字母:
A台北市 B台中市 C基隆市 D台南市 E高雄市 F台北縣 G宜蘭縣 H桃園市 I嘉義市 J新竹縣
K苗栗縣 L台中縣 M南投縣 N彰化縣 O新竹市 P雲林縣 Q嘉義縣 R台南縣 S高雄縣 T屏東縣
U花蓮縣 V台東縣 W金門縣 X澎湖縣 Y陽明山 Z連江縣
A台北市 B台中市 C基隆市 D台南市 E高雄市 F台北縣 G宜蘭縣 H桃園市 I嘉義市 J新竹縣
K苗栗縣 L台中縣 M南投縣 N彰化縣 O新竹市 P雲林縣 Q嘉義縣 R台南縣 S高雄縣 T屏東縣
U花蓮縣 V台東縣 W金門縣 X澎湖縣 Y陽明山 Z連江縣
英文字母代表的數字:
A=10 B=11 C=12 D=13 E=14 F=15 G=16 H=17 I=34 J=18 K=19 L=20 M=21 N=22 O=35 P=23 Q=24 R=25 S=26 T=27 U=28 V=29 W=32 X=30 Y=31 Z=33
A=10 B=11 C=12 D=13 E=14 F=15 G=16 H=17 I=34 J=18 K=19 L=20 M=21 N=22 O=35 P=23 Q=24 R=25 S=26 T=27 U=28 V=29 W=32 X=30 Y=31 Z=33
性別代表的數字:
1 ==> 男性
2 ==> 女性
1 ==> 男性
2 ==> 女性
檢查步驟:
1、查出英文字所代表的數字,再將所查出的數字 "十位數+個位數x9"
例: 台北市=10 => 1 + 0x9 =1 台中市=11 => 1 + 1x9 =10
1、查出英文字所代表的數字,再將所查出的數字 "十位數+個位數x9"
例: 台北市=10 => 1 + 0x9 =1 台中市=11 => 1 + 1x9 =10
2、N2x8+N3x7+N4x6+N5x5+N6x4+N7x3+N8x2+N9+N10
將流水碼依序乘8765432,一個個乘,乘完要相加起來(別忘了先乘除後加減)
例: 123456789 => 1x8+2x7+3x6+4x5+5x4+6x3+7x2+8+9
將流水碼依序乘8765432,一個個乘,乘完要相加起來(別忘了先乘除後加減)
例: 123456789 => 1x8+2x7+3x6+4x5+5x4+6x3+7x2+8+9
3、將步驟1 和步驟2 的兩個數加起來除以10
例: 步驟1 台北計算結果 =1
步驟2 1x8+2x7+3x6+4x5+5x4+6x3+7x2+8+9 =129
除10後看看是否可以整除,如可以整除即為正確的身份證字號
如無法整除即是錯誤的身份證字號
(1+129)/10 = 13 => 可以整除,正確!
例: 步驟1 台北計算結果 =1
步驟2 1x8+2x7+3x6+4x5+5x4+6x3+7x2+8+9 =129
除10後看看是否可以整除,如可以整除即為正確的身份證字號
如無法整除即是錯誤的身份證字號
(1+129)/10 = 13 => 可以整除,正確!
依照上面公式,小學生寫了一個簡單的函數,初學者可以參考看看,使用的都是一些簡單的指令:
台灣身份證驗證函數
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
<?PHP
function id_card($cardid){
$err ='';
//先將字母數字存成陣列
$alphabet =['A'=>'10','B'=>'11','C'=>'12','D'=>'13','E'=>'14','F'=>'15','G'=>'16','H'=>'17','I'=>'34',
'J'=>'18','K'=>'19','L'=>'20','M'=>'21','N'=>'22','O'=>'35','P'=>'23','Q'=>'24','R'=>'25',
'S'=>'26','T'=>'27','U'=>'28','V'=>'29','W'=>'32','X'=>'30','Y'=>'31','Z'=>'33'];
//檢查字元長度
if(strlen($cardid) !=10){$err = '1';}//長度不對
//驗證英文字母正確性
$alpha = substr($cardid,0,1);//英文字母
$alpha = strtoupper($alpha);//若輸入英文字母為小寫則轉大寫
if(!preg_match("/[A-Za-z]/",$alpha)){
$err = '2';}else{
//計算字母總和
$nx = $alphabet[$alpha];
$ns = $nx[0]+$nx[1]*9;//十位數+個位數x9
}
//驗證男女性別
$gender = substr($cardid,1,1);//取性別位置
if($gender !='1' && $gender !='2'){$err = '3';}//驗證性別
//N2x8+N3x7+N4x6+N5x5+N6x4+N7x3+N8x2+N9+N10
if($err ==''){
$i = 8;
$j = 1;
$ms =0;
//先算 N2x8 + N3x7 + N4x6 + N5x5 + N6x4 + N7x3 + N8x2
while($i >= 2){
$mx = substr($cardid,$j,1);//由第j筆每次取一個數字
$my = $mx * $i;//N*$i
$ms = $ms + $my;//ms為加總
$j+=1;
$i--;
}
//最後再加上 N9 及 N10
$ms = $ms + substr($cardid,8,1) + substr($cardid,9,1);
//最後驗證除10
$total = $ns + $ms;//上方的英文數字總和 + N2~N10總和
if( ($total%10) !=0){$err = '4';}
}
//錯誤訊息返回
switch($err){
case '1':$msg = '字元數錯誤';break;
case '2':$msg = '英文字母錯誤';break;
case '3':$msg = '性別錯誤';break;
case '4':$msg = '驗證失敗';break;
default:$msg = '驗證通過';break;
}
echo '身份字號:'.$cardid.'<br />';
echo $msg;
}
|
調用函數方式:
id_card('身份證字號');
如:
id_card('A100020001');
其實上面的代碼中的 $alphabet 陣列值,你也可以直接把兩位數字加起的數據,放在陣列值的位置,如此就可省略掉一些程式碼,上面程式小學生是為了讓你更能理解步驟之程序,程式的代碼,其實可有很多種變化及精簡,等你更加有經驗後,請試著自己創作囉。
提示:
$alphabet =['A'=>'10','B'=>'11','C'=>'12','D'=>'13','E'=>'14',.....
可改成直接使用總和值
$alphabet =['A'=>'1','B'=>'10','C'=>'19','D'=>'28','E'=>'37',..........
然後索引取出的值就是英文字的加總
A =10 總和 1 + 0x9 = 1
B =11 總和 1 + 1x9 = 10
C =12 總和 1 + 2x9 = 19D =13 總和 1 + 3x9 = 28
E = 14 總和 1 + 4x9 = 37
$alphabet =['A'=>'10','B'=>'11','C'=>'12','D'=>'13','E'=>'14',.....
可改成直接使用總和值
$alphabet =['A'=>'1','B'=>'10','C'=>'19','D'=>'28','E'=>'37',..........
然後索引取出的值就是英文字的加總
A =10 總和 1 + 0x9 = 1
B =11 總和 1 + 1x9 = 10
C =12 總和 1 + 2x9 = 19D =13 總和 1 + 3x9 = 28
E = 14 總和 1 + 4x9 = 37
寫法請自己修改看看囉 !小學生就不寫出代碼囉!
另外,網路上亦有其他作者有另外的函數供參考:
身份證驗證函數
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<?php
function is_tw_id($id) //驗證 身分證字號 格式
{
//建立字母分數陣列
$head = array('A'=>10,'B'=>11,'C'=>12,'D'=>13,'E'=>14,'F'=>15,
'G'=>16,'H'=>17,'I'=>34,'J'=>18,'K'=>19,'L'=>20,
'M'=>21,'N'=>22,'O'=>35,'P'=>23,'Q'=>24,'R'=>25,
'S'=>26,'T'=>27,'U'=>28,'V'=>29,'W'=>32,'X'=>30,
'Y'=>31,'Z'=>33);
//檢查身份字格式是否正確
if (ereg("^[A-Za-z][1-2][0-9]{8}$",$id)){
//切開字串
for($i=0; $i<10; $i++){
$idArray[$i] = substr($id,$i,1);
}
$idArray[0] = strtoupper($idArray[0]); //小寫轉大寫
//取得字母分數&建立加權分數
$a[0] = substr($head[$idArray[0]],0,1);
$a[1] = substr($head[$idArray[0]],1,1);
$total = $a[0]*1+$a[1]*9;
//取得數字分數&建立加權分數
for($j=1; $j<=8; $j++){
$total += $idArray[$j]*(9-$j);
}
//檢查比對碼
if($total%10 == 0) {
$checksum = 0;
} else {
$checksum = 10-$total%10;
}
if ($idArray[9] == $checksum) {
return true;
} else {
return false;
}
return false;
}
}
|
調用方式:
is_tw_id('身份證字號');
如:
is_tw_id('A100020001');
引用資料來源:https://scriptmarks.com/php身份證字號驗證/
訂閱:
文章 (Atom)
cas server 一直圈圈或取得狀態異常
重點: cas server 不能開 VPN,會造成取的來源 dns 異常,會一直轉圈圈或等很久。
-
LDAP Server 架好了,但要用指令新增、刪除、修改,快瘋了!>_< 後來發現居然有 GUI 介面的管理程式,以下簡列,未來會補上操作介面! 一、JXplorer – A Java Ldap Browser http://sourceforge.ne...
-
開啟(建立)檔案 fopen () :打開文件檔案或是 url 網址,如果打開失敗,函數返回 false 語法: fopen ( filename , mode , include_path , context ) 參數說明: file...
-
我在 SQL Server 2016 新增一個使用者,但我不想登入時變更密碼,並且關閉下面2個強制原則: □ 強制執行密碼原則 □ 強制執行密碼逾期 關閉時會出現下面錯誤訊息: 當MUST_CHANGE為ON時,CHECK_POLICY和CHECK_EXPIRA...
