我做一个24小时随机跳转程序,首先吧网址写入一个txt文档,一行一个。然后用php【随机】读取这个txt中的网址,取出可访问的网址,如果存在不可访问的网址就跳过,排除后继续选择!
目前的方法比较简单实现不了循环获取
<?php
//读取txt文档
$data=file_get_contents("test.txt");
//换行打散
$data_url=explode("\r\n",$data);
//随机数
$data_num = rand(0, count($data_url)-1);
//随机行数
$url = $data_url[$data_num];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);
$curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
//判断网址是否可访问
if ($curl_code == 200) {
//随机跳转存入cookie
if (isset($_COOKIE["data"])){
$tzUrl=$_COOKIE["data"];
echo '连接成功,跳转域名:'.$tzUrl;
//header ("Location: $tzUrl");
}else{
//跳转
//header ("Location: $data_url[$data_num]");
$value = $data_url[$data_num];
//setcookie("data",$value, time()+3600/60/6);
//24 小时候过期的
setcookie("data",$value, time()+3600*24);
};
//echo '连接成功,状态码:' . $curl_code;
}else {
//echo '连接失败,状态码:' . $curl_code;
}
程序大佬帮忙看看,有偿打赏
3 回答
牧羊人nacy
TA贡献1862条经验 获得超7个赞
在你的基础上加的,希望有用
<?php
//读取txt文档
$data = file_get_contents("test.txt");
//换行打散。换行符在不同的系统是不一样的,windows下是\r\n,linux下是\n。所以使用PHP常量
$data_url = explode(PHP_EOL, $data);
// 有效的网址
$usefulWebsite = [];
// 开始循环
while (count($data_url)) {
//随机数
$data_num = rand(0, count($data_url) - 1);
//随机行数
$url = $data_url[$data_num];
// 删除已经用过的。不能用unset,因为用unset时,数字类型的key不会重建
array_splice($data_url, $data_num, 1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);
$curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
//判断网址是否可访问
if ($curl_code == 200) {
// 存入有效网址数组
$usefulWebsite[] = $url;
//随机跳转存入cookie
if (isset($_COOKIE["data"])) {
$tzUrl = $_COOKIE["data"];
echo '连接成功,跳转域名:' . $tzUrl;
//header ("Location: $tzUrl");
} else {
//跳转
//header ("Location: $url");
$value = $url;
//setcookie("data",$value, time()+3600/60/6);
//24 小时候过期的
setcookie("data", $value, time() + 3600 * 24);
};
//echo '连接成功,状态码:' . $curl_code;
} else {
//echo '连接失败,状态码:' . $curl_code;
// 不行就执行下一条
continue;
}
}
print_r($usefulWebsite);
- 3 回答
- 0 关注
- 731 浏览
添加回答
举报
0/150
提交
取消