组保留的标签 余下为需要删除的标签
unset($oldtag[$key]);
}
}
}
if (!empty($oldtag)) {
$tagids = array();
foreach ($oldtag as $tagid => $tagname) {
$tagids[] = $tagid;
}
well_oldtag_delete($tagids, $tid);
}
$r = well_tag_process($tid, $fid, $create_tag, $tagarr);
return $r;
}
// 删除标签和绑定的主题
function well_oldtag_delete($tagids, $tid)
{
$pagesize = count($tagids);
$arrlist = well_tag_find_by_tagids($tagids, 1, $pagesize);
$delete_tagids = array(); // 删除
$tagids = array();
$n = 0;
foreach ($arrlist as $val) {
++$n;
if (1 == $val['count']) {
// 只有一个主题
$delete_tagids[] = $val['tagid'];
} else {
$tagids[] = $val['tagid'];
}
}
!empty($delete_tagids) and well_tag_delete($delete_tagids);
$arlist = well_tag_thread_find_by_tid($tid, 1, $n);
if ($arlist) {
$ids = array();
foreach ($arlist as $val) $ids[] = $val['id'];
well_tag_thread_delete($ids);
}
!empty($tagids) and well_tag_update($tagids, array('count-' => 1));
}
// 标签数据处理 $arr=新提交的数组 $tagarr=保留的旧标签
function well_tag_process($tid, $fid, $new_tags = array(), $tagarr = array())
{
if (empty($tid)) return '';
// 新标签处理入库
if ($new_tags) {
$threadarr = array();
$tagids = array();
$i = 0;
$size = 5;
$n = count($tagarr);
$n = $n > $size ? $size : $size - $n;
foreach ($new_tags as $name) {
++$i;
$name = trim($name);
$name = stripslashes($name);
$name = strip_tags($name);
$name = str_replace(array(' ', '#', "@", "$", "%", "^", '&', '·', '<', '>', ';', '`', '~', '!', '¥', '……', ';', '?', '?', '-', '—', '_', '=', '+', '.', '{', '}', '|', ':', ':', '、', '/', '。', '[', ']', '【', '】', '‘', ' ', ' ', ' ', ' ', ' '), '', $name);
$name = htmlspecialchars($name, ENT_QUOTES);
if ($name && $i <= $n) {
// 查询标签
$read = well_tag_read_name($name);
if ($read) {
// 存在 count+1
$tagids[] = $read['tagid'];
} else {
// 入库
$arr = array('name' => $name, 'count' => 1);
$tagid = well_tag_create($arr);
FALSE === $tagid and message(-1, lang('create_failed'));
$read = array('tagid' => $tagid, 'name' => $name);
}
$tag_thread = array('tagid' => $read['tagid'], 'tid' => $tid);
$threadarr[] = $tag_thread;
$tagarr[$read['tagid']] = $read['name'];
}
}
!empty($threadarr) and tag_thread_big_insert($threadarr);
!empty($tagids) and well_tag_update($tagids, array('count+' => 1));
}
$json = empty($tagarr) ? '' : xn_json_encode($tagarr);
return $json;
}
?> $v = implode(",", $v);
$temp[] = $v;
}
// 去掉重复的字符串,也就是重复的一维数组
$temp = array_unique($temp);
// 再将拆开的数组重新组装
$output = array();
foreach ($temp as $k => $v) {
if ($stkeep) $k = $starr[$k];
if ($ndformat) {
$temparr = explode(",", $v);
foreach ($temparr as $ndkey => $ndval) $output[$k][$ndarr[$ndkey]] = $ndval;
} else $output[$k] = explode(",", $v);
}
return $output;
}
// 合并二维数组 如重复 值以第一个数组值为准
function array2_merge($array1, $array2, $key = '')
{
if (empty($array1) || empty($array2)) return NULL;
$arr = array();
foreach ($array1 as $k => $v) {
isset($v[$key]) ? $arr[$v[$key]] = array_merge($v, $array2[$k]) : $arr[] = array_merge($v, $array2[$k]);
}
return $arr;
}
/*
* 对二维数组排序 两个数组必须有一个相同的键值
* $array1 需要排序数组
* $array2 按照该数组key排序
* */
function array2_sort_key($array1, $array2, $key = '')
{
if (empty($array1) || empty($array2)) return NULL;
$arr = array();
foreach ($array2 as $k => $v) {
if (isset($v[$key]) && $v[$key] == $array1[$v[$key]][$key]) {
$arr[$v[$key]] = $array1[$v[$key]];
} else {
$arr[] = $v;
}
}
return $arr;
}
?>
解锁新功能:Adobe Flash Player背后的路由器联合秘籍编程频道|福州电脑网
解锁新功能:Adobe Flash Player背后的路由器联合秘籍
编程之家130
更新时间:2026-04-03 20:31:03
一、前言
随着智能家居时代来临,家里的网络部署需求开始复杂起来。往往一个路由器已经不能满足需求或者不利于拓展。两个路由器连接最常见的情况是家中已有一个路由器,并且已经通过这个路由器来正常上网。现在是因某些原因想在不改变已经在用的路由器的设置的情况下增加一个无线路由器。而直接接上去可能会造成两台都不能上网了。下面介绍两种方法,供大家参考。
二、方法①:设置二级路由器
1、正确连接路由器1和路由器2
准备2根网线,一根网线一头连接路由器1上LAN(1/2/3/4)接口中任意一个,另一头连接路由器2的WAN接口;另一根网线一头连接路由器2上LAN(1/2/3/4)接口中任意一个,另一头连接电脑。
2、路由器2设置动态IP上网
在路由器2的设置界面,点击“网络参数”——>“WAN口设置”——>“WAN口连接类型”选择:动态IP(有的路由器上叫做“自动获取”、“DHCP”)——>点击“保存”。
3、修改路由器2的LAN口IP地址
在路由器2的设置界面,点击“网络参数”——>“LAN口设置”——>右侧“IP地址”修改为:192.168.2.1——>点击“保存”,之后会提示重启路由器。
重要说明:
(1)、路由器2重启后,需要在浏览器中输入:192.168.2.1,才能够重新登录到路由器2的设置界面,即路由器LAN接口的IP地址,就是路由器的设置网址。
(2)、如果路由器1的IP地址是:192.168.2.1,则路由器2的LAN口IP地址,就不能修改为192.168.2.1了。可以修改为192.168.1.1,192.168.3.1,192.168.4.1等等,只需与路由器1的LAN口IP,不在同一个网段即可,也就是前3段IP地址不相同。
设置二级路由器总结
(1)、路由器1的LAN口连接路由器2的WAN
(2)、路由器2的“上网方式”或“WAN口连接类型”,设置动态IP(有的路由器中是:自动获取、DHCP)
(3)、修改路由器2的LAN口IP地址,与路由器1的LAN口IP地址不在同一个网段。
三、方法②:设置WDS桥接
一、设置路由器1无线参数
1、在路由器1的设置界面,点击“无线设置”——>“基本设置”——>设置“SSID号”,注意SSID不要用中文——>“信道”选择:1——>勾选“开启无线功能”、“开启SSID广播”——>点击“保存”。
设置路由器1的WiFi名称和信道
2、点击“无线设置”——>“无线安全设置”——>选择“WPA-PSK/WPA2-PSK”——>设置“PSK密码”——>点击下面的“保存”。
设置路由器1的加密方式和密钥
注意问题: 请记录下路由器1的SSID号、信道、加密方式、加密算法、PSK密码;在设置路由器2的时候需要用到这些信息。
二、设置路由器2桥接
1、更改LAN口IP:点击“网络参数”——>“LAN口设置”——>“IP地址”修改为:192.168.1.2。修改完成点击“保存”,弹出确定页面点击“确定”,等待重启完成。
把路由器2的IP修改为与路由器1IP在同一个网段
注意问题:
(1)、重启后,用户需要在浏览器中输入:192.168.1.2来重新登录到路由器2的设置界面。
(2)、如果路由器1的设置地址是192.168.0.1,那么路由器2的LAN口IP地址就应该修改为192.168.0.2。也就是路由器1和路由器2的IP地址,前3段要是一样的,最后一段不一样。
2、点击“无线设置”——>“无线基本设置”——>勾选“开启WDS”——>并点击“扫描”。
3、找到路由器1的“SSID”——>点击“连接”。
在扫描结果中,找到路由器1的ssid名称
4、设置“信道”为1——>“密钥类型”选择:WPA-PSK/WPA2-PSK——>在“密钥”填写路由器1上的无线连接密码——>点击“保存”。
注意问题:这里的信道、密钥类型、密钥是与路由器1上的保持一致。
5、关闭路由器2上的DHCP服务器:在路由器2设置界面点击“DHCP服务器”——>“DHCP服务”——>“DHCP服务器”选择:不启用——>点击“保存”。
三、检查WDS桥接是否成功
在路由器2上点击“运行状态”——>查看“无线状态”下面的“WDS状态”,如果显示成功,则表示WDS桥接设置成功。
四、两种方法的比较
1、方法1:设置二级路由器
① 需要布线,但网络稳定:这种方法路由器1和路由器2必须用网线连接起来,需要布线,比较麻烦;但是设置后网络比较稳定。
② 不能实现无线漫游:路由器1和路由器2上WiFi是2个独立的WiFi,不能够实现无线漫游;即使把路由器1和路由器2中的WiFi名称和WiFi密码设置为一样,但实际上还是2个独立的WiFi信号。
2、方法2:设置WDS桥接
① 无需布线,但网络稳定性差:2个无线路由器之间设置WDS无线桥接,不需要用网线来连接2个路由器,使用上比较灵活。但是设置成功后,网络稳定性比较差,网速也会受到影响。
② 可以实现无线漫游:当把路由器1和路由器2的WiFi名称、WiFi密码设置相同时,可以合并为一个WiFi,实现无线漫游。
如上,供大家参考动手实践,希望都能解决各自的问题,本文发布于:2026-03-03,感谢您对本站的认可! 版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。 本文标签:点击路由器编程 |
发布评论