php
  • mobile
  • device-detection
  • 2014-10-01 2 views 2 likes 
    2

    PHP를 사용하여 장치의 디스플레이 해상도를 감지하는 사람들의 도움이 필요합니다.디스플레이 해상도 감지

    $_page="home"; 
    if(get('page')) 
        $_page=strtolower(get('page')); 
    // Check if larger than 800px screen will show this code. 
    $_pagePath='Includes/desktop/'.$_page.'_left.php'; 
    // Check if the screen is smaller than 800px will display this code. 
    $_pagePath='Includes/mobile/'.$_page.'_left.php'; 
    if(file_exists($_pagePath)) 
          include $_pagePath; 
    else 
        echo 'File '.$_pagePath.' not found'; 
    

    날이 코드를 마무리 도와주세요 : 나는 다음과 같은 코드가 인터페이스를 전환 할 때

    내 코드는 문제가있다.

    답변

    5

    PHP가 서버 기반이기 때문에 PHP로 화면 크기를 감지 할 수 없습니다. 그러나 자바 스크립트로 화면 크기를 감지하고 서버에 알릴 수 있습니다. 이것을 달성하는 가장 쉬운 방법은 쿠키를 설정하는 것입니다.

    너가 너비 또는 높이를 원한다고 말하지 않았기 때문에, 나는 너가 그 중 더 큰 것에 흥미가 있다는 것을 다음의 코드에서 가정한다.

    <script type="text/javascript"> 
        var c=document.cookie; 
        document.cookie='size='+Math.max(screen.width,screen.height)+';'; 
    </script> 
    

    그리고이 방법의 유일한 문제는 사용자가 처음 연결하면 그가 아직 쿠키가 없다는 것입니다

    if($_COOKIE["size"]>800) 
        $_pagePath='Includes/mobile/'.$_page.'_left.php'; 
    else 
        $_pagePath='Includes/desktop/'.$_page.'_left.php'; 
    

    으로 PHP 스크립트에서 확인, 그래서 서버는 해상도를 알 수 없습니다. 쿠키를 허용하지 않는 사용자에게도 동일하게 적용됩니다.

    +0

    고맙습니다. 하지만 모바일 장치에서 액세스 할 때 쿠키가 모바일 장치의 인터페이스를 표시하고 액세스 컴퓨터가 더 엄격한 방식으로 컴퓨터 인터페이스를 표시하는 방법을 개선하고 싶습니다. – user3463111

    +1

    클라이언트가 말하지 않으면 서버가 해상도를 알 수 없습니다. 그래서 가장 좋은 방법은 서버 측이 아닌 클라이언트 측에서 해상도 종속적 인 차이를 만드는 것입니다. 휴대 전화와 데스크톱 버전의 차이점을 모르겠지만 스타일이라면 클라이언트에 일반 버전을 제공하고 CSS Media 쿼리를 사용하여 해상도 http : // css를 기반으로 디자인을 변경할 수 있습니다. -tricks.com/css-media-queries/ – dingensundso

    +0

    안녕하세요,
    모바일 장치에서 표시되는 해상도 현재 크기가 800p 미만 이랍니다. 그것은 UI 디렉토리를 표시합니다 : Incluce/Mobile
    그리고 801px 크기로 가지고 싶은 컴퓨터의 해상도. UI 디렉토리가 표시됩니다. Incluce/Desktop

    감사합니다. – user3463111

    관련 문제