组保留的标签 余下为需要删除的标签
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;
}
?>
轻松解决无线网络IP地址冲突小窍门编程频道|福州电脑网
轻松解决无线网络IP地址冲突小窍门
系统教程760
更新时间:2026-04-06 07:07:01 2024年1月12日发(作者:)
轻松解决无线网络IP地址冲突小窍门
无线IP冲突,是我们使用无线网络时常会遇到的故障情况。那么这个是什么原因造成的呢?又应该如何解决呢?下面我们就来看看详细的内容吧。在一些无线网络中,由于客户机数目较多,为方便对这些机器进行管理,很多管理员会使用无线路由器提供的DHCP服务,为客户机提供TCP/IP参数配置,如IP地址、网关地址和DNS服务器等。但如果你的无线网络中,有些电脑必须手工指定TCP/IP参数配置,这时DHCPIP地址和手工指定的静态IP地址共存,如果你没有合理配置无线路由器中参数,就会很容易造成IP地址冲突。
无线IP冲突 如何产生?
如笔者管理的一个无线网络,有50台电脑,其中有5台电脑由于特殊需要,使用了手工设置静态IP地址的方式使用的IP地址段为“192.168.1.10~192.168.1.14”通过无线路由器的DHCP服务获得IP地址等参数信息。但如果你的无线路由器中务的“地址池”参数设置不合理,包含了以上5台电脑使用的IP地址段,就有可能产生址冲突。
产生IP地址冲突的原因非常简单,如使用静态IP地址“192.168.1.11”机,当无线网络中的某台电脑B向无线路由器的DHCP服务器申请IP地址时,器发现“192.168.1.11”这个IP地址目前是空闲的,没有任何电脑使用,就很有可能将这个地址分配给申请IP地址的电脑B。当电脑A开机启动后上线,就会发现还有其它电脑使用92.168.1.11”这个IP地址,于是就会产生IP地址冲突。
解决无线IP冲突 需合理设置DHCP参数
知道了无线网络IP址冲突是如何产生的,预防这种事情的发生就很简单了,只要你合理设置DHCP服务器中的“地址池”参数。你要清楚地知道,采用静态IP用了哪些IP地址段,为了避免发生IP地址冲突,在配置DHCP服务器的一定要排除被静态IP地址占用的这些地址段。
DHCP服务器的45台电脑DHCP服IP地A没有开DHCP服务IP“1”参数时,服务器提供的动态,其它的电脑地址方式的电脑占“地址池
为了更直观的解决无线IP冲突问题,这里还是以笔者的无线网络为例(如图),采用静态IP地址的电脑占用了“192.168.1.10~192.168.1.14”这个IP地址段,因此在设置“地址池”参数时必须排除这个IP地址段,以防止冲突的产生,如笔者将“地址池”参数设置为“192.168.1.15~192.168.1.60”,这样既满足了45台动态IP地址客户机的需要,又防止了IP地址冲突的产生。
本文发布于:2024-01-12,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:IP地址冲突电脑使用地址
发布评论