5

我有一个响应式网站,我需要一些 PHP 条件,具体取决于窗口宽度(或媒体查询)。

例子:

if ($window_width > 1400px) {
    echo 'Your window is wider than 1400px';
}

elseif ($window_width > 1000px) AND ($window_width < 1399px) {
    echo 'Your window is between 1000px and 1399px';
}

else {
    echo 'Your window is narrower than 1000px.';
}

谢谢你的帮助!

4

5 回答 5

6

检查这个

谷歌手机检测

尝试使用http://www.php.net/get_browser并检查 isMobileDevice 字段。当然,只有在 php.ini 中设置了 browscap.ini 的路径时,它才会有所帮助。如果没有,您可以使用 php 类,例如https://github.com/garetjax/phpbrowscap

于 2013-09-19T08:49:14.107 回答
2

不,你不能用 php 做到这一点。php 是严格的服务器端

用户 javascript 代替。下面是我使用 javascript 获取设备分辨率的代码

<script>
     screenWidth = window.screen.width,
     screenHeight = window.screen.height;
    console.log(screenWidth);
    console.log(screenHeight);
</script> 
于 2013-09-19T08:56:59.680 回答
0

我假设这是用于设备检测。我不确定您是否可以单独使用 PHP 检测窗口宽度。如果可以,那么此信息将出现在 HTTP 标头中。我建议使用为此构建的开源 PHP 类:http: //mobiledetect.net/

于 2013-09-19T08:50:10.513 回答
0

诀窍是:使用 js 评估窗口宽度,然后将 PHP 加载到框架中并将宽度放入参数中。然后,您的 PHP 脚本可以读取该参数并根据该值执行不同的条件。

这是js部分:

<script type="text/javascript">
    var width = window.innerWidth;
    document.write('<iframe src="content.php?w='+width+'"></iframe>');
</script>

在您的 content.php 文件中,只需读取 width 参数并对其进行处理:

<?php
    //Get width of browser window
    $width = $_GET['w'];
    echo ('width: '.$width);
?>
于 2015-07-03T12:19:28.413 回答
0

在视图中,您可以显示/隐藏 div,如下所示:

<style>
    #web {display: block;}
    #mobile {display: none;}

    @media screen and (max-width: 320px) {
        #web {display: none;}
        #mobile {display: block;}
    }
</style>

<div id="mobile">
    <?php echo "is mobile"; //include("page_mobile.phtml"); ?>
</div>

<div id="web">
    <?php echo "is web"; //include("page_web.phtml"); ?>
</div>
于 2019-01-25T09:11:04.983 回答