0

0

YII如何使用url组件美化管理

不言

不言

发布时间:2018-06-15 14:03:51

|

1600人浏览过

|

来源于php中文网

原创

这篇文章主要介绍了yii使用url组件美化管理的方法,结合实例形式较为详细的分析了urlmanager组件的具体功能及相关使用技巧,需要的朋友可以参考下

本文实例讲述了YII使用url组件美化管理的方法。分享给大家供大家参考,具体如下:

urlManager组件

yii的官方文档对此的解释如下:

urlSuffix  此规则使用的url后缀,默认使用CurlManger::urlSuffix,值为null。例如可以将此设置为.html,让url看起来“像”是一个静态页面。
caseSensitive  是否大小写敏感,默认使用CUrlManager::caseSensitive,值为null。
defaultParams  该规则使用的默认get参数。当使用该规则来解析一个请求时,这个参数的值会被注入到$_GET参数中。
matchValue  当创建一个URL时,GET参数是否匹配相应的子模式。默认使用CurlManager::matchValue,值为null。

如果该属性为 false,那么意味着当路由和参数名匹配给定的规则时,将以此来创建一个URL。

如果该属性为true,那么给定的参数值夜必须匹配相应的参数子模式。

注意:将此属性设置为true会降低性能。

我们使用一些例子来解释网址工作规则。我们假设我们的规则包括如下三个:

array(
  'posts'=>'post/list',
  'post/'=>'post/read',
  'post//'=>'post/read',
)</pre><p></p>
<p>调用$this->createUrl('post/list')生成/index.php/posts。第一个规则适用。</p>
<p>调用$this->createUrl('post/read',array('id'=>100))生成/index.php/post/100。第二个规则适用。</p>
<p>调用$this->createUrl('post/read',array('year'=>2008,'title'=>'a sample post'))生成/index.php/post/2008/a%20sample%20post。第三个规则适用。</p>
<p>调用$this->createUrl('post/read')产生/index.php/post/read。请注意,没有规则适用。</p>
<p>总之,当使用createUrl生成网址,路线和传递给该方法的GET参数被用来决定哪些网址规则适用。如果关联规则中的每个参数可以在GET参数找到的,将被传递给createUrl ,如果路线的规则也匹配路线参数,规则将用来生成网址。</p>
<p>如果GET参数传递到createUrl是以上所要求的一项规则,其他参数将出现在查询字符串。例如,如果我们调用$this->createUrl('post/read',array('id'=>100,'year'=>2008)) ,我们将获得/index.php/post/100?year=2008。为了使这些额外参数出现在路径信息的一部分,我们应该给规则附加/* 。 因此,该规则post/<id:>/* ,我们可以获取网址/index.php/post/100/year/2008 。</id:></p>
<p>正如我们提到的,URL规则的其他用途是解析请求网址。当然,这是URL生成的一个逆过程。例如, 当用户请求/index.php/post/100 ,上面例子的第二个规则将适用来解析路线post/read和GET参数array('id'=>100) (可通过$_GET获得) 。</p>
<p><span style="color: #0000ff">提示:此网址通过createurl方法所产生的是一个相对地址。为了得到一个绝对的url ,我们可以用前缀yii: :app()->hostInfo ,或调用createAbsoluteUrl 。</span></p>
<p><span style="color: #ff0000">注:使用的URL规则将降低应用的性能</span>。这是因为当解析请求的URL ,[ CUrlManager ]尝试使用每个规则来匹配它,直到某个规则可以适用。因此,高流量网站应用应尽量减少其使用的URL规则。</p>
<p>test.com/vthot 想生成 test.com/vthot/</p><pre class="brush:php;toolbar:false">'urlSuffix'=>'/',</pre><p>要更改URL格式,我们应该配置urlManager应用元件,以便createUrl可以自动切换到新格式和应用程序可以正确理解新的网址:</p>
<p class="jb51code"></p><pre class="brush:php;toolbar:false">'urlManager'=>array(
  'urlFormat'=>'path',
  'showScriptName'=>false,
  'urlSuffix'=>'.html',
  'rules'=>array(
    'posts'=>'post/list',
    'post/<id:\d+>'=>array('post/show','urlSuffix'=>'.html'),
    'post/<id:\d+>/<mid:\w+>'=>array('post/view','urlSuffix'=>'.xml'),
  ),
),</pre><p></p>
<p>示例一</p>
<p>Rule代码</p><pre class="brush:php;toolbar:false">'posts'=>'post/list',</pre><p>Action代码</p><pre class="brush:php;toolbar:false">echo $this->createAbsoluteUrl('post/list');</pre><p>输出</p>
<p>http://localhost/test/index.php/post</p>
<p>示例二</p>
<p>Rule代码</p><pre class="brush:php;toolbar:false">'post/<id:\d+>'=>array('post/show','urlSuffix'=>'.html'),</pre><p>Action代码</p><pre class="brush:php;toolbar:false">echo $this->createAbsoluteUrl('post/show',array('id'=>998, 'name'=>'123'));</pre><p>输出</p>
<p>http://localhost/test/index.php/post/998.html?name=123</p><div class="aritcle_card flexRow">
							<div class="artcardd flexRow">
								<a class="aritcle_card_img" href="/xiazai/code/10563" title="艺帆网络工作室网站源码1.7.5"><img
										src="https://img.php.cn/upload/webcode/000/000/011/176275080475667.jpg" alt="艺帆网络工作室网站源码1.7.5"></a>
								<div class="aritcle_card_info flexColumn">
									<a href="/xiazai/code/10563" title="艺帆网络工作室网站源码1.7.5">艺帆网络工作室网站源码1.7.5</a>
									<p>艺帆网络工作室网站源码,是国庆后新一批新概念的网站源码,采用流行的Html5和JS组合流畅顺滑,界面清晰明朗,适合科技类企业和公司建站使用。如果你是想成为一家独特的设计公司,拥有独特的文化,追求品质,而非数量与规模。 这种坚持一直贯穿于项目运作之中,从品牌建立、形象推广设计到品牌形象管理。那可以考虑使用这款艺帆网络工作室网站源码。 这款源码中服务项目和团队程序需要在_template文件夹下的in</p>
								</div>
								<a href="/xiazai/code/10563" title="艺帆网络工作室网站源码1.7.5" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
							</div>
						</div>
<p>示例三</p>
<p>Rule代码:</p><pre class="brush:php;toolbar:false">'post/<id:\d+>/<mid:\w+>'=>array('post/view','urlSuffix'=>'.xml'),</pre><p>Action代码<br></p><pre class="brush:php;toolbar:false">echo $this->createAbsoluteUrl('post/view',array('id'=>998, 'mid'=>'tody'));</pre><p>输出</p>
<p>http://localhost/test/index.php/post/998/tody.xml</p>
<p>示例四</p>
<p>Rule代码</p><pre class="brush:php;toolbar:false">'http://<user:\w+>.vt.com/<_c:(look|seek)>'=>array('<_c>/host','urlSuffix'=>'.me'),</pre><p>Action代码:</p>
<p class="jb51code"></p><pre class="brush:php;toolbar:false">echo $this->createAbsoluteUrl('look/host',array('user'=>'boy','mid'=>'ny-01'));
echo '';
echo $this->createAbsoluteUrl('looks/host',array('user'=>'boy','mid'=>'ny-01'));</pre><p></p>
<p>输出</p>
<p>http://boy.vt.com/look.me?mid=ny-01<br>http://localhost/test/index.php/looks/host/user/boy/mid/ny-01</p>
<p>1)controller/Update/id/23</p>
<p class="jb51code"></p><pre class="brush:php;toolbar:false">public function actionUpdate(){
  $id = Yii::app()->request->getQuery('id') ; 经过处理的$_GET['id']
}
//$id = Yii::app()->request->getPost('id'); 经过处理的$_POST['id']
//$id = Yii::app()->request->getParam('id'); //CHttpRequest更多</pre><p></p>
<p>2)public function actionUpdate($id)  这种不支持多主键,会检查一下到底GET里面有没有id,没有id就直接不允许访问</p>
<p class="jb51code"></p><pre class="brush:php;toolbar:false">'sayhello/<name>' => 'post/hello', name是PostController actionHello($name)的参数
'post/<alias:[-a-z]+>' => 'post/view',  domain/post/e文小写 其中:前面的alias是PostController actionView($alias)的参数
'(posts|archive)/<order:(DESC|ASC)>' => 'post/index', domain/posts/DESC或domain/posts/ASC
'(posts|archive)' => 'post/index', domain/posts或domain/archive
'tos' => array('website/page', 'defaultParams' => array('alias' =>'terms_of_service')),</pre><p></p>
<p>When the URL is /tos, pass terms_of_service as the alias parameter value.</p>
<p><strong>隐藏 index.php</strong></p>
<p>还有一点,我们可以做进一步清理我们的网址,即在URL中藏匿index.php  入口脚本。这就要求我们配置Web服务器,以及urlManager应用程序元件。</p>
<p><span style="color: #0000ff">1.add showScriptName=>false</span></p>
<p><span style="color: #0000ff">2.add project/.htaccess</span></p>
<p class="jb51code"></p><pre class="brush:html;toolbar:false;">RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php</pre><p></p>
<p><span style="color: #0000ff">3.开启rewrite</span></p>
<p>简单的说,在main.php中简单设置urlManager,然后讲了3条规则,基本都覆盖到了。最后是隐藏index.php,请记住.htaccess位于index.php同级目录 ,而不是protected/目录。其他就简单了。</p>
<p>以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!</p>
<p>相关推荐:</p>
<p><a href="http://www.php.cn/php-weizijiaocheng-403816.html" target="_blank">关于Yii基于数组和对象的Model查询</a><br></p>
<p><a href="http://www.php.cn/php-weizijiaocheng-403781.html" target="_blank">Yii和CKEditor实现图片上传的功能</a><br></p>
<p><a href="http://www.php.cn/php-weizijiaocheng-403763.html" target="_blank">Yii2如何使用Bootbox插件实现自定义弹窗</a><br></p>
<p></p>
<p class="clearfix"><span class="jbTestPos"></span></p>					</div>
					<div class="artmoreart ">
													<div class="artdp artptit"><span></span>
								<p>相关文章</p>
							</div>
							<div class="artmores flexColumn">
																	<a class="artmrlis flexRow" href="/faq/2003872.html" title="yii rest api快吗_测yii构建接口的开发效率值【接口】"><b></b>
										<p class="overflowclass">yii rest api快吗_测yii构建接口的开发效率值【接口】</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/2003318.html" title="yii schema管理顺吗_说yii数据库结构同步便捷度【schema】"><b></b>
										<p class="overflowclass">yii schema管理顺吗_说yii数据库结构同步便捷度【schema】</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/1999627.html" title="yii安全机制强吗_解析yii内置防护与漏洞抵御力【防护】"><b></b>
										<p class="overflowclass">yii安全机制强吗_解析yii内置防护与漏洞抵御力【防护】</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/1999591.html" title="yii框架适合什么场景_分析yii在大型系统的适配性【场景】"><b></b>
										<p class="overflowclass">yii框架适合什么场景_分析yii在大型系统的适配性【场景】</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/1990997.html" title="yii权限控制细吗_评yii rbac权限粒度精细度【权限】"><b></b>
										<p class="overflowclass">yii权限控制细吗_评yii rbac权限粒度精细度【权限】</p>
									</a>
															</div>
													<div class="artmoretabs flexRow">
								<p>相关标签:</p>
								<div class="mtbs flexRow">
									<a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/16886.html" target="_blank">yii</a>								</div>
							</div>
						
						<p class="statement">本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn</p>
						<div class="lastanext flexRow">
													<a class="lastart flexRow" href="/faq/403819.html" title="ThinkPHP中数据库操作返回值的相关内容总结"><span>上一篇:</span>ThinkPHP中数据库操作返回值的相关内容总结</a>
													<a class="nextart flexRow" href="/faq/403821.html" title="ThinkPHP的相关总结"><span>下一篇:</span>ThinkPHP的相关总结</a>
												</div>
					</div>

					<div class="artlef-down ">
													<div class="authormore ">
								<div class="rightdTitle flexRow">
									<div class="title-left flexRow"> <b></b>
										<p>作者最新文章</p>
									</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/417237.html" title="如何在两个内联元素之间添加换行符"><b></b>
												<p class="overflowclass">如何在两个内联元素之间添加换行符</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2019-04-15 14:06</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/417243.html" title="ps反向选区快捷键是什么?"><b></b>
												<p class="overflowclass">ps反向选区快捷键是什么?</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2019-04-15 15:37</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/417251.html" title="编程适合什么人学?"><b></b>
												<p class="overflowclass">编程适合什么人学?</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2019-04-15 16:23</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/417252.html" title="PS标尺怎么用?"><b></b>
												<p class="overflowclass">PS标尺怎么用?</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2019-04-15 16:46</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/417261.html" title="ctrl+t是什么快捷键?"><b></b>
												<p class="overflowclass">ctrl+t是什么快捷键?</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2019-04-16 10:06</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/417267.html" title="ctrl加什么是保存?"><b></b>
												<p class="overflowclass">ctrl加什么是保存?</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2019-04-16 10:43</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/417276.html" title="it是什么职业?"><b></b>
												<p class="overflowclass">it是什么职业?</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2019-04-16 11:48</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/417285.html" title="剪切快捷键ctrl加什么?"><b></b>
												<p class="overflowclass">剪切快捷键ctrl加什么?</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2019-04-16 14:02</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/417293.html" title="查找的快捷键是ctrl键加上什么键"><b></b>
												<p class="overflowclass">查找的快捷键是ctrl键加上什么键</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2019-04-16 14:55</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/417299.html" title="编程是什么?"><b></b>
												<p class="overflowclass">编程是什么?</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2019-04-16 16:04</p>
											</div>
										</div>
								</div>
															</div>
						
						<div class="moreAi ">
							<div class="rightdTitle flexRow">
								<div class="title-left flexRow"> <b></b>
									<p>热门AI工具</p>
								</div>
								<a target="_blank" class="rititle-more flexRow" href="/ai" title="热门AI工具"><span>更多</span><b></b></a>
							</div>

							<div class="moreailist flexRow">
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/723" title="DeepSeek" class="aibtnsa flexRow" >
												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679963982777.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="DeepSeek" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/723" title="DeepSeek" class="overflowclass abripone">DeepSeek</a>
												<p class="overflowclass abriptwo">幻方量化公司旗下的开源大模型平台</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter"  href="/ai/tag/code" target="_blank" >AI 编程开发</a><a class="aidcontbp flexRow flexcenter"  href="/ai/tag/chat" target="_blank" >AI 聊天问答</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/726" title="豆包大模型" class="aibtnsa flexRow" >
												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175680204067325.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="豆包大模型" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/726" title="豆包大模型" class="overflowclass abripone">豆包大模型</a>
												<p class="overflowclass abriptwo">字节跳动自主研发的一系列大型语言模型</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter"  href="/ai/tag/code" target="_blank" >AI 编程开发</a><a class="aidcontbp flexRow flexcenter"  href="/ai/tag/code/large-model" target="_blank" >AI大模型</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/725" title="通义千问" class="aibtnsa flexRow" >
												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679974228210.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="通义千问" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/725" title="通义千问" class="overflowclass abripone">通义千问</a>
												<p class="overflowclass abriptwo">阿里巴巴推出的全能AI助手</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter"  href="/ai/tag/code" target="_blank" >AI 编程开发</a><a class="aidcontbp flexRow flexcenter"  href="/ai/tag/ai-agent" target="_blank" >Agent智能体</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/854" title="腾讯元宝" class="aibtnsa flexRow" >
												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679978251103.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="腾讯元宝" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/854" title="腾讯元宝" class="overflowclass abripone">腾讯元宝</a>
												<p class="overflowclass abriptwo">腾讯混元平台推出的AI助手</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter"  href="/ai/tag/office/docs" target="_blank" >文档处理</a><a class="aidcontbp flexRow flexcenter"  href="/ai/tag/chat" target="_blank" >AI 聊天问答</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/724" title="文心一言" class="aibtnsa flexRow" >
												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679974557049.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="文心一言" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/724" title="文心一言" class="overflowclass abripone">文心一言</a>
												<p class="overflowclass abriptwo">文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter"  href="/ai/tag/code" target="_blank" >AI 编程开发</a><a class="aidcontbp flexRow flexcenter"  href="/ai/tag/text" target="_blank" >AI 文本写作</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/1507" title="讯飞写作" class="aibtnsa flexRow" >
												<img src="https://img.php.cn/upload/ai_manual/000/969/633/68b7a4153cd86671.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="讯飞写作" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/1507" title="讯飞写作" class="overflowclass abripone">讯飞写作</a>
												<p class="overflowclass abriptwo">基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter"  href="/ai/tag/text" target="_blank" >AI 文本写作</a><a class="aidcontbp flexRow flexcenter"  href="/ai/tag/text/chinese-writing" target="_blank" >中文写作</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/1115" title="即梦AI" class="aibtnsa flexRow" >
												<img src="https://img.php.cn/upload/ai_manual/001/246/273/68b6d8f7c530c315.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="即梦AI" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/1115" title="即梦AI" class="overflowclass abripone">即梦AI</a>
												<p class="overflowclass abriptwo">一站式AI创作平台,免费AI图片和视频生成。</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter"  href="" target="_blank" ></a><a class="aidcontbp flexRow flexcenter"  href="/ai/tag/image/image-titching" target="_blank" >图片拼接</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/808" title="ChatGPT" class="aibtnsa flexRow" >
												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679970194596.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="ChatGPT" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/808" title="ChatGPT" class="overflowclass abripone">ChatGPT</a>
												<p class="overflowclass abriptwo">最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter"  href="/ai/tag/code" target="_blank" >AI 编程开发</a><a class="aidcontbp flexRow flexcenter"  href="/ai/tag/text" target="_blank" >AI 文本写作</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/821" title="智谱清言 - 免费全能的AI助手" class="aibtnsa flexRow" >
												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679976181507.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="智谱清言 - 免费全能的AI助手" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/821" title="智谱清言 - 免费全能的AI助手" class="overflowclass abripone">智谱清言 - 免费全能的AI助手</a>
												<p class="overflowclass abriptwo">智谱清言 - 免费全能的AI助手</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter"  href="/ai/tag/code" target="_blank" >AI 编程开发</a><a class="aidcontbp flexRow flexcenter"  href="/ai/tag/ai-agent" target="_blank" >Agent智能体</a>													</div>
																							</div>
										</div>
									</div>
															</div>
						</div>

					</div>


				</div>


			</div>
			<div class="conRight artdtilRight ">
				<div class="artrig-adv ">
                    <script type="text/javascript" src="https://teacher.php.cn/php/MDM3MTk1MGYxYjI5ODJmNTE0ZWVkZTA3NmJhYzhmMjI6Og=="></script>
                </div>
				<div class="hotzt artdtzt">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>相关专题</p>
						</div>
						<a target="_blank" class="rititle-more flexRow" href="/faq/zt" title="相关专题"><span>更多</span><b></b></a>
					</div>
					<div class="hotztuls flexColumn">
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/pythonxlh" class="aClass flexRow hotzta" title="Python 序列化"><img
										src="https://img.php.cn/upload/subject/202602/02/2026020220145347123.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Python 序列化" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/pythonxlh" class="aClass flexRow hotztra overflowclass" title="Python 序列化">Python 序列化</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了python序列化、反序列化相关内容,阅读专题下面的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">12</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.02.02</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/aogwrkyzwydsz" class="aClass flexRow hotzta" title="AO3官网入口与中文阅读设置 AO3网页版使用与访问"><img
										src="https://img.php.cn/upload/subject/202602/02/2026020210463355069.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="AO3官网入口与中文阅读设置 AO3网页版使用与访问" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/aogwrkyzwydsz" class="aClass flexRow hotztra overflowclass" title="AO3官网入口与中文阅读设置 AO3网页版使用与访问">AO3官网入口与中文阅读设置 AO3网页版使用与访问</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题围绕 Archive of Our Own(AO3)官网入口展开,系统整理 AO3 最新可用官网地址、网页版访问方式、正确打开链接的方法,并详细讲解 AO3 中文界面设置、阅读语言切换及基础使用流程,帮助用户稳定访问 AO3 官网,高效完成中文阅读与作品浏览。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">200</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.02.02</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/zlkddhcxrk" class="aClass flexRow hotzta" title="主流快递单号查询入口 实时物流进度一站式追踪专题"><img
										src="https://img.php.cn/upload/subject/202602/02/2026020210372128708.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="主流快递单号查询入口 实时物流进度一站式追踪专题" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/zlkddhcxrk" class="aClass flexRow hotztra overflowclass" title="主流快递单号查询入口 实时物流进度一站式追踪专题">主流快递单号查询入口 实时物流进度一站式追踪专题</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题聚合极兔快递、京东快递、中通快递、圆通快递、韵达快递等主流物流平台的单号查询与运单追踪内容,重点解决单号查询、手机号查物流、官网入口直达、包裹进度实时追踪等高频问题,帮助用户快速获取最新物流状态,提升查件效率与使用体验。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">98</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.02.02</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/gwkfrm" class="aClass flexRow hotzta" title="Golang WebAssembly(WASM)开发入门"><img
										src="https://img.php.cn/upload/subject/202602/02/2026020210285726440.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Golang WebAssembly(WASM)开发入门" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/gwkfrm" class="aClass flexRow hotztra overflowclass" title="Golang WebAssembly(WASM)开发入门">Golang WebAssembly(WASM)开发入门</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题系统讲解 Golang 在 WebAssembly(WASM)开发中的实践方法,涵盖 WASM 基础原理、Go 编译到 WASM 的流程、与 JavaScript 的交互方式、性能与体积优化,以及典型应用场景(如前端计算、跨平台模块)。帮助开发者掌握 Go 在新一代 Web 技术栈中的应用能力。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">15</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.02.02</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/psgxnfwkf" class="aClass flexRow hotzta" title="PHP Swoole 高性能服务开发"><img
										src="https://img.php.cn/upload/subject/202602/02/2026020210221093854.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="PHP Swoole 高性能服务开发" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/psgxnfwkf" class="aClass flexRow hotztra overflowclass" title="PHP Swoole 高性能服务开发">PHP Swoole 高性能服务开发</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题聚焦 PHP Swoole 扩展在高性能服务端开发中的应用,系统讲解协程模型、异步IO、TCP/HTTP/WebSocket服务器、进程与任务管理、常驻内存架构设计。通过实战案例,帮助开发者掌握 使用 PHP 构建高并发、低延迟服务端应用的工程化能力。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">16</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.02.02</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/jjybddmjhsz" class="aClass flexRow hotzta" title="Java JNI 与本地代码交互实战"><img
										src="https://img.php.cn/upload/subject/202602/02/2026020210112589399.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Java JNI 与本地代码交互实战" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/jjybddmjhsz" class="aClass flexRow hotztra overflowclass" title="Java JNI 与本地代码交互实战">Java JNI 与本地代码交互实战</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题系统讲解 Java 通过 JNI 调用 C/C++ 本地代码的核心机制,涵盖 JNI 基本原理、数据类型映射、内存管理、异常处理、性能优化策略以及典型应用场景(如高性能计算、底层库封装)。通过实战示例,帮助开发者掌握 Java 与本地代码混合开发的完整流程。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">9</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.02.02</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/goyyzsbm" class="aClass flexRow hotzta" title="go语言 注释编码"><img
										src="https://img.php.cn/upload/subject/202601/31/2026013117015278131.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="go语言 注释编码" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/goyyzsbm" class="aClass flexRow hotztra overflowclass" title="go语言 注释编码">go语言 注释编码</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">62</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.31</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/goyymathb" class="aClass flexRow hotzta" title="go语言 math包"><img
										src="https://img.php.cn/upload/subject/202601/31/2026013116572341092.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="go语言 math包" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/goyymathb" class="aClass flexRow hotztra overflowclass" title="go语言 math包">go语言 math包</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">56</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.31</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/goyysrhs" class="aClass flexRow hotzta" title="go语言输入函数"><img
										src="https://img.php.cn/upload/subject/202601/31/2026013116505190954.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="go语言输入函数" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/goyysrhs" class="aClass flexRow hotztra overflowclass" title="go语言输入函数">go语言输入函数</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">28</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.31</p>
										</div>
									</div>
								</div>
							</div>
											</div>
				</div>

				<div class="hotdownload ">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>热门下载</p>
						</div>
						<a target="_blank" class="rititle-more flexRow" href="/xiazai" title="热门下载"><span>更多</span><b></b></a>
					</div>
					<div class="hotdownTab">
						<div class="hdTabs flexRow">
							<div class="check" data-id="onef">网站特效 <b></b> </div> /
							<div class="" data-id="twof">网站源码 <b></b></div> /
							<div class="" data-id="threef">网站素材 <b></b></div> /
							<div class="" data-id="fourf">前端模板 <b></b></div>
						</div>
						<ul class="onef">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="js图片轮播滚动 js左右箭头按钮控制图片轮播滚动" href="/xiazai/js/8769"><span>[图片特效]</span><span>js图片轮播滚动 js左右箭头按钮控制图片轮播滚动</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jquery可切换主题的注册表单" href="/xiazai/js/8768"><span>[表单按钮]</span><span>jquery可切换主题的注册表单</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="Bootstrap扁平带浮动标签表单" href="/xiazai/js/8767"><span>[表单按钮]</span><span>Bootstrap扁平带浮动标签表单</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="时间轴图片切换代码" href="/xiazai/js/8766"><span>[图片特效]</span><span>时间轴图片切换代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jquery自动填充搜索框" href="/xiazai/js/8765"><span>[表单按钮]</span><span>jquery自动填充搜索框</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="swiper倾斜图片左右切换特效" href="/xiazai/js/8764"><span>[图片特效]</span><span>swiper倾斜图片左右切换特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery Banner图片旋转切换代码" href="/xiazai/js/8763"><span>[图片特效]</span><span>jQuery Banner图片旋转切换代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="css3实现3D登录表单 css3实现3D登录表单网页特效" href="/xiazai/js/8762"><span>[表单按钮]</span><span>css3实现3D登录表单 css3实现3D登录表单网页特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery选项卡切换图片异步加载代码" href="/xiazai/js/8761"><span>[图片特效]</span><span>jQuery选项卡切换图片异步加载代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery Select下拉框美化插件" href="/xiazai/js/8760"><span>[表单按钮]</span><span>jQuery Select下拉框美化插件</span></a>
									</div>
								</li>
													</ul>
						<ul class="twof" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11355" title="openaishop"><span>[电商源码]</span><span>openaishop</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11354" title="思翔企(事)业单位文件柜 build 20080313"><span>[其它模板]</span><span>思翔企(事)业单位文件柜 build 20080313</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11353" title="雅龙智能装备工业设备类WordPress主题1.0"><span>[企业站源码]</span><span>雅龙智能装备工业设备类WordPress主题1.0</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11352" title="威发卡自动发卡系统"><span>[电商源码]</span><span>威发卡自动发卡系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11351" title="卡密分发系统"><span>[电商源码]</span><span>卡密分发系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11350" title="中华陶瓷网"><span>[电商源码]</span><span>中华陶瓷网</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11349" title="简洁粉色食品公司网站"><span>[电商源码]</span><span>简洁粉色食品公司网站</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11348" title="极速网店系统"><span>[电商源码]</span><span>极速网店系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11347" title="淘宝妈妈_淘客推广系统"><span>[电商源码]</span><span>淘宝妈妈_淘客推广系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11346" title="积客B2SCMS商城系统"><span>[电商源码]</span><span>积客B2SCMS商城系统</span> </a>
									</div>
								</li>
													</ul>
						<ul class="threef" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4326" title="唯美紫色兰花盆栽插画矢量素材"><span>[网站素材]</span><span>唯美紫色兰花盆栽插画矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4325" title="2026马年装饰合集矢量素材"><span>[网站素材]</span><span>2026马年装饰合集矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4324" title="红色浪漫情人节竖版海报PSD模板下载"><span>[网站素材]</span><span>红色浪漫情人节竖版海报PSD模板下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4323" title="创意文字情人节海报矢量模板"><span>[网站素材]</span><span>创意文字情人节海报矢量模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4322" title="新中式水墨山水画矢量素材"><span>[网站素材]</span><span>新中式水墨山水画矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4321" title="美味披萨宣传INS海报模板设计下载"><span>[网站素材]</span><span>美味披萨宣传INS海报模板设计下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4320" title="可爱民俗风彩色生肖马矢量插画"><span>[网站素材]</span><span>可爱民俗风彩色生肖马矢量插画</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4319" title="红色爱心情人节主题海报设计源文件下载"><span>[网站素材]</span><span>红色爱心情人节主题海报设计源文件下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4318" title="2026马年新年贺卡矢量模板"><span>[网站素材]</span><span>2026马年新年贺卡矢量模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4317" title="蓝色极简风格招聘海报设计下载"><span>[网站素材]</span><span>蓝色极简风格招聘海报设计下载</span> </a>
									</div>
								</li>
													</ul>
						<ul class="fourf" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8590"  title="驾照考试驾校HTML5网站模板"><span>[前端模板]</span><span>驾照考试驾校HTML5网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8589"  title="驾照培训服务机构宣传网站模板"><span>[前端模板]</span><span>驾照培训服务机构宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8588"  title="HTML5房地产公司宣传网站模板"><span>[前端模板]</span><span>HTML5房地产公司宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8587"  title="新鲜有机肉类宣传网站模板"><span>[前端模板]</span><span>新鲜有机肉类宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8586"  title="响应式天气预报宣传网站模板"><span>[前端模板]</span><span>响应式天气预报宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8585"  title="房屋建筑维修公司网站CSS模板"><span>[前端模板]</span><span>房屋建筑维修公司网站CSS模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8584"  title="响应式志愿者服务网站模板"><span>[前端模板]</span><span>响应式志愿者服务网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8583"  title="创意T恤打印店网站HTML5模板"><span>[前端模板]</span><span>创意T恤打印店网站HTML5模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8582"  title="网页开发岗位简历作品展示网页模板"><span>[前端模板]</span><span>网页开发岗位简历作品展示网页模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8581"  title="响应式人力资源机构宣传网站模板"><span>[前端模板]</span><span>响应式人力资源机构宣传网站模板</span> </a>
									</div>
								</li>
													</ul>
					</div>
					<script>
						$('.hdTabs>div').click(function (e) {
							$('.hdTabs>div').removeClass('check')
							$(this).addClass('check')
							$('.hotdownTab>ul').css('display', 'none')
							$('.' + e.currentTarget.dataset.id).show()
						})
					</script>

				</div>

				<div class="artrig-adv ">
					<script type="text/javascript" src="https://teacher.php.cn/php/MDM3MTk1MGYxYjI5ODJmNTE0ZWVkZTA3NmJhYzhmMjI6Og=="></script>
                </div>



				<div class="xgarts ">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>相关下载</p>
						</div>
						<a target="_blank" class="rititle-more flexRow" href="/xiazai" title="相关下载"><span>更多</span><b></b></a>
					</div>
					<div class="xgwzlist ">
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="艺帆网络工作室网站源码1.7.5" href="/xiazai/code/10563">艺帆网络工作室网站源码1.7.5</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="A+响应式布局后台模板" href="/xiazai/code/10318">A+响应式布局后台模板</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="站长俱乐部购物系统" href="/xiazai/code/10242">站长俱乐部购物系统</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="卓丰企业网站管理系统英文版" href="/xiazai/code/10233">卓丰企业网站管理系统英文版</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="千博企业网站管理系统个人SQL版20120128" href="/xiazai/code/9921">千博企业网站管理系统个人SQL版20120128</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="云模块网站管理系统3.1.03" href="/xiazai/code/9814">云模块网站管理系统3.1.03</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="网商宝商城管理系统" href="/xiazai/code/9670">网商宝商城管理系统</a></div>
										</div>

				</div>

				<div class="jpkc">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>精品课程</p>
						</div>
						<a class="rititle-more flexRow" target="_blank" href="/course/sort_new.html" title="精品课程"><span>更多</span><b></b></a>
					</div>
					<div class=" jpkcTab">
						<div class=" jpkcTabs flexRow">
							<div class="check" data-id="onefd">相关推荐 <b></b> </div> /
							<div class="" data-id="twofd">热门推荐 <b></b></div> /
							<div class="" data-id="threefd">最新课程 <b></b></div>
						</div>
						<div class="onefd jpktabd">
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/215.html" title="Yii2.0框架开发实战视频教程">
									<img src="https://img.php.cn/upload/course/000/000/068/6255423f657db243.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Yii2.0框架开发实战视频教程" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/215.html" title="Yii2.0框架开发实战视频教程"
										class="rirightp overflowclass">Yii2.0框架开发实战视频教程</a>

									<div class="risrdown flexRow">
										<p>共22课时 | 8.7万人学习</p>
									</div>
								</div>
							</div>
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/688.html" title="Yii2.0框架入门与实战项目开发视频教程">
									<img src="https://img.php.cn/upload/course/000/000/068/625533cf1063c217.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Yii2.0框架入门与实战项目开发视频教程" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/688.html" title="Yii2.0框架入门与实战项目开发视频教程"
										class="rirightp overflowclass">Yii2.0框架入门与实战项目开发视频教程</a>

									<div class="risrdown flexRow">
										<p>共51课时 | 12.7万人学习</p>
									</div>
								</div>
							</div>
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/355.html" title="传智播客Yii开发大型商城项目视频教程">
									<img src="https://img.php.cn/upload/course/000/000/068/625529391f93b688.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="传智播客Yii开发大型商城项目视频教程" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/355.html" title="传智播客Yii开发大型商城项目视频教程"
										class="rirightp overflowclass">传智播客Yii开发大型商城项目视频教程</a>

									<div class="risrdown flexRow">
										<p>共59课时 | 14.6万人学习</p>
									</div>
								</div>
							</div>
												</div>

						<div class="twofd jpktabd" style="display:none;">
															<div  class="ristyA flexRow " >
									<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学">
										<img src="https://img.php.cn/upload/course/000/000/081/6862652adafef801.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="JavaScript ES5基础线上课程教学" class="ristyAimg"
											onerror="this.src='/static/mobimages/moren/morentu.png'">
									</a>
									<div class="ristyaRight flexColumn">
										<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学"
											class="rirightp overflowclass">JavaScript ES5基础线上课程教学</a>

										<div class="risrdown flexRow">
											<p>共6课时 | 11.2万人学习</p>
										</div>
									</div>
								</div>
															<div  class="ristyA flexRow " >
									<a target="_blank" href="/course/812.html" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)">
										<img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)" class="ristyAimg"
											onerror="this.src='/static/mobimages/moren/morentu.png'">
									</a>
									<div class="ristyaRight flexColumn">
										<a target="_blank" href="/course/812.html" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)"
											class="rirightp overflowclass">最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)</a>

										<div class="risrdown flexRow">
											<p>共79课时 | 152万人学习</p>
										</div>
									</div>
								</div>
															<div  class="ristyA flexRow " >
									<a target="_blank" href="/course/639.html" title="phpStudy极速入门视频教程">
										<img src="https://img.php.cn/upload/course/000/000/068/62611ef88fcec821.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="phpStudy极速入门视频教程" class="ristyAimg"
											onerror="this.src='/static/mobimages/moren/morentu.png'">
									</a>
									<div class="ristyaRight flexColumn">
										<a target="_blank" href="/course/639.html" title="phpStudy极速入门视频教程"
											class="rirightp overflowclass">phpStudy极速入门视频教程</a>

										<div class="risrdown flexRow">
											<p>共6课时 | 53.5万人学习</p>
										</div>
									</div>
								</div>
													</div>

						<div class="threefd jpktabd" style="display:none;">
															<div  class="ristyA flexRow " >
										<a target="_blank" href="/course/1696.html" title="最新Python教程 从入门到精通">
											<img src="https://img.php.cn/upload/course/000/000/081/68c135bb72783194.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="最新Python教程 从入门到精通" class="ristyAimg"
												onerror="this.src='/static/mobimages/moren/morentu.png'">
										</a>
										<div class="ristyaRight flexColumn">
											<a target="_blank" href="/course/1696.html" title="最新Python教程 从入门到精通"
												class="rirightp overflowclass">最新Python教程 从入门到精通</a>

											<div class="risrdown flexRow">
												<p>共4课时 | 22.4万人学习</p>
											</div>
										</div>
									</div>
																<div  class="ristyA flexRow " >
										<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学">
											<img src="https://img.php.cn/upload/course/000/000/081/6862652adafef801.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="JavaScript ES5基础线上课程教学" class="ristyAimg"
												onerror="this.src='/static/mobimages/moren/morentu.png'">
										</a>
										<div class="ristyaRight flexColumn">
											<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学"
												class="rirightp overflowclass">JavaScript ES5基础线上课程教学</a>

											<div class="risrdown flexRow">
												<p>共6课时 | 11.2万人学习</p>
											</div>
										</div>
									</div>
																<div  class="ristyA flexRow " >
										<a target="_blank" href="/course/1655.html" title="PHP新手语法线上课程教学">
											<img src="https://img.php.cn/upload/course/000/000/081/684a8c23d811b293.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="PHP新手语法线上课程教学" class="ristyAimg"
												onerror="this.src='/static/mobimages/moren/morentu.png'">
										</a>
										<div class="ristyaRight flexColumn">
											<a target="_blank" href="/course/1655.html" title="PHP新手语法线上课程教学"
												class="rirightp overflowclass">PHP新手语法线上课程教学</a>

											<div class="risrdown flexRow">
												<p>共13课时 | 0.9万人学习</p>
											</div>
										</div>
									</div>
														</div>
						<script>
							$('.jpkcTabs>div').click(function (e) {
								$('.jpkcTabs>div').removeClass('check')
								$(this).addClass('check')
								$('.jpkcTab .jpktabd').css('display', 'none')
								$('.' + e.currentTarget.dataset.id).show()
							})
						</script>

					</div>
				</div>

				<div class="zxarts ">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>最新文章</p>
						</div>
						<a class="rititle-more flexRow" href="" title="最新文章" target="_blank"><span>更多</span><b></b></a>
					</div>
					<div class="xgwzlist ">
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何通过 JavaScript 实现滚动到评论区并自动展开对应手风琴面板" href="/faq/2060154.html">如何通过 JavaScript 实现滚动到评论区并自动展开对应手风琴面板</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP怎样修改日志文件时间戳_PHP改日志时间戳技巧【更新】" href="/faq/2060143.html">PHP怎样修改日志文件时间戳_PHP改日志时间戳技巧【更新】</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP缓存数据过期怎样自动清理_PHP自动清理缓存法【自洁】" href="/faq/2060126.html">PHP缓存数据过期怎样自动清理_PHP自动清理缓存法【自洁】</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="php页面渐变能适配手机端吗_php页面移动端渐变适配【教程】" href="/faq/2060116.html">php页面渐变能适配手机端吗_php页面移动端渐变适配【教程】</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何在WordPress主题头部正确调用自定义PHP函数" href="/faq/2060052.html">如何在WordPress主题头部正确调用自定义PHP函数</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="php修改只读文件权限方法_php解除只读状态技巧【教程】" href="/faq/2060041.html">php修改只读文件权限方法_php解除只读状态技巧【教程】</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何正确嵌套表单与表格元素以避免HTML结构错误" href="/faq/2060026.html">如何正确嵌套表单与表格元素以避免HTML结构错误</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP隐错设置写进配置文件吗_PHP配置文件隐错写【持久】" href="/faq/2060017.html">PHP隐错设置写进配置文件吗_PHP配置文件隐错写【持久】</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="php按分号分割文本含转义分号_php转义分号分割正则处理【步骤】" href="/faq/2060007.html">php按分号分割文本含转义分号_php转义分号分割正则处理【步骤】</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="php页面渐变能做渐隐效果吗_php页面渐隐渐变实现法【技巧】" href="/faq/2059989.html">php页面渐变能做渐隐效果吗_php页面渐隐渐变实现法【技巧】</a></div>
											</div>

				</div>






			</div>



		</div>

	</div>
	<!--底部-->
	<div class="phpFoot">
    <div class="phpFootIn">
        <div class="phpFootCont">
            <div class="phpFootLeft">
                <dl>
                    <dt>
                        <a target="_blank"  href="/about/us.html" rel="nofollow"  title="关于我们" class="cBlack">关于我们</a>
                        <a target="_blank"  href="/about/disclaimer.html" rel="nofollow"  title="免责申明" class="cBlack">免责申明</a>
                        <a target="_blank"  href="/about/jbzx.html" rel="nofollow"  title="举报中心" class="cBlack">举报中心</a>
                        <a   href="javascript:;" rel="nofollow" onclick="advice_data(99999999,'意见反馈')"   title="意见反馈" class="cBlack">意见反馈</a>
                        <a target="_blank"  href="https://www.php.cn/teacher.html" rel="nofollow"   title="讲师合作" class="cBlack">讲师合作</a>
                        <a  target="_blank" href="https://www.php.cn/blog/detail/20304.html" rel="nofollow"  title="广告合作" class="cBlack">广告合作</a>
                        <a  target="_blank" href="/new/"    title="最新文章列表" class="cBlack">最新更新</a>
                                                <div class="clear"></div>
                    </dt>
                    <dd class="cont1">php中文网:公益在线php培训,帮助PHP学习者快速成长!</dd>
                    <dd class="cont2">
                      <span class="ylwTopBox">
                        <a   href="javascript:;"  class="cBlack"><b class="icon1"></b>关注服务号</a>
                        <em style="display:none;" class="ylwTopSub">
                          <p>微信扫码<br/>关注PHP中文网服务号</p>
                          <img src="/static/images/examples/text16.png"/>
                        </em>
                      </span>
                        <span class="ylwTopBox">
                        <a   href="tencent://message/?uin=27220243&Site=www.php.cn&Menu=yes"  class="cBlack"><b class="icon2"></b>技术交流群</a>
                        <em style="display:none;" class="ylwTopSub">
                          <p>QQ扫码<br/>加入技术交流群</p>
                          <img src="/static/images/examples/text18.png"/>
                        </em>
                      </span>
                        <div class="clear"></div>
                    </dd>
                </dl>
                
            </div>
            <div class="phpFootRight">
                <div class="phpFootMsg">
                    <span><img src="/static/images/examples/text17.png"/></span>
                    <dl>
                        <dt>PHP中文网订阅号</dt>
                        <dd>每天精选资源文章推送</dd>
                    </dl>
                </div>
            </div>
        </div>
    </div>
    <div class="phpFootCode">
        <div class="phpFootCodeIn"><p>Copyright 2014-2026 <a   href="https://www.php.cn/" >https://www.php.cn/</a> All Rights Reserved | php.cn | <a   href="https://beian.miit.gov.cn/" rel="nofollow" >湘ICP备2023035733号</a></p><a   href="http://www.beian.gov.cn/portal/index.do" rel="nofollow" ><b></b></a></div>
    </div>
</div>
<input type="hidden" id="verifycode" value="/captcha.html">
<script>
    var _hmt = _hmt || [];
    (function() {
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?c0e685c8743351838d2a7db1c49abd56";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(hm, s);
    })();
</script>
<script>layui.use(['element', 'carousel'], function () {var element = layui.element;$ = layui.jquery;var carousel = layui.carousel;carousel.render({elem: '#test1', width: '100%', height: '330px', arrow: 'always'});$.getScript('/static/js/jquery.lazyload.min.js', function () {$("img").lazyload({placeholder: "/static/images/load.jpg", effect: "fadeIn", threshold: 200, skip_invisible: false});});});</script>

<span class="layui-hide"><script type="text/javascript" src="https://s4.cnzz.com/z_stat.php?id=1280886301&web_id=1280886301"></script></span>

<script src="/static/js/cdn.js?v=1.0.1"></script>



	<!--底部 end-->
	<!-- content -->
	<!--
    <div class="phpFudong">
        <div class="phpFudongIn">
            <div class="phpFudongImg"></div>
            <div class="phpFudongXue">登录PHP中文网,和优秀的人一起学习!</div>
            <div class="phpFudongQuan">全站<span>2000+</span>教程免费学</div>
            <div class="phpFudongCode"><a   href="javascript:;" id="login" title="微信扫码登录">微信扫码登录</a></div>
            <div class="phpGuanbi" onclick="$('.phpFudong').hide();"></div>
            <div class="clear"></div>
        </div>
    </div>
-->	<!--底部浮动层 end-->
	<!--侧导航-->
	<style>
    .layui-fixbar{display: none;}
</style>
<div class="phpSdhBox" style="height:240px !important;">
    <li>
        <div class="phpSdhIn">
            <div class="phpSdhTitle">
                <a   href="/k24.html"  class="hover" title="PHP学习">
                    <b class="icon1"></b>
                    <p>PHP学习</p>
                </a>
            </div>
        </div>
    </li>
    <li>
        <div class="phpSdhIn">
            <div class="phpSdhTitle">
                <a   href="https://www.php.cn/blog/detail/1047189.html" >
                    <b class="icon2"></b>
                    <p>技术支持</p>
                </a>
            </div>
        </div>
    </li>
    <li>
        <div class="phpSdhIn">
            <div class="phpSdhTitle">
                <a   href="#">
                    <b class="icon6"></b>
                    <p>返回顶部</p>
                </a>
            </div>
        </div>
    </li>
</div>
	</body>

</html>

<script type="text/javascript" src="/hitsUp?type=article&id=403820&time=1770085221">
</script>
<script src="/static/ueditor/third-party/SyntaxHighlighter/shCore.js?1770085221"></script>
<script>
	article_status = "153291";
</script>
<input type="hidden" id="verifycode" value="/captcha.html">
<script type="text/javascript" src="/static/js/global.min.js?5.5.33"></script>
<link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all' />
<script type='text/javascript' src='/static/js/viewer.min.js?1'></script>
<script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script>
<script type="text/javascript" src="/static/js/jquery.cookie.js"></script>
<script>var _hmt = _hmt || [];(function(){var hm = document.createElement("script");hm.src="//hm.baidu.com/hm.js?c0e685c8743351838d2a7db1c49abd56";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm, s);})();(function(){var bp = document.createElement('script');var curProtocol = window.location.protocol.split(':')[0];if(curProtocol === 'https'){bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';}else{bp.src = 'http://push.zhanzhang.baidu.com/push.js';};var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(bp, s);})();</script>
	

<script>
	function setCookie(name, value, iDay) { //name相当于键,value相当于值,iDay为要设置的过期时间(天)
		var oDate = new Date();
		oDate.setDate(oDate.getDate() + iDay);
		document.cookie = name + '=' + value + ';path=/;domain=.php.cn;expires=' + oDate;
	}

	function getCookie(name) {
		var cookieArr = document.cookie.split(";");
		for (var i = 0; i < cookieArr.length; i++) {
			var cookiePair = cookieArr[i].split("=");
			if (name == cookiePair[0].trim()) {
				return decodeURIComponent(cookiePair[1]);
			}
		}
		return null;
	}
</script>


<!-- Matomo -->
<script>
	var _paq = window._paq = window._paq || [];
	/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
	_paq.push(['trackPageView']);
	_paq.push(['enableLinkTracking']);
	(function () {
		var u = "https://tongji.php.cn/";
		_paq.push(['setTrackerUrl', u + 'matomo.php']);
		_paq.push(['setSiteId', '7']);
		var d = document,
			g = d.createElement('script'),
			s = d.getElementsByTagName('script')[0];
		g.async = true;
		g.src = u + 'matomo.js';
		s.parentNode.insertBefore(g, s);
	})();
</script>
<!-- End Matomo Code -->

<script>
	setCookie('is_article', 1, 1);
</script>

<script>
	var is_login = "0";
        var show = 0;
        var ceng = getCookie('ceng');
        //未登录复制显示登录按钮
        if(is_login == 0 && false){
            $(".code").hover(function(){
                $(this).find('.contentsignin').show();
            },function(){
                $(this).find('.contentsignin').hide();
            });
            //不给复制
            $('.code').bind("cut copy paste",function(e) {
                e.preventDefault();
            });
            $('.code .contentsignin').click(function(){
                $(document).trigger("api.loginpopbox");
            })
        }else{
            // 获取所有的 <pre> 元素
            var preElements = document.querySelectorAll('pre');
            preElements.forEach(function(preElement) {
                // 创建复制按钮
                var copyButton = document.createElement('button');
                copyButton.className = 'copy-button';
                copyButton.textContent = '复制';
                // 添加点击事件处理程序
                copyButton.addEventListener('click', function() {
                    // 获取当前按钮所属的 <pre> 元素中的文本内容
                    var textContent = preElement.textContent.trim();
                    // 创建一个临时 textarea 元素并设置其值为 <pre> 中的文本内容
                    var tempTextarea = document.createElement('textarea');
                    tempTextarea.value = textContent;
                    // 将临时 textarea 添加到文档中
                    document.body.appendChild(tempTextarea);
                    // 选中临时 textarea 中的文本内容并执行复制操作
                    tempTextarea.select();
                    document.execCommand('copy');
                    // 移除临时 textarea 元素
                    document.body.removeChild(tempTextarea);
                    // 更新按钮文本为 "已复制"
                    this.textContent = '已复制';
                });

                // 创建AI写代码按钮
                var aiButton = document.createElement('button');
                aiButton.className = 'copy-button';
                aiButton.textContent = 'AI写代码';
                aiButton.style.marginLeft = '5px';
                aiButton.style.marginRight = '5px';
                // 添加点击事件处理程序
                aiButton.addEventListener('click', function() {
                // Generate a random number between 0 and 1
                        var randomChance = Math.random();

                    // If the random number is less than 0.5, open the first URL, else open the second
                    if (randomChance < 0.5) {
                        window.open('https://www.doubao.com/chat/coding?channel=php&source=hw_db_php', '_blank');
                    } else {
                        window.open('https://click.aliyun.com/m/1000402709/', '_blank');
                    }
                });

                // 将按钮添加到 <pre> 元素前面
                preElement.parentNode.insertBefore(copyButton, preElement);
                preElement.parentNode.insertBefore(aiButton, preElement);
        });
        }
</script>