前言
在建设网站的过程中避免不了和其他网站交换友链,但是时间一长有些网站就停止运营了导致友链失效,有些网站的友链很多一个个查看太费时间。
于是我就想通过PHP来确定网站是否可以访问。此教程仅适合CoreNext
主题,其他主题
请慎重修改!
教程
请将其中的http://www.sanweihu.com
换成自己的网站
代码如下
<?php
$url = 'https://www.sanweihu.com/';
$html = file_get_contents($url);
$doc = new DOMDocument();
@$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$friend_items = $xpath->query('//div[@class="friend-item"]');
if ($friend_items->length == 0) {
$result = ['code' => 404, 'msg' => '暂无友链'];
} else {
$result = ['code' => 200, 'msg' => 'success', 'total' => $friend_items->length];
$data = [];
foreach ($friend_items as $item) {
$name = $xpath->query('.//img[@alt]', $item)->item(0)->getAttribute('alt');
$url = $xpath->query('.//a[@href]', $item)->item(0)->getAttribute('href');
if (!empty($url)) {
$status = check_url($url);
$data[] = ['name' => $name, 'url' => $url, 'status' => $status ? 'run' : 'error'];
}
}
$result['data'] = $data;
}
echo json_encode($result, JSON_UNESCAPED_UNICODE);
function check_url($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $http_code == 200;
}
© 版权声明
1、本网站名称:三尾狐
2、本站永久网址:www.sanweihu.com
3、本网站的文章部分内容来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。
5、本站大部分下载资源收集于网络,不保证其完整性以及安全性,不提供技术支持,请下载后自行研究。
6、若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。
2、本站永久网址:www.sanweihu.com
3、本网站的文章部分内容来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。
5、本站大部分下载资源收集于网络,不保证其完整性以及安全性,不提供技术支持,请下载后自行研究。
6、若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。
THE END
暂无评论内容