2017-06-02 57 views
2

我想在PHP(Codeingiter)中獲取訪問者的操作系統。我試過https://github.com/serbanghita/Mobile-Detect。它在70%的時間內爲我工作。但它仍然沒有準確檢測。移動設備或平板電腦未檢測到大量Android流量。在PHP中確定訪問者的操作系統

+0

使用PHP或JavaScript,您可以看到訪問者的用戶代理。在PHP中,您可以執行以下操作:$ _SERVER ['HTTP_USER_AGENT']。 –

+0

我試過一個圖書館也是這樣做的。但沒有得到... –

回答

3

沒有準確的方法通過php或任何其他服務器語言檢測操作系統。

這種檢測通常依賴於瀏覽器代理,但它可能是假的,大部分時間都沒有足夠的信息。

+0

我做了1個實驗。我把goo.gl網址,而不是我原來的網址。然後,我可以看到他們正在完美地跟蹤操作系統,而無需使用Javascript –

+0

我根據設備類型將訪問者重定向到外部網站。這些網站也檢測到這些設備類型爲移動,而沒有JavaScript代碼。 –

1

您必須添加檢查如iPad和其他人,我錯過了其他設備......

$hua = filter_input(INPUT_SERVER, 'HTTP_USER_AGENT'); 
$os = 'I have no idea...'; 

if(preg_match('/android/i', $hua)) { 
    $os = 'Android'; 
} elseif (preg_match('/linux/i', $hua)) { 
    $os = 'Linux'; 
} elseif (preg_match('/iphone/i', $hua)) { 
    $os = 'iPhone'; 
} elseif (preg_match('/macintosh|mac os x/i', $hua)) { 
    $os = 'Mac'; 
} elseif (preg_match('/windows|win32/i', $hua)) { 
    $os = 'Windows'; 
} 
echo $os; 
+0

親愛的朋友,我之前和之後都用同樣的方式來到圖書館。查看UA https://github.com/serbanghita/Mobile-Detect/issues/662。這一個是指Android操作系統。 –

+0

它不可能通過.htaccess來完成。我必須通過php頁面本身重定向它們。由於重定向網址是動態的 –

0

用戶代理類庫CI中提供的功能來進行你的任務。 您可以在這裏找到更多關於它們的詳細信息: User Agent Class Library

具體查找platform()函數來檢測訪問者的操作系統。

+0

我在代碼中使用了相同的...仍然通過傳遞......此外,這個庫不是100%可信賴的。我可以看到這個圖書館沒有正確地檢測到bot流量。 –

相關問題