在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

PHP实现友情链接检测

PHP 清风 593℃ 0评论

朋友最近有一个需求,希望别人可以通过自己网站主动申请友情链接,但是申请被提交前必须进行检测,申请方的网站中必须先添加自己网站的链接。除此之外还需要使用PHP来进行实现,所以就有了这篇文字记录。

主要的PHP代码实现如下:


<?php
$max_allow_links = 100; // 最大许可检查的链接数目
function my_file_get_contents($url, $timeout = 30) {
    if (function_exists('curl_init')) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        $file_contents = curl_exec($ch);
        curl_close($ch);
    } else if (ini_get('allow_url_fopen') == 1 || strtolower(ini_get('allow_url_fopen')) == 'on') {
        $file_contents = @file_get_contents($url);
    } else {
        $file_contents = '';
    }
    return $file_contents;
}
function isExistsContentUrl($url, &$retMsg, $mydomain = "") {
    if (!isset($url) || empty($url)) {
        $retMsg = "填写的URL为空";
        return false;
    }
    if (!isset($mydomain) || empty($mydomain)) {
        $mydomain = $_SERVER['SERVER_NAME'];
    }
    $resultContent = my_file_get_contents($url);
    if (trim($resultContent) == '') {
        $retMsg = "未获得URL相关数据,请重试!";
        return false;
    }
    if (strripos($resultContent, $mydomain)) {
        $retMsg = "检测已经通过!";
        return true;
    } else {
        $retMsg = "请确认您已经添加本站的连接";
        return false;
    }
}
//调用试例
$result = "";
$ret = isExistsContentUrl("https://www.skyfinder.cc", $result, "wordpress.org");
if ($ret) {
    echo '通过检测:' . $result;
} else {
    echo "检测未通过:" . $result;
}
?>

 

转载请注明:清风博客 » PHP实现友情链接检测

喜欢 (3)or分享 (0)
支付宝扫码打赏 微信打赏
发表我的评论
取消评论

CAPTCHA Image
Reload Image
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址