2018年4月30日 星期一

laravel連不同資料庫 + mysql定時備份

定時備份請參考這個做法:
http://expect7.pixnet.net/blog/post/65167495

注意:可以手動匯出DB BackUP


使用Larvel可以連線不同DB 在app/config/database.php
設定不同連線

'mysql' => array(
'driver'    => 'mysql',
'host'      => 'localhost',
'database'  => 'white',
'username'  => 'xxxxxxxx',
'password'  => 'xxxxxxxx',
'charset'   => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix'    => '',
),
'mysql_player' => array(
'driver'    => 'mysql',
'host'      => 'localhost',
'database'  => 'player',
'username'  => 'xxxxxxxx',
'password'  => 'xxxxxxxx',
'charset'   => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix'    => '',
),


在程式當中使用連線可以做:

DB::connection('mysqlr')->table('white')->count(); 
DB::connection('mysql_player')->table('player')->count(); 











2018年4月7日 星期六

偵測使用裝置

偵測裝置有兩種做法:

1.jquery作法 : 使用navigator.userAgent

function get_device(){
    var ua = navigator.userAgent;
    var checker = {
      iphone: ua.match(/(iPhone|iPod|iPad)/),
      android: ua.match(/Android/)
    };
    if (checker.android){
        return "android";
    }
    else if (checker.iphone){
        return "iphone";
    }
    else {
        return "web";
    }   
}


2.PHP作法,使用mobile detect

參考說明:http://mobiledetect.net/

composer 下載指令:

composer require mobiledetect/mobiledetectlib


PHP範例:
$detect = new Mobile_Detect;

$deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer');

$scriptVersion = $detect->getScriptVersion();


echo "deviceType:".$deviceType."<br>";

echo "scriptVersion:".$scriptVersion."<br>";

echo "Iphone:".$detect->isIphone()."<br>";

echo "isAndroidOS".$detect->isAndroidOS()."<br>";

echo "isiOS".$detect->isiOS()."<br>";

// 注意

// $detect->isIphone()

// $detect->isAndroidOS()

// $detect->isiOS()

// 如果不符合則不會回傳任何資料,符合就會回傳1