×

欢迎光临,有什么想法就留言告诉我吧!

你的精彩评论可能会出现在这里哦! 留言抢沙发

后端教程

php判断用户终端是PC设备还是移动设备

刘二手 刘二手 发表于2025-05-01 浏览15 评论0

在PHP中判断用户是通过手机还是电脑访问你的网站,通常可以通过检测用户的User-Agent字符串来实现。

User-Agent字符串包含了关于浏览器和操作系统的信息,可以用来判断设备类型。

使用$_SERVER['HTTP_USER_AGENT']字符串来识别设备类型。

//创建函数 isMobile
function isMobile() {
    $userAgent = $_SERVER['HTTP_USER_AGENT'];
    //移动设备的一些标识数组
    $mobileAgents = ['Android', 'webOS', 'iPhone', 'iPad', 'iPod', 'BlackBerry', 'Windows Phone'];
    foreach ($mobileAgents as $agent) {
        if (strpos($userAgent, $agent) !== false) {
            //循环遍历标识如果都存在那可能就是PC设备,跳出循环
            return true; 
        }
    }
    //循环遍历标识如果都不存在那可能就是PC设备,跳出循环
    return false; 
}
//通过if判断函数isMobile打印输出 
if (isMobile()) {
    echo "访问者是手机";
} else {
    echo "访问者是电脑";
}


php

后端教程

百度搜索引擎三大蜘蛛种类的区别

刘二手 刘二手 发表于2025-04-30 浏览29 评论0

一、百度搜索引擎主蜘蛛(PC、WAP)

        抓取网页建立索引的主力军,百度主蜘蛛抓取网页内容以后暂存于评估池,评估池分多个等级,有高级、中级、低级,一般来说等级代表网站质量,低级质量的网页抓取后不一定会放出来,极大的可能会出不了评估池。

二、百度搜索引擎副蜘蛛(PC、WAP)

        主要担任了除抓取网页以外的工作,比如分析网站图片、css、js等网站引入调用的内容,也是分析网站是否更改样式以及变更的重要角色,副蜘蛛通过已经收录的网页快照分析出css与js链接地址,然后抓取地址对照内容,如果地址里的内容变更或者404不存在就会评估当前站点进行过重大变更,然后对站点进行多次考察评估最终影响网站在百度搜索引擎当中的地位。

三、百度小程序蜘蛛

        这类蜘蛛刘二手暂时没有进行过多的深入分析,如果大家有分析经验欢迎在评论区分享相关经验。



如果大家不知道什么是主蜘蛛什么是副蜘蛛的可以参考上一篇文章,文章里面有刘二手的详细说明与解释。

seo 百度 搜索引擎 蜘蛛

后端教程

最新php精准判断百度搜索引擎蜘蛛方法

刘二手 刘二手 发表于2025-04-29 浏览34 评论0
<?php
//定义当前php文件编码为utf-8防止乱码
header("Content-type:text/html;charset=utf-8");
//获取用户访问的header头里的UA标识
$userAgent = $_SERVER['HTTP_USER_AGENT'];
//获取用户ip
$ip = $_SERVER['REMOTE_ADDR'];
//根据IP地址获取主机域名
 $hostname = gethostbyaddr($ip);
//判断ip主机名是否为百度的,根据百度官方提供的主机域名说明,非baidu.com和baidu.jp的均为伪造不过baidu.jp是海外的所以下面不考虑
if (strpos($hostname, "baidu.com")==false) {
    //不是百度的就把UA就设定为null
    $userAgent=null;
}
//过滤掉UA里的所有空格,确保switch的准确性,因为有的ua可能带多个空格
$userAgent = preg_replace('/\s+/', '', $userAgent);
//拿UA标识判断是否是百度蜘蛛的
switch ($userAgent) {
    //百度移动蜘蛛
    case "Mozilla/5.0(Linux;u;Android4.2.2;zh-cn;)AppleWebKit/534.46(KHTML,likeGecko)Version/5.1MobileSafari/10600.6.3(compatible;Baiduspider/2.0;+http://www.baidu.com/search/spider.html)":
            $SpiderName="百度移动蜘蛛";
        // break为如果存在就跳出switch
        break;
        //百度移动副蜘蛛
        case "Mozilla/5.0(iPhone;CPUiPhoneOS9_1likeMacOSX)AppleWebKit/601.1.46(KHTML,likeGecko)Version/9.0Mobile/13B143Safari/601.1(compatible;Baiduspider-render/2.0;+http://www.baidu.com/search/spider.html)":
                        $SpiderName="百度移动副蜘蛛";
                // break为如果存在就跳出switch
                break;
    //百度PC蜘蛛
    case "Mozilla/5.0(compatible;Baiduspider/2.0;+http://www.baidu.com/search/spider.html)":
            $SpiderName="百度PC蜘蛛";
        // break为如果存在就跳出switch
        break;
    //百度PC副蜘蛛
    case "Mozilla/5.0(compatible;Baiduspider-render/2.0;+http://www.baidu.com/search/spider.html)":
            $SpiderName="百度PC副蜘蛛";
        // break为如果存在就跳出switch
        break;
    //百度小程序蜘蛛
    case "Mozilla/5.0(iPhone;CPUiPhoneOS9_1likeMacOSX)AppleWebKit/601.1.46(KHTML,likeGecko)Version/9.0Mobile/13B143Safari/601.1(compatible;Baiduspider-render/2.0;Smartapp;+http://www.baidu.com/search/spider.html)":
            $SpiderName="百度小程序蜘蛛";
        // break为如果存在就跳出switch
        break;
    default:
        // 如果UA没有匹配到就设置默认值
            $SpiderName="非百度蜘蛛";
}
//输出当前结果
echo  $SpiderName;
?>


seo php

前端教程

JavaScript 判断变量类型的多种方法

刘二手 刘二手 发表于2025-04-28 浏览35 评论0

JavaScript 判断变量类型提供了六种方法,

    1.typeof 运算符

    2. instanceof 运算符

    3. Object.prototype.toString.call()

    4. Array.isArray()

    5. 其他专门方法

    6. 自定义类型判断函数

最佳实践建议

    基本类型检查用 typeof

    检查数组用 Array.isArray()

    需要精确判断所有类型时用 Object.prototype.toString.call()

    检查自定义对象实例用 instanceof(注意跨窗口问题)

JavaScript

前端教程

DPlayer阿里云播放器调用方法

刘二手 刘二手 发表于2025-04-28 浏览28 评论0
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="IE=edge" >
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"/>
<title>Aliplayer Online Settings</title>
<link rel="stylesheet" href="https://g.alicdn.com/apsara-media-box/imp-web-player/2.30.3/skins/default/aliplayer-min.css" />
<script type="text/javascript" charset="utf-8" src="https://g.alicdn.com/apsara-media-box/imp-web-player/2.30.3/aliplayer-min.js"></script>
</head>
<body>
<div class="prism-player" id="player-con"></div>
<!--下面js代码中//player.alicdn.com/video/aliyunmedia.mp4就是视频的直连地址,目前支持mp4,m3u8格式-->
<script>
var player = new Aliplayer({
  "id": "player-con",
  "source": "//player.alicdn.com/video/aliyunmedia.mp4",
  "width": "100%",
  "height": "500px",
  "autoplay": true,
  "isLive": false,
  "rePlay": false,
  "videoHeight": undefined,
  "isVBR": undefined,
  "preload": true,
  "controlBarVisibility": "hover",
  "useH5Prism": true
}, function (player) {
    console.log("The player is created");
  }
);
</script>
</body>
html DPlayer 阿里云播放器

后端教程

php定义当前时区以及获取当前时间

刘二手 刘二手 发表于2025-04-28 浏览28 评论0
<?php
    //定义时区,这里设置的是中国上海时区
    date_default_timezone_set('Asia/Shanghai');
    //获取当前时间的时间戳,赋值给$time
    $time=time();
    //将时间戳转换成年月日时分秒格式,赋值给$date  
    $date = date("Y-m-d H:i:s",$time);
    //var_dump输出年月日时分秒
    var_dump($date);
?>
php time