douxia6163 2016-05-18 07:53
浏览 1948
已采纳

PHP Laravel:如何获取客户端浏览器/设备?

I'm building a laravel application where I want to keep track of client browser details such as browser name. How do I do it using Laravel ?

public function postUser(Request $request)
    {        
            $user = new User();                                 
            $user->name = $request->Input(['name']);           
            $device=   $request->header('User-Agent');
            dd($device);
            $user->save();            
            return redirect('userSavePage');          
    }

I have used this $device= $request->header('User-Agent'); But while I dd() the output I get something Like this:

"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"

How do I get actual browser details?

  • 写回答

4条回答 默认 最新

  • doukanmang3687 2016-05-18 08:22
    关注

    First add the package to your composer:

    {
        "require": {
            "hisorange/browser-detect": "2.*" // For laravel 5.* versions
            "hisorange/browser-detect": "1.*" // For laravel 4.* versions
        }
    }
    

    After the composer update/install add the service provider to your app.php:

    'providers' => array(
        // ...
        'hisorange\BrowserDetect\Provider\BrowserDetectService',
        // ...
    )
    

    Add the alias to the aliases in your app.php:

    'aliases' => array(
        // ...
        'BrowserDetect' => 'hisorange\BrowserDetect\Facade\Parser',
    )
    

    You must use personal configurations, just publish the package's configuration files, (plugins.php also published with this)

    php artisan vendor:publish
    

    You can get result informations by simply call on the facade.

    // You can always get the result object from the facade if you wish to operate with it.
    BrowserDetect::detect(); // Will resolve and return with the 'browser.result' container.
    
    // Calls are mirrored to the result object for easier use.
    BrowserDetect::browserVersion(); // return '3.6' string.
    
    // Supporting human readable formats.
    BrowserDetect::browserName(); // return 'Firefox 3.6' string.
    
    // Or can be objective.
    BrowserDetect::browserFamily(); // return 'Firefox' string.
    

    For details: https://github.com/hisorange/browser-detect

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?