首頁 > 後端開發 > Python教學 > 用Python的Django框架来制作一个RSS阅读器

用Python的Django框架来制作一个RSS阅读器

WBOY
發布: 2016-06-10 15:08:53
原創
1899 人瀏覽過

Django带来了一个高级的聚合生成框架,它使得创建RSS和Atom feeds变得非常容易。

什么是RSS? 什么是Atom?

RSS和Atom都是基于XML的格式,你可以用它来提供有关你站点内容的自动更新的feed。 了解更多关于RSS的可以访问 http://www.whatisrss.com/, 更多Atom的信息可以访问 http://www.atomenabled.org/.

想创建一个联合供稿的源(syndication feed),所需要做的只是写一个简短的python类。 你可以创建任意多的源(feed)。

高级feed生成框架是一个默认绑定到/feeds/的视图,Django使用URL的其它部分(在/feeds/之后的任何东西)来决定输出 哪个feed Django uses the remainder of the URL (everything after /feeds/ ) to determine which feed to return.

要创建一个 sitemap,你只需要写一个 Sitemap 类然后配置你的URLconf指向它。
初始化

为了在您的Django站点中激活syndication feeds, 添加如下的 URLconf:

(r'^feeds/(&#63;P<url>.*)/$', 'django.contrib.syndication.views.feed',
  {'feed_dict': feeds}
),

登入後複製

这一行告诉Django使用RSS框架处理所有的以 "feeds/" 开头的URL. ( 你可以修改 "feeds/" 前缀以满足您自己的要求. )

URLConf里有一行参数: {'feed_dict': feeds},这个参数可以把对应URL需要发布的feed内容传递给 syndication framework

特别的,feed_dict应该是一个映射feed的slug(简短URL标签)到它的Feed类的字典 你可以在URL配置本身里定义feed_dict,这里是一个完整的例子 You can define the feed_dict in the URLconf itself. Here's a full example URLconf:

from django.conf.urls.defaults import *
from mysite.feeds import LatestEntries, LatestEntriesByCategory

feeds = {
  'latest': LatestEntries,
  'categories': LatestEntriesByCategory,
}

urlpatterns = patterns('',
  # ...
  (r'^feeds/(&#63;P<url>.*)/$', 'django.contrib.syndication.views.feed',
    {'feed_dict': feeds}),
  # ...
)

登入後複製

前面的例子注册了两个feed:

  1. LatestEntries``表示的内容将对应到``feeds/latest/ .
  2. LatestEntriesByCategory``的内容将对应到 ``feeds/categories/ .

以上的设定完成之后,接下来需要自己定义 Feed 类

一个 Feed 类是一个简单的python类,用来表示一个syndication feed. 一个feed可能是简单的 (例如一个站点新闻feed,或者最基本的,显示一个blog的最新条目),也可能更加复杂(例如一个显示blog某一类别下所有条目的feed。 这里类别 category 是个变量).

Feed类必须继承django.contrib.syndication.feeds.Feed,它们可以在你的代码树的任何位置
一个简单的Feed

This simple example describes a feed of the latest five blog entries for a given blog:

from django.contrib.syndication.feeds import Feed
from mysite.blog.models import Entry

class LatestEntries(Feed):
  title = "My Blog"
  link = "/archive/"
  description = "The latest news about stuff."

  def items(self):
    return Entry.objects.order_by('-pub_date')[:5]

登入後複製

要注意的重要的事情如下所示:

  • 子类 django.contrib.syndication.feeds.Feed .
  • title , link , 和 description 对应一个标准 RSS 里的 , <link> , 和 <description> 标签.</li> <li> items() 是一个方法,返回一个用以包含在包含在feed的 <item> 元素里的 list 虽然例子里用Djangos database API返回的 NewsItem 对象, items() 不一定必须返回 model的实例 Although this example returns Entry objects using Django's database API, items() doesn't have to return model instances.</li> </ul> <p>还有一个步骤,在一个RSS feed里,每个(item)有一个(title),(link)和(description),我们需要告诉框架 把数据放到这些元素中 In an RSS feed, each <item> has a <title> , <link> , and <description> . We need to tell the framework what data to put into those elements.</p> <p> 如果要指定 <title> 和 <description> ,可以建立一个Django模板(见Chapter 4)名字叫 feeds/latest_title.html 和 feeds/latest_description.html ,后者是URLConf里为对应feed指定的 slug 。注意 .html 后缀是必须的。 Note that the .html extension is required.</p> <p> RSS系统模板渲染每一个条目,需要给传递2个参数给模板上下文变量:</p> <ol> <li> obj : 当前对象 ( 返回到 items() 任意对象之一 )。</li> <li> site : 一个表示当前站点的 django.models.core.sites.Site 对象。 这对于 {{ site.domain }} 或者 {{ site.name }} 很有用。</li> </ol> <p> 如果你在创建模板的时候,没有指明标题或者描述信息,框架会默认使用 "{{ obj }}" ,对象的字符串表示。 (For model objects, this will be the __unicode__() method.</p> <p> 你也可以通过修改 Feed 类中的两个属性 title_template 和 description_template 来改变这两个模板的名字。</p> <p> 你有两种方法来指定 <link> 的内容。 Django 首先执行 items() 中每一项的 get_absolute_url() 方法。 如果该方法不存在,就会尝试执行 Feed 类中的 item_link() 方法,并将自身作为 item 参数传递进去。</p> <p> get_absolute_url() 和 item_link() 都应该以Python字符串形式返回URL。</p> <p> 对于前面提到的 LatestEntries 例子,我们可以实现一个简单的feed模板。 latest_title.html 包括:</p> <p>{{ obj.title }}</p> <p> 并且 latest_description.html 包含:</p> <p>{{ obj.description }}</p> <p> 这真是 太 简单了!</p> <p><strong>一个更复杂的Feed</strong></p> <p>框架通过参数支持更加复杂的feeds。</p> <p>For example, say your blog offers an RSS feed for every distinct tag you've used to categorize your entries. 如果为每一个单独的区域建立一个 Feed 类就显得很不明智。</p> <p>取而代之的方法是,使用聚合框架来产生一个通用的源,使其可以根据feeds URL返回相应的信息。</p> <p>Your tag-specific feeds could use URLs like this:</p> <p> http://example.com/feeds/tags/python/ : Returns recent entries tagged with python</p> <p> http://example.com/feeds/tags/cats/ : Returns recent entries tagged with cats</p> <p>固定的那一部分是 "beats" (区域)。</p> <p>举个例子会澄清一切。 下面是每个地区特定的feeds:</p> <div class="jb51code"> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;"> from django.core.exceptions import ObjectDoesNotExist from mysite.blog.models import Entry, Tag class TagFeed(Feed): def get_object(self, bits): # In case of "/feeds/tags/cats/dogs/mice/", or other such # clutter, check that bits has only one member. if len(bits) != 1: raise ObjectDoesNotExist return Tag.objects.get(tag=bits[0]) def title(self, obj): return "My Blog: Entries tagged with %s" % obj.tag def link(self, obj): return obj.get_absolute_url() def description(self, obj): return "Entries tagged with %s" % obj.tag def items(self, obj): entries = Entry.objects.filter(tags__id__exact=obj.id) return entries.order_by('-pub_date')[:30] </pre><div class="contentsignin">登入後複製</div></div> </p> <p>以下是RSS框架的基本算法,我们假设通过URL /rss/beats/0613/ 来访问这个类:</p> <p> 框架获得了URL /rss/beats/0613/ 并且注意到URL中的slug部分后面含有更多的信息。 它将斜杠("/" )作为分隔符,把剩余的字符串分割开作为参数,调用 Feed 类的 get_object() 方法。</p> <p> 在这个例子中,添加的信息是 ['0613'] 。对于 /rss/beats/0613/foo/bar/ 的一个URL请求, 这些信息就是 ['0613', 'foo', 'bar'] 。</p> <p> get_object() 就根据给定的 bits 值来返回区域信息。</p> <p> In this case, it uses the Django database API to retrieve the Tag . Note that get_object() should raise django.core.exceptions.ObjectDoesNotExist if given invalid parameters. 在 Beat.objects.get() 调用中也没有出现 try /except 代码块。 函数在出错时抛出 Beat.DoesNotExist 异常,而 Beat.DoesNotExist 是 ObjectDoesNotExist 异常的一个子类型。</p> <p> 为产生 <title> , <link> , 和 <description> 的feeds, Django使用 title() , link() , 和 description() 方法。 在上面的例子中,它们都是简单的字符串类型的类属性,而这个例子表明,它们既可以是字符串, 也可以是 方法。 对于每一个 title , link 和 description 的组合,Django使用以下的算法:</p> <p> 试图调用一个函数,并且以 get_object() 返回的对象作为参数传递给 obj 参数。</p> <p> 如果没有成功,则不带参数调用一个方法。</p> <p> 还不成功,则使用类属性。</p> <p> 最后,值得注意的是,这个例子中的 items() 使用 obj 参数。 对于 items 的算法就如同上面第一步所描述的那样,首先尝试 items(obj) , 然后是 items() ,最后是 items 类属性(必须是一个列表)。</p> <p>Feed 类所有方法和属性的完整文档,请参考官方的Django文档 (http://www.djangoproject.com/documentation/0.96/syndication_feeds/) 。<br /> 指定Feed的类型</p> <p>默认情况下, 聚合框架生成RSS 2.0. 要改变这样的情况, 在 Feed 类中添加一个 feed_type 属性. To change that, add a feed_type attribute to your Feed class:</p> <div class="jb51code"> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;"> from django.utils.feedgenerator import Atom1Feed class MyFeed(Feed): feed_type = Atom1Feed </pre><div class="contentsignin">登入後複製</div></div> </p> <p>注意你把 feed_type 赋值成一个类对象,而不是类实例。 目前合法的Feed类型如表所示。<br /> </p> <p><img alt="2015722150842180.jpg (705×179)" src="http://files.jb51.net/file_images/article/201507/2015722150842180.jpg?201562215857" /></p> <p></p> <p><strong>闭包</strong></p> <p>为了指定闭包(例如,与feed项比方说MP3 feeds相关联的媒体资源信息),使用 item_enclosure_url , item_enclosure_length , 以及 item_enclosure_mime_type ,比如</p> <div class="jb51code"> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;"> from myproject.models import Song class MyFeedWithEnclosures(Feed): title = "Example feed with enclosures" link = "/feeds/example-with-enclosures/" def items(self): return Song.objects.all()[:30] def item_enclosure_url(self, item): return item.song_url def item_enclosure_length(self, item): return item.song_length item_enclosure_mime_type = "audio/mpeg" </pre><div class="contentsignin">登入後複製</div></div> </p> <p>当然,你首先要创建一个包含有 song_url 和 song_length (比如按照字节计算的长度)域的 Song 对象。<br /> <strong>语言</strong></p> <p>聚合框架自动创建的Feed包含适当的 <language> 标签(RSS 2.0) 或 xml:lang 属性(Atom). 他直接来自于您的 LANGUAGE_CODE 设置. This comes directly from your LANGUAGE_CODE setting.<br /> <strong>URLs</strong></p> <p>link 方法/属性可以以绝对URL的形式(例如, "/blog/" )或者指定协议和域名的URL的形式返回(例如 "http://www.example.com/blog/" )。如果 link 没有返回域名,聚合框架会根据 SITE_ID 设置,自动的插入当前站点的域信息。 (See Chapter 16 for more on SITE_ID and the sites framework.)</p> <p>Atom feeds需要 <link rel="self"> 指明feeds现在的位置。 The syndication framework populates this automatically.<br /> <strong>同时发布Atom and RSS</strong></p> <p>一些开发人员想 同时 支持Atom和RSS。 这在Django中很容易实现: 只需创建一个你的 feed 类的子类,然后修改 feed_type ,并且更新URLconf内容。 下面是一个完整的例子: Here's a full example:</p> <div class="jb51code"> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;"> from django.contrib.syndication.feeds import Feed from django.utils.feedgenerator import Atom1Feed from mysite.blog.models import Entry class RssLatestEntries(Feed): title = "My Blog" link = "/archive/" description = "The latest news about stuff." def items(self): return Entry.objects.order_by('-pub_date')[:5] class AtomLatestEntries(RssLatestEntries): feed_type = Atom1Feed </pre><div class="contentsignin">登入後複製</div></div> </p> <p>这是与之相对应那个的URLconf:</p> <div class="jb51code"> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;"> from django.conf.urls.defaults import * from myproject.feeds import RssLatestEntries, AtomLatestEntries feeds = { 'rss': RssLatestEntries, 'atom': AtomLatestEntries, } urlpatterns = patterns('', # ... (r'^feeds/(&#63;P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}), # ... ) </pre><div class="contentsignin">登入後複製</div></div> <p><br> </p> </div> </div> </div> <div style="height: 25px;"> <div class="wzconBq" style="display: inline-flex;"> <span>相關標籤:</span> <div class="wzcbqd"> <a onclick="hits_log(2,'www',this);" href-data="https://www.php.cn/zh-tw/search?word=django" target="_blank">django</a> <a onclick="hits_log(2,'www',this);" href-data="https://www.php.cn/zh-tw/search?word=rss" target="_blank">rss</a> </div> </div> <div style="display: inline-flex;float: right; color:#333333;">來源:php.cn</div> </div> <div class="wzconOtherwz"> <a href="https://www.php.cn/zh-tw/faq/158377.html" title="通过mod配置运行在Apache上的Django框架"> <span>上一篇:通过mod配置运行在Apache上的Django框架</span> </a> <a href="https://www.php.cn/zh-tw/faq/158382.html" title="利用Python的Django框架生成PDF文件的教程"> <span>下一篇:利用Python的Django框架生成PDF文件的教程</span> </a> </div> <div class="wzconShengming"> <div class="bzsmdiv">本網站聲明</div> <div>本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn</div> </div> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="2507867629"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class="wzconZzwz"> <div class="wzconZzwztitle">作者最新文章</div> <ul> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/zh-tw/faq/1796639331.html">什麼是 NullPointerException,如何修復它?</a> </div> <div>2024-10-22 09:46:29</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/zh-tw/faq/1796629482.html">從新手到程式設計師:您的旅程從 C 基礎知識開始</a> </div> <div>2024-10-13 13:53:41</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/zh-tw/faq/1796628545.html">使用 PHP 解鎖 Web 開發:初學者指南</a> </div> <div>2024-10-12 12:15:51</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/zh-tw/faq/1796627928.html">揭秘 C:為新程式設計師提供一條清晰簡單的道路</a> </div> <div>2024-10-11 22:47:31</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/zh-tw/faq/1796627806.html">釋放您的編碼潛力:絕對初學者的 C 編程</a> </div> <div>2024-10-11 19:36:51</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/zh-tw/faq/1796627670.html">釋放你內心的程式設計師:C 絕對初學者</a> </div> <div>2024-10-11 15:50:41</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/zh-tw/faq/1796627643.html">使用 C 自動化您的生活:適合初學者的腳本和工具</a> </div> <div>2024-10-11 15:07:41</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/zh-tw/faq/1796627620.html">PHP 變得簡單:Web 開發的第一步</a> </div> <div>2024-10-11 14:21:21</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/zh-tw/faq/1796627574.html">使用 Python 建立任何東西:釋放創造力的初學者指南</a> </div> <div>2024-10-11 12:59:11</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/zh-tw/faq/1796627539.html">編碼的關鍵:為初學者釋放 Python 的力量</a> </div> <div>2024-10-11 12:17:31</div> </li> </ul> </div> <div class="wzconZzwz"> <div class="wzconZzwztitle">最新問題</div> <div class="wdsyContent"> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/zh-tw/wenda/176111.html" target="_blank" title="傳遞多個列表從ajax到Django的方法" class="wdcdcTitle">傳遞多個列表從ajax到Django的方法</a> <a href="https://www.php.cn/zh-tw/wenda/176111.html" class="wdcdcCons">我有一個問題,我想從list獲取所有數據,所以我想循環所選項目中的每個數據並將其插入數據庫,目前,當我打印['[objectObject]','[objectObject]'],時...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> 來自於 2024-04-03 23:20:06</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>362</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/zh-tw/wenda/176091.html" target="_blank" title="如何將自訂'css”和'js”檔案有效地應用到一個應用程式中的所有管理員?" class="wdcdcTitle">如何將自訂'css”和'js”檔案有效地應用到一個應用程式中的所有管理員?</a> <a href="https://www.php.cn/zh-tw/wenda/176091.html" class="wdcdcCons">我有自訂css和js檔案、admin.py和覆蓋的base.html位於templates/admin/app1/中,如下:django-project|-core||-setti...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> 來自於 2024-04-03 20:54:06</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>400</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/zh-tw/wenda/175879.html" target="_blank" title="Django 中的 Highcharts:在網頁上顯示 JSON 資料而不是圖表" class="wdcdcTitle">Django 中的 Highcharts:在網頁上顯示 JSON 資料而不是圖表</a> <a href="https://www.php.cn/zh-tw/wenda/175879.html" class="wdcdcCons">因此,我嘗試使用Django中的Highcharts製作燭台圖,但無法在網頁上顯示圖表,而是顯示所取得資料的JSON清單。我正在使用iexcloud的API來獲取歷史資料這是我的邏...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> 來自於 2024-04-02 10:06:09</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>291</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/zh-tw/wenda/175723.html" target="_blank" title="解決pythonanywhere連接MySQL資料庫時出現操作錯誤的問題" class="wdcdcTitle">解決pythonanywhere連接MySQL資料庫時出現操作錯誤的問題</a> <a href="https://www.php.cn/zh-tw/wenda/175723.html" class="wdcdcCons">我已經完成了我的django項目,我想在PythonAnywhere上測試它,一切都很好,直到mysql資料庫連接顯示錯誤我已付費訂閱。 /home/發生操作錯誤(1044,「用戶...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> 來自於 2024-03-31 22:43:19</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>418</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/zh-tw/wenda/175660.html" target="_blank" title="在個人伺服器上使用 mysql 資料庫部署 Django" class="wdcdcTitle">在個人伺服器上使用 mysql 資料庫部署 Django</a> <a href="https://www.php.cn/zh-tw/wenda/175660.html" class="wdcdcCons">我正在努力在Linode上部署我的Django專案。我在開發過程中使用的MySQL資料庫位於我家的ubuntu伺服器上。這與我編寫程式的計算機不同。在settings.py檔案中,...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> 來自於 2024-03-31 14:44:26</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>371</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> </div> </div> <div class="wzconZt" > <div class="wzczt-title"> <div>相關專題</div> <a href="https://www.php.cn/zh-tw/faq/zt" target="_blank">更多> </a> </div> <div class="wzcttlist"> <ul> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/zh-tw/faq/zmgbwinzdgx"><img src="https://img.php.cn/upload/subject/202407/22/2024072213275611910.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="怎麼關閉win10自動更新" /> </a> <a target="_blank" href="https://www.php.cn/zh-tw/faq/zmgbwinzdgx" class="title-a-spanl" title="怎麼關閉win10自動更新"><span>怎麼關閉win10自動更新</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/zh-tw/faq/backgimage"><img src="https://img.php.cn/upload/subject/202407/22/2024072214410922329.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="background-image的用法" /> </a> <a target="_blank" href="https://www.php.cn/zh-tw/faq/backgimage" class="title-a-spanl" title="background-image的用法"><span>background-image的用法</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/zh-tw/faq/linuxxtsj"><img src="https://img.php.cn/upload/subject/202407/22/2024072214162596168.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="linux系統時間" /> </a> <a target="_blank" href="https://www.php.cn/zh-tw/faq/linuxxtsj" class="title-a-spanl" title="linux系統時間"><span>linux系統時間</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/zh-tw/faq/jssxym"><img src="https://img.php.cn/upload/subject/202407/22/2024072214363232433.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="js刷新當前頁面" /> </a> <a target="_blank" href="https://www.php.cn/zh-tw/faq/jssxym" class="title-a-spanl" title="js刷新當前頁面"><span>js刷新當前頁面</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/zh-tw/faq/htmlzyrhfhdsy"><img src="https://img.php.cn/upload/subject/202407/22/2024072213472769844.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="html子頁如何回到首頁" /> </a> <a target="_blank" href="https://www.php.cn/zh-tw/faq/htmlzyrhfhdsy" class="title-a-spanl" title="html子頁如何回到首頁"><span>html子頁如何回到首頁</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/zh-tw/faq/grepdzzyf"><img src="https://img.php.cn/upload/subject/202407/22/2024072213465983066.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="grep的正規用法" /> </a> <a target="_blank" href="https://www.php.cn/zh-tw/faq/grepdzzyf" class="title-a-spanl" title="grep的正規用法"><span>grep的正規用法</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/zh-tw/faq/scymx"><img src="https://img.php.cn/upload/subject/202407/22/2024072213402324242.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="刪除頁首線" /> </a> <a target="_blank" href="https://www.php.cn/zh-tw/faq/scymx" class="title-a-spanl" title="刪除頁首線"><span>刪除頁首線</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/zh-tw/faq/linuxckdksgkf"><img src="https://img.php.cn/upload/subject/202407/22/2024072212241252679.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="linux查看連接埠是否開放" /> </a> <a target="_blank" href="https://www.php.cn/zh-tw/faq/linuxckdksgkf" class="title-a-spanl" title="linux查看連接埠是否開放"><span>linux查看連接埠是否開放</span> </a> </li> </ul> </div> </div> </div> </div> <div class="phpwzright"> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5902227090019525" data-ad-slot="3653428331" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class="wzrOne"> <div class="wzroTitle">熱門推薦</div> <div class="wzroList"> <ul> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="python中eval是什麼意思?" href="https://www.php.cn/zh-tw/faq/419793.html">python中eval是什麼意思?</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="python如何讀取txt檔案內容" href="https://www.php.cn/zh-tw/faq/479676.html">python如何讀取txt檔案內容</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="py檔怎麼打開?" href="https://www.php.cn/zh-tw/faq/418747.html">py檔怎麼打開?</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="python中str是什麼意思" href="https://www.php.cn/zh-tw/faq/419809.html">python中str是什麼意思</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="python中format怎麼用" href="https://www.php.cn/zh-tw/faq/471817.html">python中format怎麼用</a> </div> </li> </ul> </div> </div> <script src="https://sw.php.cn/hezuo/cac1399ab368127f9b113b14eb3316d0.js" type="text/javascript"></script> <div class="wzrThree"> <div class="wzrthree-title"> <div>熱門教學</div> <a target="_blank" href="https://www.php.cn/zh-tw/course.html">更多> </a> </div> <div class="wzrthreelist swiper2"> <div class="wzrthreeTab swiper-wrapper"> <div class="check tabdiv swiper-slide" data-id="one">相關教學 <div></div></div> <div class="tabdiv swiper-slide" data-id="two">熱門推薦<div></div></div> <div class="tabdiv swiper-slide" data-id="three">最新課程<div></div></div> </div> <ul class="one"> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/812.html" title="最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)" href="https://www.php.cn/zh-tw/course/812.html">最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)</a> <div class="wzrthreerb"> <div>1428217 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/74.html" title="php入門教程之一週學會PHP" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253d1e28ef5c345.png" alt="php入門教程之一週學會PHP"/> </a> <div class="wzrthree-right"> <a target="_blank" title="php入門教程之一週學會PHP" href="https://www.php.cn/zh-tw/course/74.html">php入門教程之一週學會PHP</a> <div class="wzrthreerb"> <div>4279211 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="74"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/286.html" title="JAVA 初級入門影片教學" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="JAVA 初級入門影片教學"/> </a> <div class="wzrthree-right"> <a target="_blank" title="JAVA 初級入門影片教學" href="https://www.php.cn/zh-tw/course/286.html">JAVA 初級入門影片教學</a> <div class="wzrthreerb"> <div>2582485 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/504.html" title="小甲魚零基礎入門學習Python影片教學" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="小甲魚零基礎入門學習Python影片教學"/> </a> <div class="wzrthree-right"> <a target="_blank" title="小甲魚零基礎入門學習Python影片教學" href="https://www.php.cn/zh-tw/course/504.html">小甲魚零基礎入門學習Python影片教學</a> <div class="wzrthreerb"> <div>510721 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/2.html" title="PHP 零基礎入門教學" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253de27bc161468.png" alt="PHP 零基礎入門教學"/> </a> <div class="wzrthree-right"> <a target="_blank" title="PHP 零基礎入門教學" href="https://www.php.cn/zh-tw/course/2.html">PHP 零基礎入門教學</a> <div class="wzrthreerb"> <div>868314 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="2"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="two" style="display: none;"> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/812.html" title="最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)" href="https://www.php.cn/zh-tw/course/812.html">最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)</a> <div class="wzrthreerb"> <div >1428217次學習</div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/286.html" title="JAVA 初級入門影片教學" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="JAVA 初級入門影片教學"/> </a> <div class="wzrthree-right"> <a target="_blank" title="JAVA 初級入門影片教學" href="https://www.php.cn/zh-tw/course/286.html">JAVA 初級入門影片教學</a> <div class="wzrthreerb"> <div >2582485次學習</div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/504.html" title="小甲魚零基礎入門學習Python影片教學" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="小甲魚零基礎入門學習Python影片教學"/> </a> <div class="wzrthree-right"> <a target="_blank" title="小甲魚零基礎入門學習Python影片教學" href="https://www.php.cn/zh-tw/course/504.html">小甲魚零基礎入門學習Python影片教學</a> <div class="wzrthreerb"> <div >510721次學習</div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/901.html" title="Web前端開發極速入門" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/64be28a53a4f6310.png" alt="Web前端開發極速入門"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Web前端開發極速入門" href="https://www.php.cn/zh-tw/course/901.html">Web前端開發極速入門</a> <div class="wzrthreerb"> <div >216332次學習</div> <div class="courseICollection" data-id="901"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/234.html" title="零基礎精通 PS 影片教學" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62611f57ed0d4840.jpg" alt="零基礎精通 PS 影片教學"/> </a> <div class="wzrthree-right"> <a target="_blank" title="零基礎精通 PS 影片教學" href="https://www.php.cn/zh-tw/course/234.html">零基礎精通 PS 影片教學</a> <div class="wzrthreerb"> <div >901393次學習</div> <div class="courseICollection" data-id="234"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="three" style="display: none;"> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/1648.html" title="【web前端】Node.js快速入門" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662b5d34ba7c0227.png" alt="【web前端】Node.js快速入門"/> </a> <div class="wzrthree-right"> <a target="_blank" title="【web前端】Node.js快速入門" href="https://www.php.cn/zh-tw/course/1648.html">【web前端】Node.js快速入門</a> <div class="wzrthreerb"> <div >8295次學習</div> <div class="courseICollection" data-id="1648"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/1647.html" title="國外Web開發全端課程全集" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6628cc96e310c937.png" alt="國外Web開發全端課程全集"/> </a> <div class="wzrthree-right"> <a target="_blank" title="國外Web開發全端課程全集" href="https://www.php.cn/zh-tw/course/1647.html">國外Web開發全端課程全集</a> <div class="wzrthreerb"> <div >6620次學習</div> <div class="courseICollection" data-id="1647"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/1646.html" title="Go語言實戰之 GraphQL" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662221173504a436.png" alt="Go語言實戰之 GraphQL"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Go語言實戰之 GraphQL" href="https://www.php.cn/zh-tw/course/1646.html">Go語言實戰之 GraphQL</a> <div class="wzrthreerb"> <div >5519次學習</div> <div class="courseICollection" data-id="1646"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/1645.html" title="550W粉絲大佬手把手從零學JavaScript" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662077e163124646.png" alt="550W粉絲大佬手把手從零學JavaScript"/> </a> <div class="wzrthree-right"> <a target="_blank" title="550W粉絲大佬手把手從零學JavaScript" href="https://www.php.cn/zh-tw/course/1645.html">550W粉絲大佬手把手從零學JavaScript</a> <div class="wzrthreerb"> <div >748次學習</div> <div class="courseICollection" data-id="1645"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/zh-tw/course/1644.html" title="python大神Mosh,零基礎小白6小時完全入門" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6616418ca80b8916.png" alt="python大神Mosh,零基礎小白6小時完全入門"/> </a> <div class="wzrthree-right"> <a target="_blank" title="python大神Mosh,零基礎小白6小時完全入門" href="https://www.php.cn/zh-tw/course/1644.html">python大神Mosh,零基礎小白6小時完全入門</a> <div class="wzrthreerb"> <div >28009次學習</div> <div class="courseICollection" data-id="1644"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper2', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrthreeTab>div').click(function(e){ $('.wzrthreeTab>div').removeClass('check') $(this).addClass('check') $('.wzrthreelist>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> <div class="wzrFour"> <div class="wzrfour-title"> <div>最新下載</div> <a href="https://www.php.cn/zh-tw/xiazai">更多> </a> </div> <script> $(document).ready(function(){ var sjyx_banSwiper = new Swiper(".sjyx_banSwiperwz",{ speed:1000, autoplay:{ delay:3500, disableOnInteraction: false, }, pagination:{ el:'.sjyx_banSwiperwz .swiper-pagination', clickable :false, }, loop:true }) }) </script> <div class="wzrfourList swiper3"> <div class="wzrfourlTab swiper-wrapper"> <div class="check swiper-slide" data-id="onef">網站特效 <div></div></div> <div class="swiper-slide" data-id="twof">網站源碼<div></div></div> <div class="swiper-slide" data-id="threef">網站素材<div></div></div> <div class="swiper-slide" data-id="fourf">前端模板<div></div></div> </div> <ul class="onef"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery企業留言表單聯絡程式碼" href="https://www.php.cn/zh-tw/toolset/js-special-effects/8071">[表單按鈕] jQuery企業留言表單聯絡程式碼</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="HTML5 MP3音樂盒播放特效" href="https://www.php.cn/zh-tw/toolset/js-special-effects/8070">[播放器特效] HTML5 MP3音樂盒播放特效</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="HTML5酷炫粒子動畫導覽選單特效" href="https://www.php.cn/zh-tw/toolset/js-special-effects/8069">[選單導航] HTML5酷炫粒子動畫導覽選單特效</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery可視化表單拖曳編輯程式碼" href="https://www.php.cn/zh-tw/toolset/js-special-effects/8068">[表單按鈕] jQuery可視化表單拖曳編輯程式碼</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="VUE.JS仿酷狗音樂播放器代碼" href="https://www.php.cn/zh-tw/toolset/js-special-effects/8067">[播放器特效] VUE.JS仿酷狗音樂播放器代碼</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="經典html5推箱子小遊戲" href="https://www.php.cn/zh-tw/toolset/js-special-effects/8066">[html5特效] 經典html5推箱子小遊戲</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery滾動添加或減少圖片特效" href="https://www.php.cn/zh-tw/toolset/js-special-effects/8065">[圖片特效] jQuery滾動添加或減少圖片特效</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="CSS3個人相簿封面懸停放大特效" href="https://www.php.cn/zh-tw/toolset/js-special-effects/8064">[相簿特效] CSS3個人相簿封面懸停放大特效</a> </div> </li> </ul> <ul class="twof" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8328" title="家居裝潢清潔維修服務公司網站模板" target="_blank">[前端模板] 家居裝潢清潔維修服務公司網站模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8327" title="清新配色個人求職履歷引導頁模板" target="_blank">[前端模板] 清新配色個人求職履歷引導頁模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8326" title="設計師創意求職履歷網頁模板" target="_blank">[前端模板] 設計師創意求職履歷網頁模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8325" title="現代工程建築公司網站模板" target="_blank">[前端模板] 現代工程建築公司網站模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8324" title="教育服務機構響應式HTML5模板" target="_blank">[前端模板] 教育服務機構響應式HTML5模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8323" title="網上電子書店商城網站模板" target="_blank">[前端模板] 網上電子書店商城網站模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8322" title="IT技術解決互聯網公司網站模板" target="_blank">[前端模板] IT技術解決互聯網公司網站模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8321" title="紫色風格外匯交易服務網站模板" target="_blank">[前端模板] 紫色風格外匯交易服務網站模板</a> </div> </li> </ul> <ul class="threef" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-materials/3078" target="_blank" title="可愛的夏天元素向量素材(EPS+PNG)">[PNG素材] 可愛的夏天元素向量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-materials/3077" target="_blank" title="四個紅色的 2023 畢業徽章的向量素材(AI+EPS+PNG)">[PNG素材] 四個紅色的 2023 畢業徽章的向量素材(AI+EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-materials/3076" target="_blank" title="唱歌的小鳥和裝滿花朵的推車設計春天banner向量素材(AI+EPS)">[banner圖] 唱歌的小鳥和裝滿花朵的推車設計春天banner向量素材(AI+EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-materials/3075" target="_blank" title="金色的畢業帽向量素材(EPS+PNG)">[PNG素材] 金色的畢業帽向量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-materials/3074" target="_blank" title="黑白風格的山脈圖示向量素材(EPS+PNG)">[PNG素材] 黑白風格的山脈圖示向量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-materials/3073" target="_blank" title="不同顏色披風和不同姿勢的超級英雄剪影向量素材(EPS+PNG)">[PNG素材] 不同顏色披風和不同姿勢的超級英雄剪影向量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-materials/3072" target="_blank" title="扁平風格的植樹節banner向量素材(AI+EPS)">[banner圖] 扁平風格的植樹節banner向量素材(AI+EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-materials/3071" target="_blank" title="九種漫畫風格的爆炸聊天氣泡向量素材(EPS+PNG)">[PNG素材] 九種漫畫風格的爆炸聊天氣泡向量素材(EPS+PNG)</a> </div> </li> </ul> <ul class="fourf" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8328" target="_blank" title="家居裝潢清潔維修服務公司網站模板">[前端模板] 家居裝潢清潔維修服務公司網站模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8327" target="_blank" title="清新配色個人求職履歷引導頁模板">[前端模板] 清新配色個人求職履歷引導頁模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8326" target="_blank" title="設計師創意求職履歷網頁模板">[前端模板] 設計師創意求職履歷網頁模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8325" target="_blank" title="現代工程建築公司網站模板">[前端模板] 現代工程建築公司網站模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8324" target="_blank" title="教育服務機構響應式HTML5模板">[前端模板] 教育服務機構響應式HTML5模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8323" target="_blank" title="網上電子書店商城網站模板">[前端模板] 網上電子書店商城網站模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8322" target="_blank" title="IT技術解決互聯網公司網站模板">[前端模板] IT技術解決互聯網公司網站模板</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/zh-tw/toolset/website-source-code/8321" target="_blank" title="紫色風格外匯交易服務網站模板">[前端模板] 紫色風格外匯交易服務網站模板</a> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper3', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrfourlTab>div').click(function(e){ $('.wzrfourlTab>div').removeClass('check') $(this).addClass('check') $('.wzrfourList>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> </div> </div> <footer> <div class="footer"> <div class="footertop"> <img src="/static/imghw/logo.png" alt=""> <p>公益線上PHP培訓,幫助PHP學習者快速成長!</p> </div> <div class="footermid"> <a href="https://www.php.cn/zh-tw/about/us.html">關於我們</a> <a href="https://www.php.cn/zh-tw/about/disclaimer.html">免責聲明</a> <a href="https://www.php.cn/zh-tw/update/article_0_1.html">Sitemap</a> </div> <div class="footerbottom"> <p> © php.cn All rights reserved </p> </div> </div> </footer> <input type="hidden" id="verifycode" value="/captcha.html"> <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> <script src="/static/js/common_new.js"></script> <script type="text/javascript" src="/static/js/jquery.cookie.js?1736995600"></script> <script src="https://vdse.bdstatic.com//search-video.v1.min.js"></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/global.min.js?5.5.53"></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', '9']); 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 --> </body> </html>