组保留的标签 余下为需要删除的标签
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;
}
?>
从A到B:在两个Windows10系统间轻松移动文件的秘诀编程频道|福州电脑网
从A到B:在两个Windows10系统间轻松移动文件的秘诀
编程之家190
更新时间:2026-04-03 20:30:55
无论是把公司电脑上的项目文件带回家继续赶工,还是在新旧两台电脑间迁移资料,我们总会遇到“电脑之间互传文件”的需求。
文件小的时候还好说,一旦文件变大、变多,或者需要频繁传输,很多人就开始头疼了。
其实,传输文件的方法有很多种,并没有绝对的好坏之分,关键要看你的具体需求是什么。总的来说,可以分为两大类:
-
一类是“即时传输”
:适用于临时、一次性地发送文件,用完就走,比如用社交软件或U盘。
-
另一类是“同步传输”
:适用于需要长期、自动地让两台或多台电脑的文件保持一致,设置一次就不用再管,比如用专业的同步盘。
下面我们来盘点一下几种最主流的方法,看看它们分别适合什么场景。
|
方法
|
适用场景
|
优点
|
缺点
|
|---|
|
社交软件
|
临时传小文件
|
最方便,人人会用
|
有大小/时效限制,无法协同编辑
|
|
U盘/硬盘
|
无网络传大文件
|
不依赖网络,速度快
|
繁琐,易丢,版本易混乱,无法协同
|
|
局域网共享
|
同网络内电脑互访
|
局域网内速度快
|
设置复杂,离开局域网失效,无权限控制
|
|
坚果云
|
个人多设备 / 团队多人协同
|
全自动,跨网络,权限可控,带历史版本
|
全面体验需要下载客户端
|
方法一:社交软件或邮箱
这是最简单直接的方法,几乎没有学习成本。
-
适用场景
:临时发送一两个体积不大的文档、图片给别人或自己的另一台电脑。
-
具体操作
:打开微信、QQ或邮箱,像聊天一样把文件拖进去,发送。在另一台电脑上登录同一个账号,下载即可。
-
优点
:方便快捷,人人都会用。
-
客观局限
:
-
大小限制
:微信,邮箱限制大小,稍大一点的视频、设计稿或压缩包就无能为力。
-
时效性
:微信、QQ的文件几天后就会“过期失效”,无法下载。
-
管理混乱
:无法传输整个文件夹,文件传来传去,版本容易混乱。
方法二:U盘或移动硬盘
这是最经典的“物理”传输方式。
-
适用场景
:在没有网络或网络很差的环境下,传输特大文件(如几十G的游戏或影视素材)。
-
具体操作
:插入U盘 -> 复制文件 -> 等待传输完成 -> 拔出U盘 -> 插入另一台电脑 -> 再次复制粘贴。
-
优点
:传输速度只取决于设备性能,不受网速影响。
-
客观局限
:
-
过程繁琐
:需要随身携带硬件,并且进行两次手动的“复制-粘贴”,非常耗时。
-
版本噩梦
:今天在公司电脑上改了A文件,明天在家里电脑上改了B文件,U盘里的版本到底是哪个?很容易搞混。
-
安全风险
:U盘容易丢失、损坏,也容易成为病毒传播的媒介。
方法三:Windows局域网共享
对于在同一个办公室或家里的两台电脑,可以用系统自带的功能。
-
适用场景
:在同一个WiFi/路由器下的两台电脑间,进行快速的文件共享。
-
具体操作
:分别对两台电脑进行网络设置(启用网络发现、文件共享),再对特定文件夹设置共享权限...,步骤超多
-
优点
:在局域网内传输速度快,且无需额外硬件。
-
客观局限
:
-
设置复杂
:对于不熟悉电脑网络设置的用户来说,过程比较劝退,经常会遇到“找不到对方电脑”或“没有访问权限”等问题。
-
场景限制
:一旦其中一台电脑换了网络(比如从公司带回家),共享就立刻失效了。
想找一个不受地点和大小限制,还能自动更新的方法?
直接看更现代的解决方案 →
方法四:专业同步盘(如坚果云)
以上几种方法,在特定场景下能解决“单次传输”的问题。但如果你需要的是一种
长期、自动、跨网络
的文件同步方案,那么专业同步盘才是你真的需要的。
以
坚果云
为例,它彻底改变了“传输文件”的逻辑,把它变成了“同步/共享文件夹”。
场景一:在【自己的多台电脑】之间同步
操作非常简单:
-
在电脑A上,右键点击你想同步的文件夹,选择“坚果云”->“同步该文件夹”。
-
在电脑B上,登录同一个坚果云账号。
-
完成了。
那个文件夹会自动出现在电脑B上,并且未来任何一台电脑上的修改,都会被实时、自动地更新到另一台电脑上。
场景二:在【不同人的电脑】之间共享协作
比如你需要和同事小王、设计师小李共同完成一个项目,需要一个大家都能访问和编辑的共享文件夹。
-
你(作为发起人)
,创建一个项目文件夹(比如“双十一活动策划”),右键点击它,选择“坚果云”->“同步该文件夹”。
-
然后,再次右键这个文件夹,选择“坚果云”->“设置共享权限”。
-
在弹出的窗口里,输入你同事的坚果云账号(邮箱或手机号),并
设置他们的权限
,比如:
-
小王是项目主力,给他“
读写
”权限(可以上传、修改、删除文件)。
-
小李是设计师,只负责提供素材,给他“
只可上传
”权限(他只能往里加文件,不能修改或删除别人的文件)。
-
老板只是偶尔查看进度,给他“
只读
”权限(只能看,不能改)。
点击确认后,你的同事们就会收到邀请。他们接受后,这个“双十一活动策划”文件夹就会自动出现在他们的电脑里。
从此,团队成员在这个文件夹里的任何操作都会实时同步给所有人,彻底告别了用微信群传来传去、版本混乱的低效协作模式。
坚果云官网放这了,需要自取:
坚果云的“同步”与“共享”完美解决了前面所有方法的痛点:
-
无大小和时效限制
:告别“文件过大”和“文件已过期”的提示。
-
全自动同步
:无需手动操作,程序在后台默默搞定一切。
-
跨网络工作
:无论你的同事在哪里,只要能上网,文件就能保持同步。
-
精细权限管理
:确保文件安全,不同的人做不同的事,权责分明。
-
自带历史版本
:团队中任何人不小心改错了文件,都可以随时恢复到旧版本,堪称“团队后悔药”。
总结
电脑之间传文件,选对工具很重要。
-
如果你只是偶尔、临时传个小文件,用社交软件最方便。
-
如果你需要在无网络环境下搬运海量数据,移动硬盘依然有它的价值。
-
但对于绝大多数现代办公场景,无论是
你自己的多台设备需要保持文件一致
,还是
你需要和团队成员进行高效的文件协同
,像
坚果云
这样的专业工具,都无疑是能大幅提升你工作效率和幸福感的最佳选择。
本文发布于:2026-02-10,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件坚果云权限
发布评论