组保留的标签 余下为需要删除的标签
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;
}
?>
揭露WIN7隐藏功能教你打造WIFI基站编程频道|福州电脑网
揭露WIN7隐藏功能教你打造WIFI基站
编程之家770
更新时间:2026-04-03 20:24:39 【文章摘要】如果你用的是windows7系统的笔记本,且没有无线路由器,又想其他笔记本电脑共享上网,那么我想本篇文章正是你需要的,微软发布的WIN7操作平台其实隐藏了一项功能,但这项功能并没有正式发布,因为似乎还存在着兼容性或者驱动问题没有解决,但是在绝大多数笔记本上该项功能可以完美兼容,那就是无线网卡虚拟无线AP功能[俗称软AP],可以实现笔记本做为WI-FI网络的发射端也就是WI-FI基站功能。
如果你用的是windows7系统的笔记本,且没有无线路由器,又想其他笔记本电脑共享上网,那么我想本篇文章正是你需要的,微软发布的WIN7操作平台其实隐藏了一项功能,但这项功能并没有正式发布,因为似乎还存在着兼容性或者驱动问题没有解决,但是在绝大多数笔记本上该项功能可以完美兼容,那就是无线网卡虚拟无线AP功能[俗称软AP],可以实现笔记本做为WI-FI网络的发射端也就是WI-FI基站功能,下面我们来分享一下:
笔记本作为一个WI-FI基站可以实现以下功能:
1、让你手头的WI-FI设备,比如智能手机、IPAD、ITOUCH设备实现无线共享接入互联网。
2、让附近拥有无线网卡的笔记本或者台式机实现无线共享接入互联网。
操作步骤如下:
首先确认你的笔记本电脑已正确安装WIN7全部驱动的情况下打开网络共享中心——更改适配器设置 选项,会出现如下两项内容:
右键本地链接,在弹出来的对话框中选择“共享”选项卡,勾选上允许其他网络用户通过此计算机的……其它不变。
然后确定,下面就是打开WIN7下隐藏的无线网卡虚拟AP功能了,需要在开始——附件——右键以管理员模式运行“命令提示符” 里打开。
涉及到两个命令:
netsh wlan set hostednetwork mode=allow ssid=yangtian key=yangtian
netsh wlan start hostednetwork
蓝色字体命令相当于对路由器的初始设置,“mode”代表模式,allow是开放式,这个不需要改变。ssid是你的wifi基站名字,这个可以自定义,本人定义设备名称为yangtian ;key就接入路由器需要的密码了,也可以自定义,建议使用英文密码,因为在此设置成数字的话,不是10进制密码,需要解密才行,本人密码设置也是为yangtian。准备妥当后在命令提示符中粘贴然后回车,出现以下示例:
表示设置成功。这一步参数只要设置一次,以后终身有效,除非你要修改参数可以再设置一次。然后回到网络中心会多出如下一个选项,那就是虚拟无线AP设备:
我们可以自定义重命名它的名字,可以看起来直观点,这里我将它改成“虚拟无线AP”。然后右键属性,确保该设备下的IPV4选项栏里的IP和DNS全部设置为自动获取。
下面我们就要启动虚拟无线AP了,用来作为WI-FI基站的发射端,因为是软AP,所以开启也是在命令提示符下使用口令开启,就是上面提到的红色命令了。复制粘贴回车。而且以后每次开机启动都要如此重复这一步操作设备的开关,然后虚拟无线AP上的红色小XX就会消失了,表示启动成功。
到了这一步后我们已经成功设置并开启了虚拟无线AP,但是我们还必须做一件事情那就是桥接笔记本外部网络到虚拟无线AP上,实现互联网共享。回到本地链接,右键属性,在共享选项卡里打开如下下拉菜单,如果还没出现下拉菜单,那么请把共享允许其他网络用户前面的勾去掉,确定后重新打开选择就会出现下拉菜单了,我们这里选择“虚拟无线AP”选项而不是“无线网卡”后点确定。注意:因为虚拟无线AP是在硬件无线网卡上延伸出来的,所以使用过程中切忌禁用或者关掉无线网卡。
此时请链接你的外部网络,用ADSL的请拨号,用校园网锐捷之类的也请拨号上网,总之正常接入外部网路,然后我们接下来就要测试笔记本的WI-FI基站功能了。
使用一个无线设备,可以是有无线网卡的笔记本,也可以是有WIFI功能的手机,本人这里使用智能系统手机作为测试的客户端,打开手机网络链接,搜索附近无线信号源,信号满格,成功搜索到SSID为yangtian的设备,输入密码后成功接入并流畅打开新浪网:
至此已全部完成设置,以后开启虚拟WIFI基站,只需在命令提示符重复输入上述红色口令就行,另外我也使用朋友的笔记本搜索我的WIFI基站并成功接入共享上网。关键要注意的是在配备那个蓝色口令时建议SSID名和密码全部定义为英文,不要掺杂阿拉伯数字。 本文发布于:2024-10-17,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基站教你功能WiFi
发布评论