<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>zblog插件网</title><link>http://zblog.gongshi5.com/</link><description>zblog插件网</description><item><title>php判断搜索引擎ua 判断来路是否来自搜索  判断m移动和pc电脑的函数</title><link>http://zblog.gongshi5.com/post/193.html</link><description>&lt;p&gt;php判断搜索引擎ua 判断来路是否来自搜索 &amp;nbsp;判断m移动和pc电脑的函数&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;###&amp;nbsp;判断是否移动

//&amp;nbsp;获取用户代理字符串
$userAgentNow&amp;nbsp;=&amp;nbsp;isset($_SERVER[&amp;#39;HTTP_USER_AGENT&amp;#39;])&amp;nbsp;?&amp;nbsp;strtolower($_SERVER[&amp;#39;HTTP_USER_AGENT&amp;#39;])&amp;nbsp;:&amp;nbsp;&amp;#39;&amp;#39;;
//&amp;nbsp;移动设备正则表达式模式
$mobilePatterns&amp;nbsp;=&amp;nbsp;&amp;#39;/mobile|phone|android|ios|iphone|ipad|harmonyos|windows&amp;nbsp;phone|symbian|blackberry|webos|opera&amp;nbsp;mini|iemobile|ucweb|miui|flyme|pixel|touch/&amp;#39;;
//&amp;nbsp;检查是否为iPadOS（PHP中无法直接检测maxTouchPoints，所以主要依赖UA检测）
$isIpadOS&amp;nbsp;=&amp;nbsp;strpos($userAgentNow,&amp;nbsp;&amp;#39;macintosh&amp;#39;)&amp;nbsp;!==&amp;nbsp;false&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;strpos($userAgentNow,&amp;nbsp;&amp;#39;touch&amp;#39;)&amp;nbsp;!==&amp;nbsp;false;
//&amp;nbsp;检测是否为移动设备
if&amp;nbsp;(preg_match($mobilePatterns,&amp;nbsp;$userAgentNow)&amp;nbsp;||&amp;nbsp;$isIpadOS&amp;nbsp;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;移动设备
}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;非移动设备
}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;###&amp;nbsp;判断是否来自搜索引擎等

/**
&amp;nbsp;*&amp;nbsp;判断用户访问来路是否包含指定的搜索引擎域名
&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;bool&amp;nbsp;包含指定域名返回true，无来路/不包含返回false
&amp;nbsp;*/
function&amp;nbsp;checkRefererSearchEngine()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!isset($_SERVER[&amp;#39;HTTP_REFERER&amp;#39;])&amp;nbsp;||&amp;nbsp;empty($_SERVER[&amp;#39;HTTP_REFERER&amp;#39;]))&amp;nbsp;{//&amp;nbsp;1.&amp;nbsp;检查是否存在来路信息，无则直接返回false
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$referer&amp;nbsp;=&amp;nbsp;strtolower($_SERVER[&amp;#39;HTTP_REFERER&amp;#39;]);&amp;nbsp;//&amp;nbsp;2.&amp;nbsp;获取来路网址并转为小写
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;3.&amp;nbsp;定义需要匹配的搜索引擎域名列表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$searchDomains&amp;nbsp;=&amp;nbsp;[&amp;#39;baidu.com&amp;#39;,&amp;nbsp;&amp;#39;so.com&amp;#39;,&amp;nbsp;&amp;#39;bing.com&amp;#39;,&amp;nbsp;&amp;#39;google.com&amp;#39;,&amp;nbsp;&amp;#39;quark.cn&amp;#39;,&amp;nbsp;&amp;#39;duckduckgo.com&amp;#39;,&amp;nbsp;&amp;#39;sm.cn&amp;#39;,&amp;nbsp;&amp;#39;qianwen.com&amp;#39;,&amp;nbsp;&amp;#39;yahoo.com&amp;#39;,&amp;nbsp;&amp;#39;sogou.com&amp;#39;,&amp;nbsp;&amp;#39;toutiao.com&amp;#39;,&amp;nbsp;&amp;#39;qq.com&amp;#39;];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach&amp;nbsp;($searchDomains&amp;nbsp;as&amp;nbsp;$domain)&amp;nbsp;{//&amp;nbsp;4.&amp;nbsp;遍历域名列表，检查来路是否包含任一域名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(strpos($referer,&amp;nbsp;$domain)&amp;nbsp;!==&amp;nbsp;false)&amp;nbsp;{//&amp;nbsp;兼容PHP&amp;nbsp;7.x的写法（如果你的环境低于8.0，替换上面这行）：&amp;nbsp;//&amp;nbsp;if&amp;nbsp;(str_contains($referer,&amp;nbsp;$domain))&amp;nbsp;{&amp;nbsp;//&amp;nbsp;PHP&amp;nbsp;8.0+&amp;nbsp;推荐用法
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;false;//&amp;nbsp;5.&amp;nbsp;不包含指定域名则返回false
}
$sousuoUser&amp;nbsp;=&amp;nbsp;checkRefererSearchEngine();
if&amp;nbsp;($sousuoUser)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;搜索引擎来路
}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;非搜索引擎来路
}&lt;/pre&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;###&amp;nbsp;&amp;nbsp;判断是否蜘蛛访问
$a_Ua&amp;nbsp;=&amp;nbsp;$_SERVER[&amp;#39;HTTP_USER_AGENT&amp;#39;];
$a_Ua_lower&amp;nbsp;=&amp;nbsp;strtolower($a_Ua);
$a_Baidu&amp;nbsp;=&amp;nbsp;strpos($a_Ua_lower,&amp;nbsp;&amp;#39;baiduspider&amp;#39;)&amp;nbsp;!==&amp;nbsp;false&amp;nbsp;?&amp;nbsp;1&amp;nbsp;:&amp;nbsp;0;
$a_Bing&amp;nbsp;=&amp;nbsp;strpos($a_Ua_lower,&amp;nbsp;&amp;#39;bingbot&amp;#39;)&amp;nbsp;!==&amp;nbsp;false&amp;nbsp;?&amp;nbsp;1&amp;nbsp;:&amp;nbsp;0;
$a_Google&amp;nbsp;=&amp;nbsp;strpos($a_Ua_lower,&amp;nbsp;&amp;#39;googlebot&amp;#39;)&amp;nbsp;!==&amp;nbsp;false&amp;nbsp;?&amp;nbsp;1&amp;nbsp;:&amp;nbsp;0;
$a_Qihu&amp;nbsp;=&amp;nbsp;strpos($a_Ua_lower,&amp;nbsp;&amp;#39;360spider&amp;#39;)&amp;nbsp;!==&amp;nbsp;false&amp;nbsp;?&amp;nbsp;1&amp;nbsp;:&amp;nbsp;0;
$a_Toutiao&amp;nbsp;=&amp;nbsp;strpos($a_Ua_lower,&amp;nbsp;&amp;#39;bytespider&amp;#39;)&amp;nbsp;!==&amp;nbsp;false&amp;nbsp;?&amp;nbsp;1&amp;nbsp;:&amp;nbsp;0;
$a_Sougou&amp;nbsp;=&amp;nbsp;(strpos($a_Ua_lower,&amp;nbsp;&amp;#39;sogou&amp;#39;)&amp;nbsp;!==&amp;nbsp;false&amp;nbsp;and&amp;nbsp;strpos($a_Ua_lower,&amp;nbsp;&amp;#39;spider&amp;#39;)&amp;nbsp;!==&amp;nbsp;false)&amp;nbsp;?&amp;nbsp;1&amp;nbsp;:&amp;nbsp;0;
$a_Shenma&amp;nbsp;=&amp;nbsp;strpos($a_Ua_lower,&amp;nbsp;&amp;#39;yisouspider&amp;#39;)&amp;nbsp;!==&amp;nbsp;false&amp;nbsp;?&amp;nbsp;1&amp;nbsp;:&amp;nbsp;0;
$a_Isbot&amp;nbsp;=&amp;nbsp;($a_Baidu&amp;nbsp;==&amp;nbsp;1&amp;nbsp;or&amp;nbsp;$a_Bing&amp;nbsp;==&amp;nbsp;1&amp;nbsp;or&amp;nbsp;$a_Qihu&amp;nbsp;==&amp;nbsp;1&amp;nbsp;or&amp;nbsp;$a_Sougou&amp;nbsp;==&amp;nbsp;1&amp;nbsp;or&amp;nbsp;$a_Shenma&amp;nbsp;==&amp;nbsp;1)&amp;nbsp;?&amp;nbsp;1&amp;nbsp;:&amp;nbsp;0;
if&amp;nbsp;($a_Isbot&amp;nbsp;==&amp;nbsp;1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;蜘蛛访问
}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;非蜘蛛访问
}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;###&amp;nbsp;判断参数
function&amp;nbsp;checkDateParam()
{&amp;nbsp;//&amp;nbsp;先定义判断是否来自搜索引擎的函数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$dateValue&amp;nbsp;=&amp;nbsp;isset($_GET[&amp;#39;date&amp;#39;])&amp;nbsp;?&amp;nbsp;trim($_GET[&amp;#39;date&amp;#39;])&amp;nbsp;:&amp;nbsp;&amp;#39;&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$dateValue&amp;nbsp;===&amp;nbsp;&amp;#39;2026988&amp;#39;;
}

$okUser&amp;nbsp;=&amp;nbsp;checkDateParam();

if&amp;nbsp;(&amp;nbsp;&amp;nbsp;$okUser&amp;nbsp;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;参数ok
}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;参数不对
}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 11 Feb 2026 16:19:14 +0800</pubDate></item><item><title>宝塔批量绑定域名 上千 怎么快速！界面会卡死！ server_name  Nginx域名绑定</title><link>http://zblog.gongshi5.com/post/192.html</link><description>&lt;p&gt;/www/server/panel/vhost/nginx/站点.cn.conf&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;直接在 第二行修改即可&lt;/p&gt;&lt;p&gt;server&lt;/p&gt;&lt;p&gt;{&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; listen 80;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; server_name &lt;span style=&quot;color: #1F497D;&quot;&gt;&lt;strong&gt;*.baidu.cn *.sina.cn baidu.cn sina.cn&lt;/strong&gt;&lt;/span&gt;;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; index index.php index.html index.htm default.php default.htm default.html;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; root /www/wwwroot/&lt;strong style=&quot;color: rgb(31, 73, 125); text-wrap-mode: wrap;&quot;&gt;baidu&lt;/strong&gt;.cn;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;空格分隔即可&lt;/p&gt;</description><pubDate>Sun, 25 Jan 2026 17:41:06 +0800</pubDate></item><item><title>宝塔：数据获取失败,检查nginx状态是否正常!</title><link>http://zblog.gongshi5.com/post/191.html</link><description>&lt;p&gt;&lt;img src=&quot;http://zblog.gongshi5.com/zb_users/upload/2026/01/202601241769254790552393.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;1 重装Nginx 试试。&lt;/p&gt;&lt;p&gt;2 命令行：&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;code style=&quot;box-sizing: border-box; outline: 0px; line-height: 22px; border-radius: 2px; padding: 2px 4px; font-synthesis-style: auto; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap-mode: wrap; font-size: 16px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color:#4d4d4d;font-family:-apple-system, SF UI Text, Arial, PingFang SC, Hiragino Sans GB, Microsoft YaHei, WenQuanYi Micro Hei, sans-serif, SimHei, SimSun&quot;&gt;（参考 &lt;a href=&quot;https://blog.csdn.net/weixin_42763696/article/details/134523189?spm=1001.2101.3001.6650.3&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-3-134523189-blog-151608277.235%5Ev43%5Epc_blog_bottom_relevance_base9&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-3-134523189-blog-151608277.235%5Ev43%5Epc_blog_bottom_relevance_base9&amp;utm_relevant_index=6&quot; _src=&quot;https://blog.csdn.net/weixin_42763696/article/details/134523189?spm=1001.2101.3001.6650.3&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-3-134523189-blog-151608277.235%5Ev43%5Epc_blog_bottom_relevance_base9&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-3-134523189-blog-151608277.235%5Ev43%5Epc_blog_bottom_relevance_base9&amp;utm_relevant_index=6&quot;&gt;https://blog.csdn.net/weixin_42763696/article/details/134523189?spm=1001.2101.3001.6650.3&amp;amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-3-134523189-blog-151608277.235%5Ev43%5Epc_blog_bottom_relevance_base9&amp;amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-3-134523189-blog-151608277.235%5Ev43%5Epc_blog_bottom_relevance_base9&amp;amp;utm_relevant_index=6&lt;/a&gt;&amp;nbsp; ）&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;systemctl status nginx.service&amp;nbsp;&lt;/p&gt;&lt;p&gt;通过systemctl status nginx.service查看状态，如果failed，那肯定有问题了&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://zblog.gongshi5.com/zb_users/upload/2026/01/202601241769255104383423.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://zblog.gongshi5.com/zb_users/upload/2026/01/202601241769255123531312.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;可以一行一行注释掉测试&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://zblog.gongshi5.com/zb_users/upload/2026/01/202601241769255157864106.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;</description><pubDate>Sat, 24 Jan 2026 19:39:28 +0800</pubDate></item><item><title>phpstrom设置 打开项目 可以在新窗口中打开项目，替换当前窗口中的项目，或者将项目附加到已经打开的项目。您想如何打开项目? 不再询问(D)</title><link>http://zblog.gongshi5.com/post/190.html</link><description>&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; white-space: pre-wrap; background-color: rgba(0, 0, 0, 0.04);&quot;&gt;打开项目
可以在新窗口中打开项目，替换当前窗口中的项目，或者将项目附加到已经打开的项目。您想如何打开项目?
不再询问(D) &amp;nbsp;在phpstorm 我点了 不在询问，我现在想 继续弹出这个 怎么设置&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; white-space: pre-wrap; background-color: rgba(0, 0, 0, 0.04);&quot;&gt;&lt;img src=&quot;http://zblog.gongshi5.com/zb_users/upload/2025/11/202511051762343030216661.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; white-space: pre-wrap; background-color: rgba(0, 0, 0, 0.04);&quot;&gt;&lt;img src=&quot;http://zblog.gongshi5.com/zb_users/upload/2025/11/202511051762343069690980.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h3 class=&quot;header-iWP5WJ auto-hide-last-sibling-br&quot; style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px solid; margin: 12px 0px 0px; padding: 0px; font-size: 16px; line-height: 24px; overflow-anchor: auto; font-family: Inter, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;通过设置界面手动配置（最常用）&lt;/h3&gt;&lt;ol class=&quot;auto-hide-last-sibling-br list-paddingleft-2&quot; style=&quot;list-style-type: none;&quot;&gt;&lt;li&gt;&lt;p&gt;打开 PhpStorm 的设置面板：&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot;auto-hide-last-sibling-br list-paddingleft-2&quot; style=&quot;list-style-type: none;&quot;&gt;&lt;li&gt;&lt;p&gt;快捷键：直接按&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;Ctrl + Alt + S&lt;/code&gt;（Windows/Linux）或&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;Cmd + ,&lt;/code&gt;（Mac）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;菜单操作：点击顶部菜单栏&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;File&lt;/code&gt;（文件）→&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;Settings&lt;/code&gt;（设置）（Windows/Linux），或&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;PhpStorm&lt;/code&gt;&amp;nbsp;→&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;Preferences&lt;/code&gt;（偏好设置）（Mac）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;找到项目打开策略设置：&lt;/p&gt;&lt;p&gt;在设置窗口左侧导航栏中，展开&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;Appearance &amp;amp; Behavior&lt;/code&gt;（外观和行为）→ 选择&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;System Settings&lt;/code&gt;（系统设置）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;恢复 “询问” 选项：&lt;/p&gt;&lt;p&gt;在右侧&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;Project&lt;/code&gt;（项目）区域，找到&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;Open project in&lt;/code&gt;（打开项目方式）的下拉菜单，选择&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;Ask&lt;/code&gt;（询问）或&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;Confirm window to open project in&lt;/code&gt;（确认打开项目的窗口）选项。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;保存设置：&lt;/p&gt;&lt;p&gt;点击窗口底部的&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;Apply&lt;/code&gt;（应用）→&amp;nbsp;&lt;code style=&quot;outline: none; -webkit-font-smoothing: antialiased; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border: 0px none rgb(0, 0, 0); margin: 0px; padding: 0px 3.6px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14.4px; font-variation-settings: normal; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.06); border-radius: 3.6px; overflow-anchor: auto;&quot;&gt;OK&lt;/code&gt;（确定），设置立即生效。之后再打开新项目时，会重新弹出选择窗口（新窗口 / 当前窗口 / 附加到当前项目）。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; white-space: pre-wrap; background-color: rgba(0, 0, 0, 0.04);&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 05 Nov 2025 19:43:15 +0800</pubDate></item><item><title>zblog更新用户文章数量sql</title><link>http://zblog.gongshi5.com/post/189.html</link><description>&lt;pre class=&quot;prism-highlight prism-language-sql&quot;&gt;我有两个表&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;zbp_member&amp;nbsp;&amp;nbsp;和&amp;nbsp;zbp_post&amp;nbsp;&amp;nbsp;，zbp_post&amp;nbsp;&amp;nbsp;是文章表，
里面的log_AuthorID&amp;nbsp;对应&amp;nbsp;用户表&amp;nbsp;&amp;nbsp;zbp_member&amp;nbsp;的&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mem_ID&amp;nbsp;&amp;nbsp;字段。
这是查询log_AuthorID&amp;nbsp;=2的用户文章数量的&amp;nbsp;sql
SELECT&amp;nbsp;COUNT(1)&amp;nbsp;FROM&amp;nbsp;zbp_post&amp;nbsp;WHERE&amp;nbsp;&amp;nbsp;&amp;nbsp;log_AuthorID&amp;nbsp;=&amp;nbsp;2&amp;nbsp;
AND&amp;nbsp;&amp;nbsp;log_Type&amp;nbsp;=&amp;nbsp;0&amp;nbsp;AND&amp;nbsp;log_Status&amp;nbsp;=&amp;nbsp;0&amp;nbsp;文章数量&amp;nbsp;
应该更新到&amp;nbsp;zbp_member&amp;nbsp;&amp;nbsp;的mem_Articles字段（即代表这个用户发了多少文章）
我希望你写一个sql&amp;nbsp;，把zbp_member&amp;nbsp;&amp;nbsp;中所有的&amp;nbsp;mem_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;的&amp;nbsp;mem_Articles&amp;nbsp;
批量更新为&amp;nbsp;目前zbp_post&amp;nbsp;&amp;nbsp;中实际存储的&amp;nbsp;
这个用户的文数量（加上限制AND&amp;nbsp;&amp;nbsp;log_Type&amp;nbsp;=&amp;nbsp;0&amp;nbsp;AND&amp;nbsp;log_Status&amp;nbsp;=&amp;nbsp;0）

UPDATE&amp;nbsp;zbp_member&amp;nbsp;m
LEFT&amp;nbsp;JOIN&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;log_AuthorID,&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;COUNT(1)&amp;nbsp;AS&amp;nbsp;article_count&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&amp;nbsp;zbp_post&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;log_Type&amp;nbsp;=&amp;nbsp;0&amp;nbsp;AND&amp;nbsp;log_Status&amp;nbsp;=&amp;nbsp;0&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;log_AuthorID&amp;nbsp;&amp;nbsp;
)&amp;nbsp;p&amp;nbsp;ON&amp;nbsp;m.mem_ID&amp;nbsp;=&amp;nbsp;p.log_AuthorID&amp;nbsp;&amp;nbsp;
SET&amp;nbsp;m.mem_Articles&amp;nbsp;=&amp;nbsp;COALESCE(p.article_count,&amp;nbsp;0)&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 26 Oct 2025 00:17:08 +0800</pubDate></item><item><title>response.text  msg = response.text.encode(&amp;quot;gbk&amp;quot;, errors=&amp;quot;replace&amp;quot;).decode(&amp;quot;gbk&amp;quot;) 编码 python</title><link>http://zblog.gongshi5.com/post/188.html</link><description>&lt;div style=&quot;background-color:#ffffff;color:#080808&quot;&gt;&lt;pre style=&quot;font-family:&amp;#39;JetBrains Mono&amp;#39;,monospace;font-size:9.8pt;&quot;&gt;response.text&lt;/pre&gt;&lt;/div&gt;&lt;div style=&quot;background-color:#ffffff;color:#080808&quot;&gt;&lt;pre style=&quot;font-family:&amp;#39;JetBrains Mono&amp;#39;,monospace;font-size:9.8pt;&quot;&gt;msg&amp;nbsp;=&amp;nbsp;response.text.encode(&amp;quot;gbk&amp;quot;,&amp;nbsp;errors=&amp;quot;replace&amp;quot;).decode(&amp;quot;gbk&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 10 Sep 2025 11:19:11 +0800</pubDate></item><item><title>linux时间错误 centos时间错误 </title><link>http://zblog.gongshi5.com/post/187.html</link><description>&lt;pre class=&quot;prism-highlight prism-language-c&quot;&gt;
timedatectl&amp;nbsp;set-timezone&amp;nbsp;Asia/Shanghai
echo&amp;nbsp;&amp;quot;Asia/Shanghai&amp;quot;&amp;nbsp;|&amp;nbsp;sudo&amp;nbsp;tee&amp;nbsp;/etc/timezone&amp;nbsp;&amp;nbsp;
sudo&amp;nbsp;yum&amp;nbsp;install&amp;nbsp;chrony
timedatectl
sudo&amp;nbsp;systemctl&amp;nbsp;start&amp;nbsp;chronyd
sudo&amp;nbsp;systemctl&amp;nbsp;enable&amp;nbsp;chronyd
timedatectl

一般情况下&amp;nbsp;上述命令执行就ok&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;date&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;timedatectl 是一个更现代的命令，用于查询和设置系统时钟和日期：。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;将时区设置为上海。可以使用以下命令：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;timedatectl set-timezone Asia/Shanghai&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;如果需要，还可以将时区设置写入/etc/timezone文件中，以永久保存设置。运行以此命令： 这将确保即使重启系统，时区设置也不会丢失。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;echo &amp;quot;Asia/Shanghai&amp;quot; | sudo tee /etc/timezone&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;Chrony 是一个开源的NTP（网络时间协议）客户端和服务器的实现，它用于同步计算机系统上的时钟。Chrony特别适合于那些需要高精度时间同步的系统和网络，因为它能够在没有直接NTP服务器连接的情况下快速和准确地同步时间。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;输入以下命令来安装Chrony：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;打开终端。&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;sudo yum install chrony&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;安装完成后，你可以启动Chrony服务并使其在系统启动时自动运行。使用以下命令启动Chrony：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;sudo systemctl start chronyd&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;为了确保Chrony在系统启动时自动运行，可以使用以下命令将其设置为开机自启：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;sudo systemctl enable chronyd&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;你可以通过以下命令检查Chrony服务的状态，以确保它正在运行：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sat, 16 Aug 2025 16:56:54 +0800</pubDate></item><item><title>aardio:fsys文件操作 获取当前目录 文件操作</title><link>http://zblog.gongshi5.com/post/186.html</link><description>&lt;div class=&quot;postTitle&quot; style=&quot;box-sizing: border-box; font-size: 14.7px; font-weight: bold; margin-bottom: 10px; color: rgb(75, 75, 75); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;h1 style=&quot;margin: 10px 0px; font-size: 14.7px; color: rgb(102, 102, 102); box-sizing: border-box;&quot;&gt;&lt;a id=&quot;cb_post_title_url&quot; class=&quot;postTitle2 vertical-middle&quot; href=&quot;https://www.cnblogs.com/zwh0910/p/17836446.html&quot; title=&quot;发布于 2023-11-16 18:01&quot; style=&quot;box-sizing: border-box; text-decoration-line: none; color: green;&quot;&gt;&lt;span role=&quot;heading&quot; aria-level=&quot;2&quot; style=&quot;box-sizing: border-box; vertical-align: middle;&quot;&gt;aardio:fsys文件操作&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;/div&gt;&lt;div id=&quot;cnblogs_post_body&quot; class=&quot;blogpost-body blogpost-body-html&quot; style=&quot;box-sizing: border-box; margin-bottom: 20px; word-break: break-word; color: rgb(75, 75, 75); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 13px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;参考标准库/fsys文件操作/默认库&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;1、获取项目根目录的位置&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;getCurDir()&amp;nbsp;=&amp;nbsp;获取当前目录。&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;当前目录易被改动，导致相对路径（例如 &amp;quot;./res/&amp;quot;）位置变化。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: #FF0000;&quot;&gt;路径首字符用单个斜杠或反斜杆表示「应用程序根目录」&lt;/span&gt;的写法更可靠，例如：（例如 &amp;quot;/res/&amp;quot;）。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;很多组件（例如文件对话框）都可能会悄悄改变当前目录&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;import&amp;nbsp;fsys;
console.log(fsys.getCurDir()&amp;nbsp;);&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;2、创建目录&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;createDir(.(&amp;quot;目录路径&amp;quot;,是否清空重建) = 创建目录并返回创建成功的完整文件路径，可创建&lt;span style=&quot;box-sizing: border-box; color: #FF0000;&quot;&gt;多层目录&lt;/span&gt;,参数二可选&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;fsys.createDir(&amp;quot;dir&amp;quot;,true)&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;创建多层目录&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;fsys.createDir(&amp;quot;dir\dirInner&amp;quot;,true)&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;判断是否目录&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;isDir(&amp;quot;__/*路径*/&amp;quot;)&amp;nbsp; = 路径是否目录，调用attrib检查目标路径是否具有_FILE_ATTRIBUTE_DIRECTORY属性，参数为空字符串或 null 返回 false，包含不可见字符的错误路径可用「工具&amp;gt;文本文件&amp;gt;十六进制编辑器」，或 string.hex 函数查看&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;var&amp;nbsp;dir1&amp;nbsp;=&amp;nbsp;fsys.createDir(&amp;quot;dir&amp;quot;,true)if(fsys.isDir(&amp;quot;dir&amp;quot;)){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.log(&amp;quot;是目录&amp;quot;)
}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.log(&amp;quot;不是目录&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;3、删除文件或目录&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;delete( = 删除文件或目录,成功返回 true，删除含畸形路径的目录请改用 fsys.remove 函数。此函数失败返回 false 时可用 fsys.opError 获取错误代码&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;删除文件&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;fsys.delete(&amp;quot;hello.txt&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;删除目录以及目录下的文件&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;fsys.delete(&amp;quot;dir&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;4、移动文件或目录&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;move(.(源路径,目标路径,FOF选项,进度标题,父窗口句柄) = 移动文件或目录,&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;源路径参数可以是多个路径组成的数组,其他参数可选。如果目标路径已存在或源路径含通配符则移动到目标目录下面，否则复制文件或目录到参数@2指定的目标路径。如果目标路径的父目录可能不存在，请先用 io.createDir 创建该目录，FOF选项为 0 或 不指定该选项但 fsys.opFlags 为 0，则显示操作界面与错误信息&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;将hello.txt文件移动到dir目录下&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;fsys.move(&amp;quot;hello.txt&amp;quot;,&amp;quot;/dir&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;5、复制文件或目录&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;copy(.(源路径,目标路径,FOF选项,进度标题,父窗口句柄) = 复制文件或目录,&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;源路径参数可以是多个路径组成的数组,其他参数可选。如果目标路径已存在或源路径含通配符则复制到目标目录下面，否则复制文件或目录到参数@2指定的目标路径。如果目标路径的父目录可能不存在，请先用 io.createDir 创建该目录&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;FOF选项为 0 或 不指定该选项但 fsys.opFlags 为 0\n则显示操作界面与错误信息&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;将hello.txt文件复制到dir目录下&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;fsys.copy(&amp;quot;hello.txt&amp;quot;,&amp;quot;/dir&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;6、重命名文件或目录&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;rename(.(源路径,目标路径,FOF选项) = 重命名文件或目录,其他参数可选&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;FOF选项为 0 或 不指定该选项但 fsys.opFlags 为 0，则显示操作界面与错误信息&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;fsys.rename(&amp;quot;hello.txt&amp;quot;,&amp;quot;hi.txt&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;7、搜索当前目录下的文件&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;list(.(&amp;quot;目录路径&amp;quot;,&amp;quot;模式匹配&amp;quot;,&amp;quot;通配符&amp;quot;) =&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; color: #FF0000;&quot;&gt;搜索当前目录下的文件&lt;/span&gt;，不搜索子目录下的文件，返回符合条件的文件名数组,子目录数组，以及全部子目录数组。注意有三个返回值,数组中使用文件名为键存放对应完整路径的值。除参数@1以外其他参数可选，参数@2使用模式匹配语法匹配文件名，模式匹配会成为第三个返回值的匹配条件，通配符默认值是&amp;quot;*.*&amp;quot;,也可以传入包含多个通配符的数组,通配符对第三个返回值无效&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;var&amp;nbsp;res&amp;nbsp;=&amp;nbsp;fsys.list(fsys.getCurDir())
console.dumpTable(res)&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;注意：是文件，不是目录。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;8、打开或创建文件对象&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;fsys.file(&amp;quot;__/*文件路径*/&amp;quot;,&amp;quot;w+&amp;quot;)&amp;nbsp;=&amp;nbsp;读写模式打开,创建新文件清空原文件&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;示例&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;import&amp;nbsp;fsys.file;var&amp;nbsp;fp&amp;nbsp;=&amp;nbsp;fsys.file(&amp;quot;hello.txt&amp;quot;,&amp;quot;w+&amp;quot;);
fp.close()&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;此时项目根目录下就会生成一个hello.txt文件&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;9、读取文件的内容&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;console.log(string.load(&amp;quot;hello.txt&amp;quot;))&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;结果：hello world!&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;显示前5个字节的内容&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;import&amp;nbsp;fsys.file;
file&amp;nbsp;=&amp;nbsp;fsys.file(&amp;quot;hello.txt&amp;quot;,&amp;quot;r&amp;quot;)
console.log(&amp;nbsp;file.read(5)&amp;nbsp;)&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;结果：hello&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;10、向文件中写入内容&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;string.save(&amp;quot;hello.txt&amp;quot;,&amp;quot;2023-11-16&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;11、解压 zip 文件&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;将hello.zip文件解压到my目录&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;div class=&quot;cnblogs_code_toolbar&quot; style=&quot;box-sizing: border-box; margin-top: 5px;&quot;&gt;&lt;span class=&quot;cnblogs_code_copy&quot; style=&quot;box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; font-size: inherit; line-height: 1.5; padding-right: 5px;&quot;&gt;&lt;a title=&quot;复制代码&quot; style=&quot;box-sizing: border-box; color: rgb(52, 104, 164); border: none !important;&quot;&gt;&lt;img src=&quot;https://assets.cnblogs.com/images/copycode.gif&quot; alt=&quot;复制代码&quot; style=&quot;max-width: 100%; box-sizing: border-box; border: none !important; height: auto !important;&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;import&amp;nbsp;zlib.unzip;var&amp;nbsp;ok,err&amp;nbsp;=&amp;nbsp;zlib.unzip.extract(&amp;nbsp;&amp;quot;hello.zip&amp;quot;,&amp;quot;/my&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function(fileName,extractPath,fileInfo,size,unitSize,unitName){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(&amp;nbsp;size&amp;nbsp;!==&amp;nbsp;null&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;..console.log(&amp;nbsp;&amp;quot;正在解压文件&amp;quot;,fileName,size++&amp;nbsp;unitName&amp;nbsp;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;..console.log(&amp;nbsp;&amp;quot;正在解压目录&amp;quot;,fileName&amp;nbsp;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
)&lt;/pre&gt;&lt;div class=&quot;cnblogs_code_toolbar&quot; style=&quot;box-sizing: border-box; margin-top: 5px;&quot;&gt;&lt;span class=&quot;cnblogs_code_copy&quot; style=&quot;box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; font-size: inherit; line-height: 1.5; padding-right: 5px;&quot;&gt;&lt;a title=&quot;复制代码&quot; style=&quot;box-sizing: border-box; color: rgb(52, 104, 164); border: none !important;&quot;&gt;&lt;img src=&quot;https://assets.cnblogs.com/images/copycode.gif&quot; alt=&quot;复制代码&quot; style=&quot;max-width: 100%; box-sizing: border-box; border: none !important; height: auto !important;&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;12、遍历目录&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;遍历该目录下的所有文件和目录，以及子目录下的文件和目录&lt;/p&gt;&lt;div class=&quot;cnblogs_code&quot; style=&quot;box-sizing: border-box; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); padding: 5px; overflow: auto; margin: 5px 0px; color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot; !important; font-size: 12px !important;&quot;&gt;&lt;div class=&quot;cnblogs_code_toolbar&quot; style=&quot;box-sizing: border-box; margin-top: 5px;&quot;&gt;&lt;span class=&quot;cnblogs_code_copy&quot; style=&quot;box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; font-size: inherit; line-height: 1.5; padding-right: 5px;&quot;&gt;&lt;a title=&quot;复制代码&quot; style=&quot;box-sizing: border-box; color: rgb(52, 104, 164); border: none !important;&quot;&gt;&lt;img src=&quot;https://assets.cnblogs.com/images/copycode.gif&quot; alt=&quot;复制代码&quot; style=&quot;max-width: 100%; box-sizing: border-box; border: none !important; height: auto !important;&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre style=&quot;transition-duration: 0.2s; transition-property: background, font-size, border-color, border-radius, border-width, padding, margin, color; overflow: auto; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; overflow-wrap: break-word;&quot;&gt;//批量处理文件fsys.enum(&amp;nbsp;fsys.getCurDir(),&amp;nbsp;//指定
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;*.*&amp;quot;,&amp;nbsp;//指定查询文件名,支持通配符,也可以用一个数组指定多个查询文件名&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function(dirname,filename,fullpath,findData){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//可使用&amp;nbsp;return&amp;nbsp;false&amp;nbsp;退出枚举过程
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(filename){&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.log(&amp;quot;发现文件：&amp;quot;,filename&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.log(&amp;quot;完整路径&amp;quot;,fullpath&amp;nbsp;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;可以用&amp;nbsp;fsys.replace&amp;nbsp;函数替换文件内容,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fsys.replace(fullpath,&amp;quot;查找的内容\d+&amp;quot;,&amp;quot;替换的内容&amp;quot;,替换次数)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fsys.replace&amp;nbsp;支持二进制文件或&amp;nbsp;UTF-8&amp;nbsp;文本文件，
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;其他编码用&amp;nbsp;fsys.codepage&amp;nbsp;加载文件后用&amp;nbsp;string.replace()&amp;nbsp;函数替换。
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;或者用&amp;nbsp;fsys.batch&amp;nbsp;实现批量处理并且支持自动处理编码转换。&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.log(&amp;quot;发现目录：&amp;quot;,dirname)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;,/*如果此参数为false则忽略子目录*/);&lt;/pre&gt;&lt;div class=&quot;cnblogs_code_toolbar&quot; style=&quot;box-sizing: border-box; margin-top: 5px;&quot;&gt;&lt;span class=&quot;cnblogs_code_copy&quot; style=&quot;box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, serif; font-size: inherit; line-height: 1.5; padding-right: 5px;&quot;&gt;&lt;a title=&quot;复制代码&quot; style=&quot;box-sizing: border-box; color: rgb(52, 104, 164); border: none !important;&quot;&gt;&lt;img src=&quot;https://assets.cnblogs.com/images/copycode.gif&quot; alt=&quot;复制代码&quot; style=&quot;max-width: 100%; box-sizing: border-box; border: none !important; height: auto !important;&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 15 Aug 2025 10:54:37 +0800</pubDate></item><item><title>/www/server/php/80/sbin/php-fpm: error while loading shared libraries: libsodium.so.23: cannot open</title><link>http://zblog.gongshi5.com/post/185.html</link><description>&lt;p&gt;&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;安装php8失败&amp;nbsp;&amp;nbsp;&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;安装php8.0失败&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;机器的安装源不行&amp;nbsp;&lt;span style=&quot;color: #333333; font-family: arial, &amp;quot;Microsoft Yahei&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, sans-serif; font-size: 16px; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;安装源无法安装libsodium-devel软件，所以安装好php后会报错，更换系统的安装源后，重新安装libsodium-devel软件，php启动成功，无报错&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: arial, &amp;quot;Microsoft Yahei&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, sans-serif; font-size: 16px; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;&amp;nbsp; 把 /etc/yum.repos.d 下面的备份到bak 然后这个安装源的 压缩包 解压到 /etc/yum.repos.d 就ok&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;ue-upload&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;img style=&quot;vertical-align: middle; margin-right: 2px;&quot; src=&quot;http://zblog.gongshi5.com/zb_system/image/filetype/_blank.png&quot;/&gt;&lt;a style=&quot;font-size:12px; color:#0066cc;&quot; href=&quot;http://zblog.gongshi5.com/zb_users/upload/2025/07/202507121752315219126446.gz&quot; title=&quot;yum.repos.d_KkAcK.tar.gz&quot;&gt;yum.repos.d_KkAcK.tar.gz&lt;/a&gt;&lt;/p&gt;&lt;p&gt;这个是少个 ibsodium 包，安装源替换后 命令&lt;/p&gt;&lt;p&gt;yum install oniguruma oniguruma-devel&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: arial, &amp;quot;Microsoft Yahei&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, sans-serif; font-size: 16px; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sat, 12 Jul 2025 18:12:21 +0800</pubDate></item><item><title>Nginx规则 重定向</title><link>http://zblog.gongshi5.com/post/184.html</link><description>&lt;pre class=&quot;prism-highlight prism-language-c&quot;&gt;location&amp;nbsp;~*&amp;nbsp;/show/.*\.(?:jpg|webp)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;rewrite&amp;nbsp;^/show/(.*)$&amp;nbsp;/$1&amp;nbsp;last;
}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 10 Jul 2025 13:43:33 +0800</pubDate></item></channel></rss>