用php代码检测友链是否存在
前言
随着友链的增多,有些网站可能会不经意间就把你网站的友链去除掉了,所以就写了个php代码来检测友链是否存在
教程
1.首先在网站目录中新建一个urls.txt的文本。
2.根据友链网站的友链地址,比如有些网站首页并没有友链模块而是在某个页面中。我们就需要把完整的页面地址比如:https://xxxx.com/links.html填写到urls.txt文本中。
3.新建一个php文件,把如下代码放到里面。
<?php
// 定义要搜索的关键词
$keyword = "新锐博客";
// 读取包含 URL 地址的文本文件
$urls = file("urls.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
// 初始化结果数组
$result = array();
// 初始化 cURL 处理器
$ch = curl_init();
// 设置 cURL 选项
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 返回获取的输出而不是直接输出到页面
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 允许 cURL 追踪重定向
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); // 设置超时时间为 10 秒
// 循环处理每个 URL
foreach ($urls as $url) {
// 设置要访问的 URL
curl_setopt($ch, CURLOPT_URL, $url);
// 执行 cURL 请求并获取页面内容
$sourceCode = curl_exec($ch);
// 检查是否有错误发生
if (curl_errno($ch)) {
continue; // 如果发生错误,跳过当前 URL
}
// 检查页面内容中是否包含关键词
if ($sourceCode !== false && strpos($sourceCode, $keyword) === false) {
// 如果页面中不包含关键词,将 URL 添加到结果数组
$result['data'][] = $url;
}
}
// 关闭 cURL 处理器
curl_close($ch);
// 设置返回的 JSON 数据
if (empty($result['data'])) {
$result['code'] = 404;
$result['msg'] = 'No URLs found containing the keyword.';
$result['data'] = []; // 确保即使没有数据,也能输出空数组
} else {
$result['code'] = 200;
$result['msg'] = 'Success';
}
// 调整顺序,先输出code和msg,再输出data
$output = array(
'code' => $result['code'],
'msg' => $result['msg'],
'data' => $result['data']
);
// 将结果数组转换为 JSON 格式
$jsonResult = json_encode($output, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
// 设置 HTTP 头部
header('Content-Type: application/json');
// 输出 JSON 数据
echo $jsonResult;
?>
提示:本文最后更新于2024年 6月 16日,如有错误或者已经失效,请留言告知。
THE END