<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>苗景云的博客</title><link>http://miaojingyun.com/</link><description>设计|PHP技术资料整理</description><item><title>HDwiki+discuz在启用https下的整合问题</title><link>http://miaojingyun.com/?id=631</link><description>&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;系统环境是ubuntu 22.04 lts , PHP 5.4.45），MYSQL 5.7&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;HDwiki 6.0+discuz X3.4，&lt;/span&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;因为环境问题，就直接用上https，结果问题一大堆。&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;首先，discuz和ucenter在https下通信失败，后来找到修改方法：&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;DISCUZ 开启https后ucenter通信失败解决方法，一般是做完301重定向https后通信失败的，下面是具体解决方法：&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;打开目录 uc_server/model/misc.php 文件；找到69行，插入下面代码：&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;brush:php;toolbar:false&quot;&gt;......
$port&amp;nbsp;=&amp;nbsp;!empty($matches[&amp;#39;port&amp;#39;])&amp;nbsp;?&amp;nbsp;$matches[&amp;#39;port&amp;#39;]&amp;nbsp;:&amp;nbsp;($matches[&amp;#39;scheme&amp;#39;]&amp;nbsp;==&amp;nbsp;&amp;#39;https&amp;#39;&amp;nbsp;?&amp;nbsp;443&amp;nbsp;:&amp;nbsp;80);

//以下为插入代码
if(substr($url,0,5)==&amp;#39;https&amp;#39;){
$ch&amp;nbsp;=&amp;nbsp;curl_init($url);
curl_setopt($ch,&amp;nbsp;CURLOPT_RETURNTRANSFER,&amp;nbsp;1);
if($post){
curl_setopt($ch,&amp;nbsp;CURLOPT_POST,&amp;nbsp;1);
curl_setopt($ch,&amp;nbsp;CURLOPT_POSTFIELDS,&amp;nbsp;$post);
}
if($cookie){
curl_setopt($ch,&amp;nbsp;CURLOPT_COOKIE,&amp;nbsp;$cookie);
}
curl_setopt($ch,&amp;nbsp;CURLOPT_SSL_VERIFYPEER,&amp;nbsp;FALSE);
return&amp;nbsp;curl_exec($ch);
}
//插入代码结束

if($post)&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;$out&amp;nbsp;=&amp;nbsp;&amp;quot;POST&amp;nbsp;$path&amp;nbsp;HTTP/1.0\r\n&amp;quot;;
......&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;接下来设置HDwiki和ucenter，问题比较多了。&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;一开始，只要设置https，就提示“您输入的URL地址不正确！”&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;网上也没有任何资料，经过调试，发现要修改HDwiki目录下的control/admin_setting.php的659行&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;pre class=&quot;brush:php;toolbar:false&quot;&gt;if(empty($ucapi)&amp;nbsp;||&amp;nbsp;!preg_match(&amp;quot;/^(http:\/\/)/i&amp;quot;,&amp;nbsp;$ucapi))&amp;nbsp;{&lt;/pre&gt;&lt;p&gt;修改成这样：&lt;/p&gt;&lt;pre class=&quot;brush:php;toolbar:false&quot;&gt;if(empty($ucapi)&amp;nbsp;||&amp;nbsp;!preg_match(&amp;quot;/^((http:|https:)\/\/)/i&amp;quot;,&amp;nbsp;$ucapi))&amp;nbsp;{&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;这个问题解决后，出现的是“uc_url_unreachable”错误！走了不少弯路后，发现还是https的问题。&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;admin_setting.php调用了api/uc_client/client.php里的uc_fopen()，而这个函数使用fsockopen模拟浏览器进行访问。并且只有拼接了http协议的情况。&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;综合这些分析，比较一下discuz的uc_server/model/misc.php和HDwiki下的api/uc_client/client.php，会发现：&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;discuz的uc_server/model/misc.php里的function dfopen2()和 function dfopen()与HDwiki下的api/uc_client/client.php的uc_fopen2()和uc_fopen()基本上是类似的。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;所以解决方法如下：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;1、拷贝discuz下的uc_client目录，替换HDwiki下的api/uc_client目录&lt;/p&gt;&lt;p&gt;2、修改api/uc_client/client.php文件，重点在于用function dfopen2()和 function dfopen()的内容替换uc_fopen2()和uc_fopen()，修改完成的结果如下：&lt;/p&gt;&lt;pre class=&quot;brush:php;toolbar:false&quot;&gt;function&amp;nbsp;uc_fopen2($url,&amp;nbsp;$limit&amp;nbsp;=&amp;nbsp;0,&amp;nbsp;$post&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;,&amp;nbsp;$cookie&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;,&amp;nbsp;$bysocket&amp;nbsp;=&amp;nbsp;FALSE,&amp;nbsp;$ip&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;,&amp;nbsp;$timeout&amp;nbsp;=&amp;nbsp;15,&amp;nbsp;$block&amp;nbsp;=&amp;nbsp;TRUE,&amp;nbsp;$encodetype&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;#39;URLENCODE&amp;#39;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$__times__&amp;nbsp;=&amp;nbsp;isset($_GET[&amp;#39;__times__&amp;#39;])&amp;nbsp;?&amp;nbsp;intval($_GET[&amp;#39;__times__&amp;#39;])&amp;nbsp;+&amp;nbsp;1&amp;nbsp;:&amp;nbsp;1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if($__times__&amp;nbsp;&amp;gt;&amp;nbsp;2)&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;&amp;#39;&amp;#39;;
&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;$url&amp;nbsp;.=&amp;nbsp;(strpos($url,&amp;nbsp;&amp;#39;?&amp;#39;)&amp;nbsp;===&amp;nbsp;FALSE&amp;nbsp;?&amp;nbsp;&amp;#39;?&amp;#39;&amp;nbsp;:&amp;nbsp;&amp;#39;&amp;amp;&amp;#39;).&amp;quot;__times__=$__times__&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;uc_fopen($url,&amp;nbsp;$limit,&amp;nbsp;$post,&amp;nbsp;$cookie,&amp;nbsp;$bysocket,&amp;nbsp;$ip,&amp;nbsp;$timeout,&amp;nbsp;$block,&amp;nbsp;$encodetype);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

function&amp;nbsp;uc_fopen($url,&amp;nbsp;$limit&amp;nbsp;=&amp;nbsp;0,&amp;nbsp;$post&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;,&amp;nbsp;$cookie&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;,&amp;nbsp;$bysocket&amp;nbsp;=&amp;nbsp;FALSE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;,&amp;nbsp;$ip&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;,&amp;nbsp;$timeout&amp;nbsp;=&amp;nbsp;15,&amp;nbsp;$block&amp;nbsp;=&amp;nbsp;TRUE,&amp;nbsp;$encodetype&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;#39;URLENCODE&amp;#39;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$return&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$matches&amp;nbsp;=&amp;nbsp;parse_url($url);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$scheme&amp;nbsp;=&amp;nbsp;$matches[&amp;#39;scheme&amp;#39;];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$host&amp;nbsp;=&amp;nbsp;$matches[&amp;#39;host&amp;#39;];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$path&amp;nbsp;=&amp;nbsp;$matches[&amp;#39;path&amp;#39;]&amp;nbsp;?&amp;nbsp;$matches[&amp;#39;path&amp;#39;].($matches[&amp;#39;query&amp;#39;]&amp;nbsp;?&amp;nbsp;&amp;#39;?&amp;#39;.$matches[&amp;#39;query&amp;#39;]&amp;nbsp;:&amp;nbsp;&amp;#39;&amp;#39;)&amp;nbsp;:&amp;nbsp;&amp;#39;/&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$port&amp;nbsp;=&amp;nbsp;!empty($matches[&amp;#39;port&amp;#39;])&amp;nbsp;?&amp;nbsp;$matches[&amp;#39;port&amp;#39;]&amp;nbsp;:&amp;nbsp;($matches[&amp;#39;scheme&amp;#39;]&amp;nbsp;==&amp;nbsp;&amp;#39;https&amp;#39;&amp;nbsp;?&amp;nbsp;443&amp;nbsp;:&amp;nbsp;80);
&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;if($scheme==&amp;#39;https&amp;#39;){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$curl&amp;nbsp;=&amp;nbsp;curl_init();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($curl,&amp;nbsp;CURLOPT_URL,&amp;nbsp;$url);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($curl,&amp;nbsp;CURLOPT_USERAGENT,&amp;nbsp;$_SERVER[&amp;#39;HTTP_USER_AGENT&amp;#39;]);
&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($post)&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;curl_setopt($curl,&amp;nbsp;CURLOPT_POST,&amp;nbsp;1);
&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;curl_setopt($curl,&amp;nbsp;CURLOPT_POSTFIELDS,&amp;nbsp;$post);
&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;if($cookie)&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;curl_setopt($curl,&amp;nbsp;CURLOPT_COOKIE,&amp;nbsp;$cookie);
&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;curl_setopt($curl,&amp;nbsp;CURLOPT_TIMEOUT,&amp;nbsp;$timeout);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($curl,&amp;nbsp;CURLOPT_HEADER,&amp;nbsp;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;curl_setopt($curl,&amp;nbsp;CURLOPT_RETURNTRANSFER,&amp;nbsp;1);
&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;=&amp;nbsp;curl_exec($curl);
&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&amp;nbsp;(curl_errno($curl))&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;echo&amp;nbsp;&amp;#39;&amp;lt;pre&amp;gt;&amp;lt;b&amp;gt;错误:&amp;lt;/b&amp;gt;&amp;lt;br&amp;nbsp;/&amp;gt;&amp;#39;.curl_error($curl);&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;curl_close($curl);
&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;$return;
&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;if($post)&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;$out&amp;nbsp;=&amp;nbsp;&amp;quot;POST&amp;nbsp;$path&amp;nbsp;HTTP/1.0\r\n&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;$header&amp;nbsp;=&amp;nbsp;&amp;quot;Accept:&amp;nbsp;*/*\r\n&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;$header&amp;nbsp;.=&amp;nbsp;&amp;quot;Accept-Language:&amp;nbsp;zh-cn\r\n&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;$boundary&amp;nbsp;=&amp;nbsp;$encodetype&amp;nbsp;==&amp;nbsp;&amp;#39;URLENCODE&amp;#39;&amp;nbsp;?&amp;nbsp;&amp;#39;&amp;#39;&amp;nbsp;:&amp;nbsp;&amp;#39;;&amp;#39;.substr($post,&amp;nbsp;0,&amp;nbsp;trim(strpos($post,&amp;nbsp;&amp;quot;\n&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;$header&amp;nbsp;.=&amp;nbsp;$encodetype&amp;nbsp;==&amp;nbsp;&amp;#39;URLENCODE&amp;#39;&amp;nbsp;?&amp;nbsp;&amp;quot;Content-Type:&amp;nbsp;application/x-www-form-urlencoded\r\n&amp;quot;&amp;nbsp;:&amp;nbsp;&amp;quot;Content-Type:&amp;nbsp;multipart/form-data$boundary\r\n&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;$header&amp;nbsp;.=&amp;nbsp;&amp;quot;User-Agent:&amp;nbsp;$_SERVER[HTTP_USER_AGENT]\r\n&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;$header&amp;nbsp;.=&amp;nbsp;&amp;quot;Host:&amp;nbsp;$host:$port\r\n&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;$header&amp;nbsp;.=&amp;nbsp;&amp;#39;Content-Length:&amp;nbsp;&amp;#39;.strlen($post).&amp;quot;\r\n&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;$header&amp;nbsp;.=&amp;nbsp;&amp;quot;Connection:&amp;nbsp;Close\r\n&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;$header&amp;nbsp;.=&amp;nbsp;&amp;quot;Cache-Control:&amp;nbsp;no-cache\r\n&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;$header&amp;nbsp;.=&amp;nbsp;&amp;quot;Cookie:&amp;nbsp;$cookie\r\n\r\n&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;$out&amp;nbsp;.=&amp;nbsp;$header.$post;
&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;$out&amp;nbsp;=&amp;nbsp;&amp;quot;GET&amp;nbsp;$path&amp;nbsp;HTTP/1.0\r\n&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;$header&amp;nbsp;=&amp;nbsp;&amp;quot;Accept:&amp;nbsp;*/*\r\n&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;$header&amp;nbsp;.=&amp;nbsp;&amp;quot;Accept-Language:&amp;nbsp;zh-cn\r\n&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;$header&amp;nbsp;.=&amp;nbsp;&amp;quot;User-Agent:&amp;nbsp;$_SERVER[HTTP_USER_AGENT]\r\n&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;$header&amp;nbsp;.=&amp;nbsp;&amp;quot;Host:&amp;nbsp;$host:$port\r\n&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;$header&amp;nbsp;.=&amp;nbsp;&amp;quot;Connection:&amp;nbsp;Close\r\n&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;$header&amp;nbsp;.=&amp;nbsp;&amp;quot;Cookie:&amp;nbsp;$cookie\r\n\r\n&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;$out&amp;nbsp;.=&amp;nbsp;$header;
&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;$fpflag&amp;nbsp;=&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!$fp&amp;nbsp;=&amp;nbsp;@fsocketopen(($scheme&amp;nbsp;==&amp;nbsp;&amp;#39;https&amp;#39;&amp;nbsp;?&amp;nbsp;&amp;#39;ssl&amp;#39;&amp;nbsp;:&amp;nbsp;$scheme).&amp;#39;://&amp;#39;.($scheme&amp;nbsp;==&amp;nbsp;&amp;#39;https&amp;#39;&amp;nbsp;?&amp;nbsp;$host&amp;nbsp;:&amp;nbsp;($ip&amp;nbsp;?&amp;nbsp;$ip&amp;nbsp;:&amp;nbsp;$host)),&amp;nbsp;$port,&amp;nbsp;$errno,&amp;nbsp;$errstr,&amp;nbsp;$timeout))&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;$context&amp;nbsp;=&amp;nbsp;array(
&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;#39;http&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;array(
&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;#39;method&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$post&amp;nbsp;?&amp;nbsp;&amp;#39;POST&amp;#39;&amp;nbsp;:&amp;nbsp;&amp;#39;GET&amp;#39;,
&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;#39;header&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$header,
&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;#39;content&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$post,
&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;#39;timeout&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$timeout,
&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;&amp;nbsp;&amp;nbsp;$context&amp;nbsp;=&amp;nbsp;stream_context_create($context);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$fp&amp;nbsp;=&amp;nbsp;@fopen($scheme.&amp;#39;://&amp;#39;.($scheme&amp;nbsp;==&amp;nbsp;&amp;#39;https&amp;#39;&amp;nbsp;?&amp;nbsp;$host&amp;nbsp;:&amp;nbsp;($ip&amp;nbsp;?&amp;nbsp;$ip&amp;nbsp;:&amp;nbsp;$host)).&amp;#39;:&amp;#39;.$port.$path,&amp;nbsp;&amp;#39;b&amp;#39;,&amp;nbsp;false,&amp;nbsp;$context);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$fpflag&amp;nbsp;=&amp;nbsp;1;
&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(!$fp)&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;&amp;#39;&amp;#39;;
&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;stream_set_blocking($fp,&amp;nbsp;$block);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stream_set_timeout($fp,&amp;nbsp;$timeout);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@fwrite($fp,&amp;nbsp;$out);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$status&amp;nbsp;=&amp;nbsp;stream_get_meta_data($fp);
&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(!$status[&amp;#39;timed_out&amp;#39;])&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;while&amp;nbsp;(!feof($fp)&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;!$fpflag)&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;if(($header&amp;nbsp;=&amp;nbsp;@fgets($fp))&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;($header&amp;nbsp;==&amp;nbsp;&amp;quot;\r\n&amp;quot;&amp;nbsp;||&amp;nbsp;&amp;nbsp;$header&amp;nbsp;==&amp;nbsp;&amp;quot;\n&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;&amp;nbsp;break;
&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;&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;$stop&amp;nbsp;=&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;while(!feof($fp)&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;!$stop)&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;$data&amp;nbsp;=&amp;nbsp;fread($fp,&amp;nbsp;($limit&amp;nbsp;==&amp;nbsp;0&amp;nbsp;||&amp;nbsp;$limit&amp;nbsp;&amp;gt;&amp;nbsp;8192&amp;nbsp;?&amp;nbsp;8192&amp;nbsp;:&amp;nbsp;$limit));
&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;.=&amp;nbsp;$data;
&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;if($limit)&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;$limit&amp;nbsp;-=&amp;nbsp;strlen($data);
&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;$stop&amp;nbsp;=&amp;nbsp;$limit&amp;nbsp;&amp;lt;=&amp;nbsp;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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@fclose($fp);
&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;$return;
&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;@param&amp;nbsp;int&amp;nbsp;$uid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;用户ID
&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;string&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HTML代码
&amp;nbsp;*/
function&amp;nbsp;uc_user_synlogin($uid)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$uid&amp;nbsp;=&amp;nbsp;intval($uid);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$return&amp;nbsp;=&amp;nbsp;uc_api_post(&amp;#39;user&amp;#39;,&amp;nbsp;&amp;#39;synlogin&amp;#39;,&amp;nbsp;array(&amp;#39;uid&amp;#39;=&amp;gt;$uid));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$return;
}

/**
&amp;nbsp;*&amp;nbsp;进入同步登出代码
&amp;nbsp;*
&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;string&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HTML代码
&amp;nbsp;*/
function&amp;nbsp;uc_user_synlogout()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$return&amp;nbsp;=&amp;nbsp;uc_api_post(&amp;#39;user&amp;#39;,&amp;nbsp;&amp;#39;synlogout&amp;#39;,&amp;nbsp;array());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$return;
}
....&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;然后就可以看到一切都正常了。&lt;/p&gt;&lt;p&gt;另外需要注意的是，必须保证ssl证书在有效期内。另外每次在hdwiki后台修改ucenter设置之后，一定要检查api\ucconfig.inc.php中的UC_KEY和论坛Ucenter应用中心的一致，否则会&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;通信失败&lt;/span&gt;。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;另外首页快捷登录修改&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;打开js/login.js, 大约136行，将&lt;/p&gt;&lt;pre class=&quot;brush:js;toolbar:false&quot;&gt;var&amp;nbsp;app_num_1=0,&amp;nbsp;app_num_2=0,&amp;nbsp;jsUrl&amp;nbsp;=&amp;nbsp;data.match(/http:[^&amp;nbsp;&amp;#39;&amp;quot;]*/ig);&lt;/pre&gt;&lt;p&gt;换为&lt;/p&gt;&lt;pre class=&quot;brush:js;toolbar:false&quot;&gt;var&amp;nbsp;app_num_1=0,&amp;nbsp;app_num_2=0,&amp;nbsp;jsUrl&amp;nbsp;=&amp;nbsp;data.match(/https?:[^&amp;nbsp;&amp;#39;&amp;quot;]*/ig);&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sat, 11 Apr 2026 13:05:32 +0800</pubDate></item><item><title>kesion X1.0 标签自动小写上传路径的解决办法</title><link>http://miaojingyun.com/?id=630</link><description>&lt;p&gt;kesion X1.0 标签自动小写上传路径的解决办法&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;打开 KS_Cls/Kesion.Label.FunctionCls.asp 查找case &amp;quot;photo&amp;quot;,&amp;quot;photourl&amp;quot;,&amp;quot;userface&amp;quot;,&amp;quot;bigphoto&amp;quot;,&amp;quot;logo&amp;quot; 大约91行，替换成下面的代码&lt;/p&gt;&lt;pre class=&quot;brush:html;toolbar:false&quot;&gt;case&amp;nbsp;&amp;quot;photo&amp;quot;,&amp;quot;photourl&amp;quot;,&amp;quot;userface&amp;quot;,&amp;quot;bigphoto&amp;quot;,&amp;quot;logo&amp;quot;&amp;nbsp;
&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;PhotoUrl:PhotoUrl=Trim(Node.SelectSingleNode(&amp;quot;@&amp;quot;&amp;nbsp;&amp;amp;&amp;nbsp;Lcase(sTemp)).text&amp;nbsp;&amp;amp;&amp;nbsp;&amp;quot;&amp;quot;)
&amp;nbsp;&amp;nbsp;if&amp;nbsp;KS.IsNul(PhotoUrl)&amp;nbsp;then&amp;nbsp;PhotoUrl=DomainStr&amp;nbsp;&amp;amp;&amp;nbsp;&amp;quot;images/nopic.gif&amp;quot;
&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;#39;&amp;nbsp;新增这行：统一转成大写&amp;nbsp;UploadFiles（防止以后新上传的文件又小写）
&amp;nbsp;&amp;nbsp;PhotoUrl&amp;nbsp;=&amp;nbsp;Replace(PhotoUrl,&amp;nbsp;&amp;quot;uploadfiles&amp;quot;,&amp;nbsp;&amp;quot;UploadFiles&amp;quot;,&amp;nbsp;1,&amp;nbsp;-1,&amp;nbsp;1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;&amp;nbsp;vbTextCompare&amp;nbsp;不区分大小写替换
&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;If&amp;nbsp;Left(Lcase(PhotoUrl),4)&amp;lt;&amp;gt;&amp;quot;http&amp;quot;&amp;nbsp;and&amp;nbsp;left(PhotoUrl,1)&amp;lt;&amp;gt;&amp;quot;/&amp;quot;&amp;nbsp;Then&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PhotoUrl=KS.Setting(3)&amp;nbsp;&amp;amp;&amp;nbsp;PhotoUrl
&amp;nbsp;&amp;nbsp;End&amp;nbsp;If
&amp;nbsp;&amp;nbsp;If&amp;nbsp;Left(Lcase(PhotoUrl),4)&amp;lt;&amp;gt;&amp;quot;http&amp;quot;&amp;nbsp;Then&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PhotoUrl=KS.Setting(2)&amp;nbsp;&amp;amp;&amp;nbsp;PhotoUrl
&amp;nbsp;&amp;nbsp;End&amp;nbsp;If
&amp;nbsp;&amp;nbsp;echo&amp;nbsp;PhotoUrl&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;后台更新缓存，生成页面&lt;/p&gt;</description><pubDate>Tue, 31 Mar 2026 20:30:26 +0800</pubDate></item><item><title>vscode批量去除空行的方法</title><link>http://miaojingyun.com/?id=629</link><description>&lt;p&gt;很多时候，如果我们的服务器是nginx，我们上传的源代码在上传到服务器再下载到本地时，会出现很多空白行。这样很不利于浏览和编辑。我们需要批量去除这些空白行。下面是在vscode中批量去除空行的方法：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;在vscode界面按ctrl+H代开Find界面输入并输入^\s*(?=\r?$)\n&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;按照下图的标注点击2、3&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://miaojingyun.com/zb_users/upload/2026/02/202602281772272445288398.png&quot;/&gt;&lt;/p&gt;&lt;br/&gt;&lt;p&gt;这样就可以去除代码中的空白行了&lt;/p&gt;</description><pubDate>Sat, 28 Feb 2026 17:49:21 +0800</pubDate></item><item><title>百度地图标注数据转为WGS84格式</title><link>http://miaojingyun.com/?id=628</link><description>&lt;p&gt;因为百度使用的BD09，是在GCJ02基础上进行的加密。我们需要先把BD09转化为GCJ02，然后再将GCJ02转化为WGS84。我的运行环境是php5.4.45，特意写了一个conver.php文件进行转换（我百度的数据存储在BaiduJosn.js）代码如下：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;brush:php;toolbar:false&quot;&gt;&amp;lt;?php
/**
&amp;nbsp;*&amp;nbsp;百度坐标转换程序&amp;nbsp;(PHP&amp;nbsp;5.4.45&amp;nbsp;兼容版)
&amp;nbsp;*/

error_reporting(E_ALL);
ini_set(&amp;#39;display_errors&amp;#39;,&amp;nbsp;1);
ini_set(&amp;#39;memory_limit&amp;#39;,&amp;nbsp;&amp;#39;512M&amp;#39;);

header(&amp;#39;Content-Type:&amp;nbsp;application/javascript;&amp;nbsp;charset=utf-8&amp;#39;);

class&amp;nbsp;CoordConverter&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;PI&amp;nbsp;=&amp;nbsp;3.1415926535897932384626;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;X_PI&amp;nbsp;=&amp;nbsp;52.35987755982988;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;A&amp;nbsp;=&amp;nbsp;6378245.0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;EE&amp;nbsp;=&amp;nbsp;0.00669342162296594323;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;function&amp;nbsp;bd09ToWgs84($bd_lon,&amp;nbsp;$bd_lat)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$x&amp;nbsp;=&amp;nbsp;$bd_lon&amp;nbsp;-&amp;nbsp;0.0065;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$y&amp;nbsp;=&amp;nbsp;$bd_lat&amp;nbsp;-&amp;nbsp;0.006;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$z&amp;nbsp;=&amp;nbsp;sqrt($x&amp;nbsp;*&amp;nbsp;$x&amp;nbsp;+&amp;nbsp;$y&amp;nbsp;*&amp;nbsp;$y)&amp;nbsp;-&amp;nbsp;0.00002&amp;nbsp;*&amp;nbsp;sin($y&amp;nbsp;*&amp;nbsp;self::X_PI);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$theta&amp;nbsp;=&amp;nbsp;atan2($y,&amp;nbsp;$x)&amp;nbsp;-&amp;nbsp;0.000003&amp;nbsp;*&amp;nbsp;cos($x&amp;nbsp;*&amp;nbsp;self::X_PI);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$gcj_lon&amp;nbsp;=&amp;nbsp;$z&amp;nbsp;*&amp;nbsp;cos($theta);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$gcj_lat&amp;nbsp;=&amp;nbsp;$z&amp;nbsp;*&amp;nbsp;sin($theta);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;self::gcj02ToWgs84($gcj_lon,&amp;nbsp;$gcj_lat);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;function&amp;nbsp;gcj02ToWgs84($lng,&amp;nbsp;$lat)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$dlat&amp;nbsp;=&amp;nbsp;self::transformLat($lng&amp;nbsp;-&amp;nbsp;105.0,&amp;nbsp;$lat&amp;nbsp;-&amp;nbsp;35.0);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$dlng&amp;nbsp;=&amp;nbsp;self::transformLng($lng&amp;nbsp;-&amp;nbsp;105.0,&amp;nbsp;$lat&amp;nbsp;-&amp;nbsp;35.0);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$radlat&amp;nbsp;=&amp;nbsp;$lat&amp;nbsp;/&amp;nbsp;180.0&amp;nbsp;*&amp;nbsp;self::PI;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$magic&amp;nbsp;=&amp;nbsp;sin($radlat);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$magic&amp;nbsp;=&amp;nbsp;1&amp;nbsp;-&amp;nbsp;self::EE&amp;nbsp;*&amp;nbsp;$magic&amp;nbsp;*&amp;nbsp;$magic;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$sqrtmagic&amp;nbsp;=&amp;nbsp;sqrt($magic);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$dlat&amp;nbsp;=&amp;nbsp;($dlat&amp;nbsp;*&amp;nbsp;180.0)&amp;nbsp;/&amp;nbsp;((self::A&amp;nbsp;*&amp;nbsp;(1&amp;nbsp;-&amp;nbsp;self::EE))&amp;nbsp;/&amp;nbsp;($magic&amp;nbsp;*&amp;nbsp;$sqrtmagic)&amp;nbsp;*&amp;nbsp;self::PI);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$dlng&amp;nbsp;=&amp;nbsp;($dlng&amp;nbsp;*&amp;nbsp;180.0)&amp;nbsp;/&amp;nbsp;(self::A&amp;nbsp;/&amp;nbsp;$sqrtmagic&amp;nbsp;*&amp;nbsp;cos($radlat)&amp;nbsp;*&amp;nbsp;self::PI);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;array($lng&amp;nbsp;*&amp;nbsp;2&amp;nbsp;-&amp;nbsp;($lng&amp;nbsp;+&amp;nbsp;$dlng),&amp;nbsp;$lat&amp;nbsp;*&amp;nbsp;2&amp;nbsp;-&amp;nbsp;($lat&amp;nbsp;+&amp;nbsp;$dlat));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;function&amp;nbsp;transformLat($x,&amp;nbsp;$y)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ret&amp;nbsp;=&amp;nbsp;-100.0&amp;nbsp;+&amp;nbsp;2.0&amp;nbsp;*&amp;nbsp;$x&amp;nbsp;+&amp;nbsp;3.0&amp;nbsp;*&amp;nbsp;$y&amp;nbsp;+&amp;nbsp;0.2&amp;nbsp;*&amp;nbsp;$y&amp;nbsp;*&amp;nbsp;$y&amp;nbsp;+&amp;nbsp;0.1&amp;nbsp;*&amp;nbsp;$x&amp;nbsp;*&amp;nbsp;$y&amp;nbsp;+&amp;nbsp;0.2&amp;nbsp;*&amp;nbsp;sqrt(abs($x));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ret&amp;nbsp;+=&amp;nbsp;(20.0&amp;nbsp;*&amp;nbsp;sin(6.0&amp;nbsp;*&amp;nbsp;$x&amp;nbsp;*&amp;nbsp;self::PI)&amp;nbsp;+&amp;nbsp;20.0&amp;nbsp;*&amp;nbsp;sin(2.0&amp;nbsp;*&amp;nbsp;$x&amp;nbsp;*&amp;nbsp;self::PI))&amp;nbsp;*&amp;nbsp;2.0&amp;nbsp;/&amp;nbsp;3.0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ret&amp;nbsp;+=&amp;nbsp;(20.0&amp;nbsp;*&amp;nbsp;sin($y&amp;nbsp;*&amp;nbsp;self::PI)&amp;nbsp;+&amp;nbsp;40.0&amp;nbsp;*&amp;nbsp;sin($y&amp;nbsp;/&amp;nbsp;3.0&amp;nbsp;*&amp;nbsp;self::PI))&amp;nbsp;*&amp;nbsp;2.0&amp;nbsp;/&amp;nbsp;3.0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ret&amp;nbsp;+=&amp;nbsp;(160.0&amp;nbsp;*&amp;nbsp;sin($y&amp;nbsp;/&amp;nbsp;12.0&amp;nbsp;*&amp;nbsp;self::PI)&amp;nbsp;+&amp;nbsp;320&amp;nbsp;*&amp;nbsp;sin($y&amp;nbsp;*&amp;nbsp;self::PI&amp;nbsp;/&amp;nbsp;30.0))&amp;nbsp;*&amp;nbsp;2.0&amp;nbsp;/&amp;nbsp;3.0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$ret;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;function&amp;nbsp;transformLng($x,&amp;nbsp;$y)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ret&amp;nbsp;=&amp;nbsp;300.0&amp;nbsp;+&amp;nbsp;$x&amp;nbsp;+&amp;nbsp;2.0&amp;nbsp;*&amp;nbsp;$y&amp;nbsp;+&amp;nbsp;0.1&amp;nbsp;*&amp;nbsp;$x&amp;nbsp;*&amp;nbsp;$x&amp;nbsp;+&amp;nbsp;0.1&amp;nbsp;*&amp;nbsp;$x&amp;nbsp;*&amp;nbsp;$y&amp;nbsp;+&amp;nbsp;0.1&amp;nbsp;*&amp;nbsp;sqrt(abs($x));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ret&amp;nbsp;+=&amp;nbsp;(20.0&amp;nbsp;*&amp;nbsp;sin(6.0&amp;nbsp;*&amp;nbsp;$x&amp;nbsp;*&amp;nbsp;self::PI)&amp;nbsp;+&amp;nbsp;20.0&amp;nbsp;*&amp;nbsp;sin(2.0&amp;nbsp;*&amp;nbsp;$x&amp;nbsp;*&amp;nbsp;self::PI))&amp;nbsp;*&amp;nbsp;2.0&amp;nbsp;/&amp;nbsp;3.0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ret&amp;nbsp;+=&amp;nbsp;(20.0&amp;nbsp;*&amp;nbsp;sin($x&amp;nbsp;*&amp;nbsp;self::PI)&amp;nbsp;+&amp;nbsp;40.0&amp;nbsp;*&amp;nbsp;sin($x&amp;nbsp;/&amp;nbsp;3.0&amp;nbsp;*&amp;nbsp;self::PI))&amp;nbsp;*&amp;nbsp;2.0&amp;nbsp;/&amp;nbsp;3.0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ret&amp;nbsp;+=&amp;nbsp;(150.0&amp;nbsp;*&amp;nbsp;sin($x&amp;nbsp;/&amp;nbsp;12.0&amp;nbsp;*&amp;nbsp;self::PI)&amp;nbsp;+&amp;nbsp;300.0&amp;nbsp;*&amp;nbsp;sin($x&amp;nbsp;/&amp;nbsp;30.0&amp;nbsp;*&amp;nbsp;self::PI))&amp;nbsp;*&amp;nbsp;2.0&amp;nbsp;/&amp;nbsp;3.0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$ret;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}

//&amp;nbsp;---&amp;nbsp;读取数据&amp;nbsp;---
$jsFile&amp;nbsp;=&amp;nbsp;&amp;#39;BaiduJosn.js&amp;#39;;
if&amp;nbsp;(!file_exists($jsFile))&amp;nbsp;die(&amp;quot;Error:&amp;nbsp;BaiduJosn.js&amp;nbsp;not&amp;nbsp;found.&amp;quot;);
$content&amp;nbsp;=&amp;nbsp;file_get_contents($jsFile);

//&amp;nbsp;使用回调函数，正则匹配每一行包含经纬度的数据块
//&amp;nbsp;匹配模式：lng:&amp;nbsp;123.456,&amp;nbsp;lat:&amp;nbsp;12.34
$pattern&amp;nbsp;=&amp;nbsp;&amp;#39;/lng:\s*([0-9\.]+),\s*lat:\s*([0-9\.]+)/&amp;#39;;

$newContent&amp;nbsp;=&amp;nbsp;preg_replace_callback($pattern,&amp;nbsp;function($matches)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$bd_lng&amp;nbsp;=&amp;nbsp;floatval($matches[1]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$bd_lat&amp;nbsp;=&amp;nbsp;floatval($matches[2]);
&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;$wgs&amp;nbsp;=&amp;nbsp;CoordConverter::bd09ToWgs84($bd_lng,&amp;nbsp;$bd_lat);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$wgs_lng&amp;nbsp;=&amp;nbsp;round($wgs[0],&amp;nbsp;6);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$wgs_lat&amp;nbsp;=&amp;nbsp;round($wgs[1],&amp;nbsp;6);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&amp;quot;lng:&amp;nbsp;$wgs_lng,&amp;nbsp;lat:&amp;nbsp;$wgs_lat&amp;quot;;
},&amp;nbsp;$content);

//&amp;nbsp;直接输出转换后的&amp;nbsp;JS&amp;nbsp;内容
echo&amp;nbsp;$newContent;
?&amp;gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 25 Jan 2026 13:11:45 +0800</pubDate></item><item><title>老版PHP工具箱怎么开启https访问</title><link>http://miaojingyun.com/?id=627</link><description>&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;第一步：修改 httpd.conf，确保以下模块已开启（去掉前面的 #）：&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;LoadModule ssl_module modules/mod_ssl.so&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;LoadModule socache_shmcb_module modules/mod_socache_shmcb.so&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;第二步：在 vhosts.conf 中直接添加 HTTPS 站点&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;Listen 443&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;lt;VirtualHost *:443&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; DocumentRoot &amp;quot;D:/myphp_www/PHPTutorial/WWW&amp;quot;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; ServerName www.xxxx.com&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; ServerAlias&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; SSLEngine on&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; # 路径务必准确，建议使用你存放 server.crt 的绝对路径&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; SSLCertificateFile &amp;quot;D:/myphp_www/PHPTutorial/Apache/conf/ssl/server.crt&amp;quot;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; SSLCertificateKeyFile &amp;quot;D:/myphp_www/PHPTutorial/Apache/conf/ssl/server.key&amp;quot;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;Directory &amp;quot;D:/myphp_www/PHPTutorial/WWW&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Options FollowSymLinks ExecCGI&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AllowOverride All&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Order allow,deny&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Allow from all&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Require all granted&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/Directory&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&amp;lt;/VirtualHost&amp;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;第三步：重启服务，如果这样配置后启动不了，那 100% 是 443 端口被占用了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 11 Jan 2026 08:57:48 +0800</pubDate></item><item><title>Ubuntu Server 22.04 LTS后续配置</title><link>http://miaojingyun.com/?id=626</link><description>&lt;p&gt;一、安装图形界面&lt;/p&gt;&lt;p&gt;1、首先检查系统是最新的&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;brush:cpp;toolbar:false&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;update
sudo&amp;nbsp;apt&amp;nbsp;upgrade&lt;/pre&gt;&lt;p&gt;2、安装图形界面&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;brush:cpp;toolbar:false&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;ubuntu-desktop&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;二、安装支持windows远程桌面的支持&lt;/p&gt;&lt;pre class=&quot;brush:cpp;toolbar:false&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;xrdp
//&amp;nbsp;xrdp		&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;p&gt;二、设置中文&lt;/p&gt;&lt;p&gt;1、安装中文语言包&lt;/p&gt;&lt;pre class=&quot;brush:cpp;toolbar:false&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;language-pack-zh-hans&lt;/pre&gt;&lt;p&gt;2、更改默认语言为中文&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;brush:cpp;toolbar:false&quot;&gt;sudo&amp;nbsp;nano&amp;nbsp;/etc/default/locale&lt;/pre&gt;&lt;p&gt;3、修改代开的文件&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;brush:cpp;toolbar:false&quot;&gt;LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:zh:en_US:en&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;三、解决虚拟机不能粘贴&lt;/p&gt;&lt;p&gt;1、检查软件状态&lt;/p&gt;&lt;pre class=&quot;brush:cpp;toolbar:false&quot;&gt;sudo&amp;nbsp;apt-get&amp;nbsp;upgrade
sudo&amp;nbsp;apt-get&amp;nbsp;update&lt;/pre&gt;&lt;p&gt;2、卸载官方的VMware Tools&lt;/p&gt;&lt;pre class=&quot;brush:cpp;toolbar:false&quot;&gt;sudo&amp;nbsp;vmware-uninstall-tools.pl&lt;/pre&gt;&lt;p&gt;3、安装open-vm-tools-desktop&lt;/p&gt;&lt;pre class=&quot;brush:cpp;toolbar:false&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;open-vm-tools&amp;nbsp;open-vm-tools-desktop&lt;/pre&gt;&lt;p&gt;4、重启&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;四、安装宝塔&lt;/p&gt;&lt;pre class=&quot;brush:cpp;toolbar:false&quot;&gt;wget&amp;nbsp;-O&amp;nbsp;install_panel.sh&amp;nbsp;https://download.bt.cn/install/install_panel.sh&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;sudo&amp;nbsp;bash&amp;nbsp;install_panel.sh&amp;nbsp;ssl251104&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;五、使用GParted分区编辑器&lt;/p&gt;&lt;pre class=&quot;brush:cpp;toolbar:false&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;gparted&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;待更新……&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;常用命令&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;重启服务器&lt;/p&gt;&lt;pre class=&quot;brush:cpp;toolbar:false&quot;&gt;sudo&amp;nbsp;reboot
//&amp;nbsp;reboot		重新启动&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 26 Nov 2025 08:13:46 +0800</pubDate></item><item><title>Window11 24H2访问小米路由器U盘或移动硬盘的方法</title><link>http://miaojingyun.com/?id=625</link><description>&lt;p&gt;Win11 24H2更新后强制启用SMB签名，导致无法访问小米路由器U盘或移动硬盘，我们需要禁用签名验证。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1、以PowerShell 管理员身份执行：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;brush:cpp;toolbar:false&quot;&gt;Set-SmbClientConfiguration&amp;nbsp;-RequireSecuritySignature&amp;nbsp;$false&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2、通过安全策略阻止启用未经身份验证的来宾访问&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://miaojingyun.com/zb_users/upload/2025/09/202509081757338292360089.png&quot; title=&quot;202509081757338292360089.png&quot; alt=&quot;ff9a484ee3f5411d91309633ce5b4c72.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;Win+R 输入 gpedit.msc 打开组策略编辑器。&lt;/p&gt;&lt;p&gt;依次展开：计算机配置 → 管理模板 → 网络 → Lanman工作站。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://miaojingyun.com/zb_users/upload/2025/09/202509081757338322111215.png&quot; title=&quot;202509081757338322111215.png&quot; alt=&quot;fdb258e26190492988f25f3e460ebbdd.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;双击 ‌启用不安全的来宾登录&amp;nbsp; → 选择 ‌“已启用”‌ → 确定后重启电脑。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://miaojingyun.com/zb_users/upload/2025/09/202509081757338400308451.png&quot; title=&quot;202509081757338400308451.png&quot; alt=&quot;73c4603e8cdb415196f4e67eb10d1592.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;完成以上操作后，重启电脑，然后再尝试访问小米路由器的硬盘，记得在小米wifi app中开启SAMBA以及为每个设备开启全盘访问&lt;/p&gt;</description><pubDate>Mon, 08 Sep 2025 21:28:11 +0800</pubDate></item><item><title>phpcms V9站点间内容转移工具(php版本)</title><link>http://miaojingyun.com/?id=624</link><description>&lt;p&gt;目前phpcms v9官方已经倒闭了，之前的v9版本没有站点间内容转移功能。当单一站点栏目和内容过多时，后端维护会变得很卡。&lt;/p&gt;&lt;p&gt;这个时候如果我们将栏目创建为站点，间接实现了数据分表，大大加快了数据库的读写速度。&lt;/p&gt;&lt;p&gt;但是官方没有站点内容转移工具，我自己写了一个PHP文件来实现这个功能。&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;text-decoration: underline; color: rgb(255, 0, 0);&quot;&gt;唯一注意的是需要在转移数据前创建好对应的站点，转移完成后需要每个站点更新一下缓存。效率还是蛮高的！&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;文件不免费提供。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 16px;&quot;&gt;&lt;img style=&quot;vertical-align: middle; margin-right: 2px;&quot; src=&quot;http://miaojingyun.com/zb_system/image/filetype/rar.png&quot;/&gt;&lt;a style=&quot;font-size:12px; color:#0066cc;&quot; href=&quot;http://miaojingyun.com/zb_users/upload/2025/05/202505211747821243135640.rar&quot; title=&quot;transfer_site_legacy.rar&quot;&gt;transfer_site_legacy.rar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 21 May 2025 17:45:57 +0800</pubDate></item><item><title>Windows 更改Ollama的安装路径</title><link>http://miaojingyun.com/?id=623</link><description>&lt;p&gt;Widosnw运行OllamaSetup.exe是默认安装到C盘的，这里没法更改安装路径，但是我们可以在安装完毕后更改安装路径，具体操作步骤如下：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;一、正常安装&lt;span style=&quot;text-wrap: wrap;&quot;&gt;Ollama；安装完毕之后先退出&lt;span style=&quot;text-wrap: wrap;&quot;&gt;Ollama。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;二、将C:\Users\XX\AppData\Local\Programs\Ollama这个文件夹移动到D盘，例如改为D:\Program Files\Ollama&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;三、修改Window环境变量：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;修改用户变量的PATH变量，将原来的C:\Users\XX\AppData\Local\Programs\Ollama路径更新为新的位置，即D:\&lt;span style=&quot;text-wrap: wrap;&quot;&gt;Program Files\&lt;/span&gt;&lt;span style=&quot;text-wrap: wrap;&quot;&gt;Ollama&lt;/span&gt;。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在系统变量中新建一个名为OLLAMA_MODELS的变量，设置其值为模型文件的新位置，例如D:\&lt;span style=&quot;text-wrap: wrap;&quot;&gt;Program Files\&lt;/span&gt;Ollama\models。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src=&quot;http://miaojingyun.com/zb_users/upload/2025/01/202501141736838861131866.png&quot; title=&quot;202501141736838861131866.png&quot; alt=&quot;34eb9a063b6a46bfadb9bb97dfba5ab1.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;四、&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;验证安装‌：完成上述步骤后，可以通过运行Ollama命令行工具来验证安装是否成功。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;例如，通过输入ollama -v命令来打印Ollama的版本号，或者使用ollama list来列出已下载的模型。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 14 Jan 2025 15:08:14 +0800</pubDate></item><item><title>PHPCMS 统计栏目下子栏目数量的代码</title><link>http://miaojingyun.com/?id=622</link><description>&lt;p&gt;PHPCMS 统计栏目下子栏目数量的代码，基本没啥用，自己统计着玩的。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;brush:php;toolbar:false&quot;&gt;&amp;lt;?php
//&amp;nbsp;数据库连接信息
$server&amp;nbsp;=&amp;nbsp;&amp;quot;localhost&amp;quot;;
$username&amp;nbsp;=&amp;nbsp;&amp;quot;root&amp;quot;;
$password&amp;nbsp;=&amp;nbsp;&amp;quot;root&amp;quot;;
$dbname&amp;nbsp;=&amp;nbsp;&amp;quot;数据库名称&amp;quot;;

//&amp;nbsp;连接到数据库
$link&amp;nbsp;=&amp;nbsp;mysql_connect($server,&amp;nbsp;$username,&amp;nbsp;$password);
if&amp;nbsp;(!$link)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;die(&amp;#39;无法连接到数据库:&amp;nbsp;&amp;#39;&amp;nbsp;.&amp;nbsp;mysql_error());
}

//&amp;nbsp;选择数据库
$db_selected&amp;nbsp;=&amp;nbsp;mysql_select_db($dbname,&amp;nbsp;$link);
if&amp;nbsp;(!$db_selected)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;die(&amp;#39;无法选择数据库:&amp;nbsp;&amp;#39;&amp;nbsp;.&amp;nbsp;mysql_error());
}

//&amp;nbsp;要查询的栏目ID数组
$categoryIds&amp;nbsp;=&amp;nbsp;array(18,&amp;nbsp;19,&amp;nbsp;20,&amp;nbsp;21,&amp;nbsp;22,&amp;nbsp;23,&amp;nbsp;24,&amp;nbsp;25);&amp;nbsp;//&amp;nbsp;替换为你的栏目ID

//&amp;nbsp;存储每个栏目下子栏目数量的数组
$subCategoryCounts&amp;nbsp;=&amp;nbsp;array();

foreach&amp;nbsp;($categoryIds&amp;nbsp;as&amp;nbsp;$categoryId)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;查询子栏目数量
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$query&amp;nbsp;=&amp;nbsp;&amp;quot;SELECT&amp;nbsp;COUNT(*)&amp;nbsp;AS&amp;nbsp;count&amp;nbsp;FROM&amp;nbsp;v9_category&amp;nbsp;WHERE&amp;nbsp;parentid&amp;nbsp;=&amp;nbsp;&amp;#39;$categoryId&amp;#39;&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$result&amp;nbsp;=&amp;nbsp;mysql_query($query,&amp;nbsp;$link);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!$result)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;die(&amp;#39;查询失败:&amp;nbsp;&amp;#39;&amp;nbsp;.&amp;nbsp;mysql_error());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$row&amp;nbsp;=&amp;nbsp;mysql_fetch_assoc($result);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$subCategoryCounts[$categoryId]&amp;nbsp;=&amp;nbsp;$row[&amp;#39;count&amp;#39;];
&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;mysql_free_result($result);
}

//&amp;nbsp;输出结果
foreach&amp;nbsp;($subCategoryCounts&amp;nbsp;as&amp;nbsp;$categoryId&amp;nbsp;=&amp;gt;&amp;nbsp;$count)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;栏目ID:&amp;nbsp;$categoryId&amp;nbsp;下有&amp;nbsp;$count&amp;nbsp;个子栏目&amp;lt;br&amp;gt;&amp;quot;;
}

//&amp;nbsp;关闭数据库连接
mysql_close($link);
?&amp;gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 12 Nov 2024 13:52:47 +0800</pubDate></item></channel></rss><!--31.53 ms , 6 query , 2058kb memory , 0 error-->