0

0

PHP如何实现RSS订阅_RSS订阅功能开发指南

星夢妙者

星夢妙者

发布时间:2025-09-21 13:56:01

|

1136人浏览过

|

来源于php中文网

原创

PHP实现RSS订阅功能需处理XML数据,核心是解析外部RSS源或生成自身RSS Feed。首先,作为订阅者,使用cURL获取RSS XML内容,通过SimpleXML或DOMDocument解析并提取标题、链接、描述等信息,结合错误处理展示内容;其次,作为发布者,从数据库获取动态内容,利用DOMDocument构建符合RSS 2.0规范的XML结构,设置正确的HTTP头输出。两种场景均依赖对XML结构的理解和PHP强大的XML处理能力,推荐使用cURL增强网络请求稳定性,DOMDocument确保XML格式正确性,尤其在处理特殊字符和CDATA时更具优势。

php如何实现rss订阅_rss订阅功能开发指南

PHP实现RSS订阅功能,核心在于处理XML数据:要么解析外部的RSS XML源,将其内容提取并展示;要么将自己网站的动态内容(如最新文章)按照RSS规范生成XML格式,供其他订阅者抓取。这两种操作都离不开对XML结构的理解和PHP的XML处理能力,特别是像SimpleXML或DOMDocument这类内置扩展。

解决方案

要开发RSS订阅功能,我们通常会遇到两种场景:一是作为订阅者,从外部获取并展示RSS内容;二是作为发布者,生成自己的RSS Feed。

场景一:解析外部RSS Feed

这通常涉及以下几个步骤:

立即学习PHP免费学习笔记(深入)”;

  1. 获取RSS Feed数据: 可以使用
    file_get_contents()
    函数,但考虑到网络请求的稳定性和错误处理,
    cURL
    会是更稳健的选择。
  2. 解析XML数据: PHP提供了多种解析XML的方法,其中
    SimpleXML
    因其面向对象的简洁性而广受欢迎。对于更复杂的场景,
    DOMDocument
    提供了更细粒度的控制。
  3. 提取并展示内容: 遍历解析后的XML结构,提取出标题、链接、描述、发布日期等关键信息,然后以HTML或其他形式展示给用户。

这里是一个使用

SimpleXML
解析RSS Feed的简单示例:

 '无效的RSS Feed URL。'];
    }

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $feedUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, 0); // 不返回HTTP头
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 遵循重定向
    curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 设置超时时间

    $xmlString = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $curlError = curl_error($ch);
    curl_close($ch);

    if ($httpCode !== 200) {
        return ['error' => "获取RSS Feed失败,HTTP状态码: $httpCode。CURL错误: $curlError"];
    }

    if (empty($xmlString)) {
        return ['error' => '获取到的RSS Feed内容为空。'];
    }

    // 禁用libxml错误,避免解析错误直接输出到页面
    libxml_use_internal_errors(true);
    $rss = simplexml_load_string($xmlString);

    if ($rss === false) {
        $errors = libxml_get_errors();
        $errorMessages = [];
        foreach ($errors as $error) {
            $errorMessages[] = $error->message;
        }
        libxml_clear_errors();
        return ['error' => '解析RSS Feed失败: ' . implode('; ', $errorMessages)];
    }

    $items = [];
    if (isset($rss->channel->item)) {
        foreach ($rss->channel->item as $item) {
            $items[] = [
                'title' => (string)$item->title,
                'link' => (string)$item->link,
                'description' => (string)$item->description,
                'pubDate' => isset($item->pubDate) ? (string)$item->pubDate : null,
                'guid' => isset($item->guid) ? (string)$item->guid : null,
            ];
        }
    }

    return ['title' => (string)$rss->channel->title, 'items' => $items];
}

// 示例用法
$feedUrl = 'https://www.php.net/feed.atom'; // 假设这是一个Atom Feed,但SimpleXML通常也能处理
// 注意:Atom和RSS有细微差别,这里假设RSS 2.0,如果真是Atom,需要根据Atom规范调整解析逻辑
// 为了演示,我将换成一个标准的RSS 2.0 feed URL
$feedUrl = 'http://feeds.bbci.co.uk/news/rss.xml'; // 这是一个典型的RSS 2.0 feed

$result = fetchAndParseRss($feedUrl);

if (isset($result['error'])) {
    echo "错误: " . $result['error'];
} else {
    echo "

" . htmlspecialchars($result['title']) . "

"; echo "
    "; foreach ($result['items'] as $item) { echo "
  • "; echo "

    " . htmlspecialchars($item['title']) . "

    "; echo "

    " . htmlspecialchars(strip_tags($item['description'])) . "

    "; // strip_tags防止XSS if ($item['pubDate']) { echo "发布日期: " . htmlspecialchars($item['pubDate']) . ""; } echo "
  • "; } echo "
"; } ?>

场景二:生成自己的RSS Feed

生成RSS Feed意味着将你网站的动态内容(比如最新的博客文章、新闻)以XML格式输出,遵循RSS 2.0规范。

  1. 从数据库获取数据: 查询你的文章或内容数据库,获取需要展示在RSS Feed中的数据。
  2. 构建XML结构: 使用
    DOMDocument
    或手动拼接字符串来创建RSS XML。
    DOMDocument
    是更推荐的方式,因为它能确保XML格式的正确性。
  3. 设置HTTP头: 告知浏览器或订阅器这是一个XML文件,内容类型是
    application/xml

这是一个使用

DOMDocument
生成RSS Feed的示例:

formatOutput = true; // 格式化输出,方便阅读

    $rssElement = $dom->createElement('rss');
    $rssElement->setAttribute('version', '2.0');
    $dom->appendChild($rssElement);

    $channelElement = $dom->createElement('channel');
    $rssElement->appendChild($channelElement);

    // 添加频道基本信息
    $channelElement->appendChild($dom->createElement('title', '我的网站最新文章'));
    $channelElement->appendChild($dom->createElement('link', 'http://www.yourwebsite.com/'));
    $channelElement->appendChild($dom->createElement('description', '这里是我的网站的最新内容更新。'));
    $channelElement->appendChild($dom->createElement('language', 'zh-cn'));
    $channelElement->appendChild($dom->createElement('pubDate', date(DATE_RSS))); // 当前时间

    foreach ($articles as $article) {
        $itemElement = $dom->createElement('item');

        $itemElement->appendChild($dom->createElement('title', htmlspecialchars($article['title'])));
        $itemElement->appendChild($dom->createElement('link', htmlspecialchars($article['link'])));

        // description内容可能包含HTML,需要包裹在CDATA中
        $descriptionCData = $dom->createCDATASection($article['description']);
        $descriptionElement = $dom->createElement('description');
        $descriptionElement->appendChild($descriptionCData);
        $itemElement->appendChild($descriptionElement);

        $itemElement->appendChild($dom->createElement('pubDate', date(DATE_RSS, strtotime($article['pubDate']))));
        $itemElement->appendChild($dom->createElement('guid', htmlspecialchars($article['link']), true)); // guid通常是文章的唯一标识符,这里用链接

        $channelElement->appendChild($itemElement);
    }

    echo $dom->saveXML();
}

// 模拟从数据库获取的文章数据
$mockArticles = [
    [
        'title' => 'PHP RSS订阅功能初探',
        'link' => 'http://www.yourwebsite.com/articles/php-rss-intro',
        'description' => '这是一篇关于PHP如何实现RSS订阅功能的详细介绍,包含解析和生成两个方面。',
        'pubDate' => '2023-10-26 10:00:00'
    ],
    [
        'title' => '使用DOMDocument构建XML',
        'link' => 'http://www.yourwebsite.com/articles/domdocument-xml',
        'description' => '探讨了如何使用PHP的DOMDocument扩展来更健壮地创建和操作XML文档。',
        'pubDate' => '2023-10-25 15:30:00'
    ],
    [
        'title' => 'CURL在PHP网络请求中的应用',
        'link' => 'http://www.yourwebsite.com/articles/curl-php-requests',
        'description' => '深入解析CURL库在PHP中进行HTTP请求时的各种高级用法和注意事项。',
        'pubDate' => '2023-10-24 09:15:00'
    ],
];

// 调用函数生成RSS Feed
// generateRssFeed($mockArticles); // 取消注释即可看到生成的XML
?>

我个人觉得,在实际应用中,处理外部RSS源时,

cURL
的稳定性和错误处理能力是
file_get_contents
无法比拟的。而生成自己的RSS Feed时,
DOMDocument
虽然代码量稍多,但其结构化和错误预防能力远超简单的字符串拼接,尤其当内容包含特殊字符或HTML标签时,它能更好地处理CDATA部分。

RSS订阅的原理是什么?

说到底,RSS(Really Simple Syndication)订阅的原理并不复杂,它本质上就是一种基于XML格式的内容分发协议。想象一下,你有一份报纸,每天都会更新,但你不想每天都去报摊买。RSS就是报摊给你提供的一份“目录”,这份目录本身也是一份特殊格式的“报纸”,里面只包含了最新文章的标题、摘要、链接和发布时间。

具体来说,发布内容的网站会维护一个特殊的XML文件,我们称之为RSS Feed。当网站有新内容发布时,这个RSS Feed文件也会同步更新。订阅者(比如RSS阅读器、聚合器或者其他网站)会定期访问这个RSS Feed的URL,下载并解析其中的XML数据。解析后,订阅器就能提取出最新的文章信息,然后以统一的、用户友好的方式展示给用户。

核心构成元素通常包括:

灵光
灵光

蚂蚁集团推出的全模态AI助手

下载
  • 代表整个Feed的频道信息,比如网站的标题、链接、描述等。
  • 代表频道中的一个独立内容项,比如一篇文章或一条新闻。每个
    通常包含:
    • </pre>:</strong> 内容标题。</li>
      <li>
      <strong><pre class="brush:php;toolbar:false;"><link></pre>:</strong> 内容的原始链接。</li>
      <li>
      <strong><pre class="brush:php;toolbar:false;"><description></pre>:</strong> 内容的摘要或全文。</li>
      <li>
      <strong><pre class="brush:php;toolbar:false;"><pubDate></pre>:</strong> 内容的发布日期和时间。</li>
      <li>
      <strong><pre class="brush:php;toolbar:false;"><guid></pre>:</strong> 全局唯一标识符,确保每个内容项都有一个唯一的ID。</li>
      </ul>
      </li>
      </ul>
      <p>所以,RSS的原理就是通过一个标准化的、机器可读的XML文件,实现了内容发布者和内容消费者之间的自动化信息同步。这让用户可以集中在一个地方阅读来自不同源的内容,而无需频繁访问多个网站。</p>
      <h3>PHP解析RSS订阅源有哪些常用方法?</h3>
      <p>PHP在处理XML方面提供了相当丰富的<a style="color:#f60; text-decoration:underline;" title="工具" href="https://www.php.cn/zt/16887.html" target="_blank">工具</a>集,解析RSS订阅源也不例外。在我看来,主要有以下几种常用且高效的方法,各有侧重:</p>
      <ol>
      <li>
      <p><strong>SimpleXML:</strong></p>
      <ul>
      <li>
      <strong>特点:</strong> 这是我个人最常用也最推荐的一种方法,尤其适用于结构相对简单、层级不深的XML文件,比如大多数RSS Feed。它的API设计非常直观,将XML元素映射为对象属性,你可以像访问普通对象一样访问XML节点和属性。</li>
      <li>
      <strong>优点:</strong> 代码简洁、易读、易于上手。它抽象了XML的底层细节,让开发者能专注于数据本身。</li>
      <li>
      <strong>缺点:</strong> 对于需要频繁修改XML结构、处理命名空间或更复杂XML(如XPath查询深度非常高)的场景,SimpleXML可能会显得力不从心,或者需要结合<pre class="brush:php;toolbar:false;">DOMDocument</pre>来弥补。</li>
      <li>
      <strong>示例:</strong> 之前“解决方案”部分已经展示了SimpleXML的用法,可以看到它通过<pre class="brush:php;toolbar:false;">$rss->channel->item</pre>这样的链式调用就能轻松获取数据。</li>
      </ul>
      </li>
      <li>
      <p><strong>DOMDocument:</strong></p>
      <ul>
      <li>
      <strong>特点:</strong> 提供了完整的W3C DOM(Document Object Model)API支持。这意味着你可以像操作HTML DOM一样,通过节点树结构来创建、遍历、修改XML文档。</li>
      <li>
      <strong>优点:</strong> 提供了对XML文档的最高级别控制。无论是复杂的XML结构、命名空间处理,还是需要动态创建、修改XML,<pre class="brush:php;toolbar:false;">DOMDocument</pre>都能胜任。它也支持XPath查询,这对于从复杂XML中精准定位数据非常有用。</li>
      <li>
      <strong>缺点:</strong> 相较于SimpleXML,代码会显得更为冗长和复杂,学习曲线也稍高。对于仅仅是读取RSS这种相对固定的结构,可能有点“杀鸡用牛刀”的感觉。</li>
      <li>
      <strong>何时使用:</strong> 当你需要构建复杂的XML,或者解析的RSS Feed结构非常不规范,甚至需要对其进行某种程度的修复和重构时,<pre class="brush:php;toolbar:false;">DOMDocument</pre>的强大控制力就显得尤为重要了。</li>
      </ul>
      </li>
      <li>
      <p><strong>XMLReader:</strong></p>
      <ul>
      <li>
      <strong>特点:</strong> 这是一个基于“拉模型”(pull parser)的XML解析器。它不会一次性将整个XML文档加载到内存中,而是逐个节点地读取。</li>
      <li>
      <strong>优点:</strong> 对于处理非常大的XML文件,<pre class="brush:php;toolbar:false;">XMLReader</pre>的内存效率极高,因为它只在需要时才加载一小部分数据。这在处理数十MB甚至GB级别的RSS Feed(虽然RSS通常不会这么大,但理论上可能遇到)时非常关键。</li>
      <li>
      <strong>缺点:</strong> 编程模型相对底层,需要手动管理节点的遍历和状态,代码复杂度比SimpleXML高不少。</li>
      <li>
      <strong>何时使用:</strong> 内存优化是你的首要考虑,或者你需要处理海量XML数据时。</li>
      </ul>
      </li>
      </ol>
      <p>在我多年的实践中,我发现对于大多数RSS订阅源的解析,SimpleXML的简洁性是无与伦比的。它能够快速、优雅地完成任务。只有当遇到特别“顽固”或需要深度操作的XML时,我才会考虑祭出<pre class="brush:php;toolbar:false;">DOMDocument</pre>。至于<pre class="brush:php;toolbar:false;">XMLReader</pre>,它更像是一个专业工具,在特定高性能或<a style="color:#f60; text-decoration:underline;" title="大数据" href="https://www.php.cn/zt/16141.html" target="_blank">大数据</a>场景下才会被频繁提及。</p>
      <p>无论选择哪种方法,都别忘了处理潜在的网络错误(如连接超时、HTTP 404)和XML解析错误。使用<pre class="brush:php;toolbar:false;">libxml_use_internal_errors(true)</pre>和<pre class="brush:php;toolbar:false;">libxml_get_errors()</pre>能够有效地捕获并处理这些问题,避免它们直接暴露给用户,影响体验。</p>
      <h3>如何使用PHP创建自己的RSS Feed?</h3>
      <p>创建自己的RSS Feed,本质上就是将你的动态内容(比如博客文章、产品更新、新闻)按照RSS 2.0规范,生成一个XML文件。这个过程通常涉及以下几个关键步骤和技术点:</p>
      <ol>
      <li>
      <p><strong>数据准备:</strong></p>
      <ul>
      <li>首先,你需要从你的数据源(通常是数据库,比如MySQL)中获取最新、最相关的文章或内容。这些数据应该包含标题、链接、内容摘要、发布日期等RSS <pre class="brush:php;toolbar:false;"><item></pre>所需的字段。</li>
      <li>确保你的数据是干净的,特别是内容摘要,可能需要清理HTML标签或者进行适当的截断,以符合RSS阅读器的显示习惯。</li>
      </ul>
      </li>
      <li>
      <p><strong>构建XML结构:</strong></p>
      <ul>
      <li>
      <strong>使用DOMDocument(推荐):</strong> 这是最健壮、最推荐的方式。<pre class="brush:php;toolbar:false;">DOMDocument</pre>允许你以编程方式创建XML元素、设置属性、添加文本节点和CDATA节,确保生成的XML格式完全符合规范。它的好处是能自动处理特殊字符的转义,并且结构清晰。</li>
      <li>
      <strong>手动拼接字符串(不推荐,但可行):</strong> 理论上你可以通过字符串拼接来生成XML。但这种方法极易出错,特别是当内容包含<pre class="brush:php;toolbar:false;"><</pre>、<pre class="brush:php;toolbar:false;">></pre>、<pre class="brush:php;toolbar:false;">&</pre>等特殊字符时,需要手动进行实体转义。如果内容中包含HTML,还需要将其包裹在CDATA节中,手动处理起来非常麻烦且容易引入安全漏洞。</li>
      </ul>
      </li>
      <li>
      <p><strong>设置HTTP头:</strong></p>
      <ul>
      <li>这是至关重要的一步。在输出XML内容之前,你必须通过<pre class="brush:php;toolbar:false;">header()</pre>函数告知浏览器或RSS阅读器,你正在发送的是一个XML文件,并且指定其字符<a style="color:#f60; text-decoration:underline;" title="编码" href="https://www.php.cn/zt/16108.html" target="_blank">编码</a>。</li>
      <li><pre class="brush:php;toolbar:false;">header('Content-type: application/xml; charset=utf-8');</pre></li>
      <li>这一行代码通常放在PHP脚本的最顶部,任何HTML输出之前。</li>
      </ul>
      </li>
      <li>
      <p><strong>RSS 2.0规范的关键元素:</strong></p>
      <ul>
      <li>
      <strong>根元素:</strong> <pre class="brush:php;toolbar:false;"><rss version="2.0"></pre></li>
      <li>
      <strong>频道信息 (<pre class="brush:php;toolbar:false;"><channel></pre>):</strong><ul>
      <li><pre class="brush:php;toolbar:false;"><title></pre>:你的网站或Feed的标题。</li>
      <li><pre class="brush:php;toolbar:false;"><link></pre>:你的网站主页URL。</li>
      <li><pre class="brush:php;toolbar:false;"><description></pre>:对Feed内容的简短描述。</li>
      <li><pre class="brush:php;toolbar:false;"><language></pre>:Feed的语言,例如<pre class="brush:php;toolbar:false;">zh-cn</pre>。</li>
      <li><pre class="brush:php;toolbar:false;"><pubDate></pre>:Feed最后发布内容的日期和时间,格式为RFC 822(如<pre class="brush:php;toolbar:false;">Mon, 26 Oct 2023 10:00:00 +0800</pre>)。PHP的<pre class="brush:php;toolbar:false;">date(DATE_RSS)</pre>函数可以直接生成这种格式。</li>
      </ul>
      </li>
      <li>
      <strong>内容项 (<pre class="brush:php;toolbar:false;"><item></pre>):</strong><ul>
      <li><pre class="brush:php;toolbar:false;"><title></pre>:文章标题。</li>
      <li><pre class="brush:php;toolbar:false;"><link></pre>:文章的完整URL。</li>
      <li><pre class="brush:php;toolbar:false;"><description></pre>:文章摘要或全文。如果包含HTML,应使用CDATA节包裹。</li>
      <li><pre class="brush:php;toolbar:false;"><pubDate></pre>:文章发布日期和时间,同样是RFC 822格式。</li>
      <li><pre class="brush:php;toolbar:false;"><guid></pre>:文章的全局唯一标识符,通常是文章的永久链接,设置<pre class="brush:php;toolbar:false;">isPermaLink="true"</pre>。</li>
      </ul>
      </li>
      </ul>
      </li>
      </ol>
      <p><strong>一个使用<pre class="brush:php;toolbar:false;">DOMDocument</pre>创建RSS Feed的详细代码思路:</strong></p><pre class='brush:php;toolbar:false;'>
      <?php
      // 假设这是从数据库获取的文章数据
      $articles = [
          [
              'id' => 1,
              'title' => '我的第一篇RSS文章',
              'link' => 'https://example.com/blog/article1',
              'description' => '这是关于PHP生成RSS Feed的<b>第一篇</b>文章的详细内容。',
              'pub_date' => '2023-10-26 10:30:00'
          ],
          [
              'id' => 2,
              'title' => 'RSS Feed优化技巧',
              'link' => 'https://example.com/blog/article2',
              'description' => '一些提高RSS Feed兼容性和可读性的<a href="#">实用技巧</a>。',
              'pub_date' => '2023-10-25 14:00:00'
          ],
      ];
      
      // 设置HTTP头,告知客户端这是一个XML文件
      header('Content-type: application/xml; charset=utf-8');
      
      $dom = new DOMDocument('1.0', 'utf-8');
      $dom->formatOutput = true; // 让输出的XML带缩进,更易读
      
      // 创建RSS根元素
      $rss = $dom->createElement('rss');
      $rss->setAttribute('version', '2.0');
      $dom->appendChild($rss);
      
      // 创建channel元素
      $channel = $dom->createElement('channel');
      $rss->appendChild($channel);
      
      // 添加channel的基本信息
      $channel->appendChild($dom->createElement('title', '我的个人博客'));
      $channel->appendChild($dom->createElement('link', 'https://example.com/blog'));
      $channel->appendChild($dom->createElement('description', '这里是我的最新博客文章更新</pre>					</div>
      					<div class="artmoreart ">
      													<div class="artdp artptit"><span></span>
      								<p>相关文章</p>
      							</div>
      							<div class="artmores flexColumn">
      																	<a class="artmrlis flexRow" href="/faq/2013851.html" title="如何在 WordPress AJAX 中通过循环动态获取多角色用户数据"><b></b>
      										<p class="overflowclass">如何在 WordPress AJAX 中通过循环动态获取多角色用户数据</p>
      									</a>
      																	<a class="artmrlis flexRow" href="/faq/2013747.html" title="如何在 PHP 中将多个复选框选择结果安全拼接并嵌入邮件正文"><b></b>
      										<p class="overflowclass">如何在 PHP 中将多个复选框选择结果安全拼接并嵌入邮件正文</p>
      									</a>
      																	<a class="artmrlis flexRow" href="/faq/2013562.html" title="PHP怎样生成随机数_生成随机数的函数介绍【指南】"><b></b>
      										<p class="overflowclass">PHP怎样生成随机数_生成随机数的函数介绍【指南】</p>
      									</a>
      																	<a class="artmrlis flexRow" href="/faq/2013324.html" title="如何在PHP中安全嵌入JavaScript并正确传递PHP变量值"><b></b>
      										<p class="overflowclass">如何在PHP中安全嵌入JavaScript并正确传递PHP变量值</p>
      									</a>
      																	<a class="artmrlis flexRow" href="/faq/2012646.html" title="如何在 PHP 中将多个复选框选择结果安全拼接并写入邮件正文"><b></b>
      										<p class="overflowclass">如何在 PHP 中将多个复选框选择结果安全拼接并写入邮件正文</p>
      									</a>
      															</div>
      													<div class="aritcle_card flexRow">
      							<div class="artcardd flexRow">
      								<a class="aritcle_card_img" href="https://pan.quark.cn/s/f79bda81fa1b" title="PHP速学教程(入门到精通)"><img
      										src="https://img.php.cn/upload/Recdownload/000/000/085/666bdff371e4d231.png" alt="PHP速学教程(入门到精通)"></a>
      								<div class="aritcle_card_info flexColumn">
      									<a href="https://pan.quark.cn/s/f79bda81fa1b" title="PHP速学教程(入门到精通)">PHP速学教程(入门到精通)</a>
      									<p>PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!</p>
      								</div>
      								<a href="https://pan.quark.cn/s/f79bda81fa1b" title="PHP速学教程(入门到精通)" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
      							</div>
      						</div>							<div class="artmoretabs flexRow">
      								<p>相关标签:</p>
      								<div class="mtbs flexRow">
      									<a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15713.html" target="_blank">mysql</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15714.html" target="_blank">php</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15763.html" target="_blank">html</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/16108.html" target="_blank">编码</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/16141.html" target="_blank">大数据</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/16180.html" target="_blank">浏览器</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/16186.html" target="_blank">app</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/16887.html" target="_blank">工具</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/17285.html" target="_blank">curl</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/24442.html" target="_blank">状态码</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/31874.html" target="_blank">xml解析</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=php" target="_blank">php</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=mysql" target="_blank">mysql</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=html" target="_blank">html</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=Object" target="_blank">Object</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=命名空间" target="_blank">命名空间</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=面向对象" target="_blank">面向对象</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=date" target="_blank">date</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=xml" target="_blank">xml</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=cURL" target="_blank">cURL</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=simpleXML" target="_blank">simpleXML</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=标识符" target="_blank">标识符</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=字符串" target="_blank">字符串</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=channel" target="_blank">channel</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=对象" target="_blank">对象</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=dom" target="_blank">dom</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=数据库" target="_blank">数据库</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=http" target="_blank">http</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=重构" target="_blank">重构</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=自动化" target="_blank">自动化</a>								</div>
      							</div>
      						
      						<p class="statement">本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn</p>
      						<div class="lastanext flexRow">
      													<a class="lastart flexRow" href="/faq/1539236.html" title="PHP动态网页XML数据解析_PHP动态网页XML文件解析处理教程"><span>上一篇:</span>PHP动态网页XML数据解析_PHP动态网页XML文件解析处理教程</a>
      													<a class="nextart flexRow" href="/faq/1539375.html" title="PHP如何实现二维码生成_二维码生成代码编写详解"><span>下一篇:</span>PHP如何实现二维码生成_二维码生成代码编写详解</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/2017191.html" title="抖音1-75级跨级冲榜花费多少 抖音1-75级冲榜金额统计表"><b></b>
      												<p class="overflowclass">抖音1-75级跨级冲榜花费多少 抖音1-75级冲榜金额统计表</p>
      											</a>
      											<div class="authtime flexRow"><b></b>
      												<p>2026-01-22 14:25</p>
      											</div>
      										</div>
      								</div>
      																	<div class="authlist flexColumn">
      										<div class="autharts flexRow">
      											<a class="autharta flexRow " href="/faq/2017248.html" title="StableDiffusion分辨率提示词有效吗_出图尺寸与质量关系【测试】"><b></b>
      												<p class="overflowclass">StableDiffusion分辨率提示词有效吗_出图尺寸与质量关系【测试】</p>
      											</a>
      											<div class="authtime flexRow"><b></b>
      												<p>2026-01-22 14:34</p>
      											</div>
      										</div>
      								</div>
      																	<div class="authlist flexColumn">
      										<div class="autharts flexRow">
      											<a class="autharta flexRow " href="/faq/2017266.html" title="如何查询自己名下有几张电话卡 一证通查操作方法【必备】"><b></b>
      												<p class="overflowclass">如何查询自己名下有几张电话卡 一证通查操作方法【必备】</p>
      											</a>
      											<div class="authtime flexRow"><b></b>
      												<p>2026-01-22 14:36</p>
      											</div>
      										</div>
      								</div>
      																	<div class="authlist flexColumn">
      										<div class="autharts flexRow">
      											<a class="autharta flexRow " href="/faq/2017267.html" title="兔喜生活APP怎样注销个人账户_兔喜生活APP注销账号流程【注意】"><b></b>
      												<p class="overflowclass">兔喜生活APP怎样注销个人账户_兔喜生活APP注销账号流程【注意】</p>
      											</a>
      											<div class="authtime flexRow"><b></b>
      												<p>2026-01-22 14:37</p>
      											</div>
      										</div>
      								</div>
      																	<div class="authlist flexColumn">
      										<div class="autharts flexRow">
      											<a class="autharta flexRow " href="/faq/2017275.html" title="重返未来1999拉普拉斯论坛活动有哪些-重返未来拉普拉斯论坛活动有哪些"><b></b>
      												<p class="overflowclass">重返未来1999拉普拉斯论坛活动有哪些-重返未来拉普拉斯论坛活动有哪些</p>
      											</a>
      											<div class="authtime flexRow"><b></b>
      												<p>2026-01-22 14:37</p>
      											</div>
      										</div>
      								</div>
      																	<div class="authlist flexColumn">
      										<div class="autharts flexRow">
      											<a class="autharta flexRow " href="/faq/2017309.html" title="zliabary小说推荐免费阅读地址 zliabary镜像手机在线免费阅读入口"><b></b>
      												<p class="overflowclass">zliabary小说推荐免费阅读地址 zliabary镜像手机在线免费阅读入口</p>
      											</a>
      											<div class="authtime flexRow"><b></b>
      												<p>2026-01-22 14:43</p>
      											</div>
      										</div>
      								</div>
      																	<div class="authlist flexColumn">
      										<div class="autharts flexRow">
      											<a class="autharta flexRow " href="/faq/2017338.html" title="小红书在线版官网地址 小红书网页版主站快速访问"><b></b>
      												<p class="overflowclass">小红书在线版官网地址 小红书网页版主站快速访问</p>
      											</a>
      											<div class="authtime flexRow"><b></b>
      												<p>2026-01-22 14:48</p>
      											</div>
      										</div>
      								</div>
      																	<div class="authlist flexColumn">
      										<div class="autharts flexRow">
      											<a class="autharta flexRow " href="/faq/2017359.html" title="燕云十六声柿业有成活动怎么完成-燕云十六声柿业有成活动完成方法"><b></b>
      												<p class="overflowclass">燕云十六声柿业有成活动怎么完成-燕云十六声柿业有成活动完成方法</p>
      											</a>
      											<div class="authtime flexRow"><b></b>
      												<p>2026-01-22 14:53</p>
      											</div>
      										</div>
      								</div>
      																	<div class="authlist flexColumn">
      										<div class="autharts flexRow">
      											<a class="autharta flexRow " href="/faq/2017368.html" title="兔喜生活APP怎么导出订单数据_兔喜生活APP导数据方法【说明】"><b></b>
      												<p class="overflowclass">兔喜生活APP怎么导出订单数据_兔喜生活APP导数据方法【说明】</p>
      											</a>
      											<div class="authtime flexRow"><b></b>
      												<p>2026-01-22 14:56</p>
      											</div>
      										</div>
      								</div>
      																	<div class="authlist flexColumn">
      										<div class="autharts flexRow">
      											<a class="autharta flexRow " href="/faq/2017393.html" title="同城生活圈小程序适合什么规模的商家?"><b></b>
      												<p class="overflowclass">同城生活圈小程序适合什么规模的商家?</p>
      											</a>
      											<div class="authtime flexRow"><b></b>
      												<p>2026-01-22 15:00</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  check ">
      										<a target="_blank" href="/ai/723" title="DeepSeek" class="aibtns 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'">
      											<div class="aibtn-right flexColumn">
      												<p class="overflowclass abripone">DeepSeek</p>
      												<p class="overflowclass abriptwo">幻方量化公司旗下的开源大模型平台</p>
      																									<div class="aidconstab flexRow">
      																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
      																													<p href="/ai/tag/code/open-plat" title="开放平台" class="aidcontbp flexRow flexcenter">开放平台</p>
      																											</div>
      																							</div>
      										</a>
      									</div>
      																	<div class="aidcons flexRow  check ">
      										<a target="_blank" href="/ai/726" title="豆包大模型" class="aibtns 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'">
      											<div class="aibtn-right flexColumn">
      												<p class="overflowclass abripone">豆包大模型</p>
      												<p class="overflowclass abriptwo">字节跳动自主研发的一系列大型语言模型</p>
      																									<div class="aidconstab flexRow">
      																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
      																											</div>
      																							</div>
      										</a>
      									</div>
      																	<div class="aidcons flexRow  check ">
      										<a target="_blank" href="/ai/725" title="通义千问" class="aibtns 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'">
      											<div class="aibtn-right flexColumn">
      												<p class="overflowclass abripone">通义千问</p>
      												<p class="overflowclass abriptwo">阿里巴巴推出的全能AI助手</p>
      																									<div class="aidconstab flexRow">
      																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
      																											</div>
      																							</div>
      										</a>
      									</div>
      																	<div class="aidcons flexRow  check ">
      										<a target="_blank" href="/ai/854" title="腾讯元宝" class="aibtns 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'">
      											<div class="aibtn-right flexColumn">
      												<p class="overflowclass abripone">腾讯元宝</p>
      												<p class="overflowclass abriptwo">腾讯混元平台推出的AI助手</p>
      																									<div class="aidconstab flexRow">
      																												<p href="/ai/tag/office/docs" title="文档处理" class="aidcontbp flexRow flexcenter">文档处理</p>
      																													<p href="/ai/tag/office/excel" title="Excel 表格" class="aidcontbp flexRow flexcenter">Excel 表格</p>
      																											</div>
      																							</div>
      										</a>
      									</div>
      																	<div class="aidcons flexRow  check ">
      										<a target="_blank" href="/ai/724" title="文心一言" class="aibtns 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'">
      											<div class="aibtn-right flexColumn">
      												<p class="overflowclass abripone">文心一言</p>
      												<p class="overflowclass abriptwo">文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。</p>
      																									<div class="aidconstab flexRow">
      																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
      																													<p href="/ai/tag/text/chinese-writing" title="中文写作" class="aidcontbp flexRow flexcenter">中文写作</p>
      																											</div>
      																							</div>
      										</a>
      									</div>
      																	<div class="aidcons flexRow  check ">
      										<a target="_blank" href="/ai/1507" title="讯飞写作" class="aibtns 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'">
      											<div class="aibtn-right flexColumn">
      												<p class="overflowclass abripone">讯飞写作</p>
      												<p class="overflowclass abriptwo">基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿</p>
      																									<div class="aidconstab flexRow">
      																												<p href="/ai/tag/text/chinese-writing" title="中文写作" class="aidcontbp flexRow flexcenter">中文写作</p>
      																													<p href="/ai/tag/text/write" title="写作工具" class="aidcontbp flexRow flexcenter">写作工具</p>
      																											</div>
      																							</div>
      										</a>
      									</div>
      																	<div class="aidcons flexRow  check ">
      										<a target="_blank" href="/ai/1115" title="即梦AI" class="aibtns 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'">
      											<div class="aibtn-right flexColumn">
      												<p class="overflowclass abripone">即梦AI</p>
      												<p class="overflowclass abriptwo">一站式AI创作平台,免费AI图片和视频生成。</p>
      																									<div class="aidconstab flexRow">
      																												<p href="/ai/tag/image/image-titching" title="图片拼接" class="aidcontbp flexRow flexcenter">图片拼接</p>
      																													<p href="/ai/tag/image/image-create" title="图画生成" class="aidcontbp flexRow flexcenter">图画生成</p>
      																											</div>
      																							</div>
      										</a>
      									</div>
      																	<div class="aidcons flexRow  check ">
      										<a target="_blank" href="/ai/808" title="ChatGPT" class="aibtns 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'">
      											<div class="aibtn-right flexColumn">
      												<p class="overflowclass abripone">ChatGPT</p>
      												<p class="overflowclass abriptwo">最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。</p>
      																									<div class="aidconstab flexRow">
      																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
      																													<p href="/ai/tag/text/chinese-writing" title="中文写作" class="aidcontbp flexRow flexcenter">中文写作</p>
      																											</div>
      																							</div>
      										</a>
      									</div>
      																	<div class="aidcons flexRow  check ">
      										<a target="_blank" href="/ai/821" title="智谱清言 - 免费全能的AI助手" class="aibtns 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'">
      											<div class="aibtn-right flexColumn">
      												<p class="overflowclass abripone">智谱清言 - 免费全能的AI助手</p>
      												<p class="overflowclass abriptwo">智谱清言 - 免费全能的AI助手</p>
      																									<div class="aidconstab flexRow">
      																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
      																													<p href="/ai/tag/office/pdf" title="PDF 文档" class="aidcontbp flexRow flexcenter">PDF 文档</p>
      																											</div>
      																							</div>
      										</a>
      									</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/phpwjzmdk" class="aClass flexRow hotzta" title="php文件怎么打开"><img
      										src="https://img.php.cn/upload/subject/202309/01/2023090111533461500.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="php文件怎么打开" class="hotztaimg"
      										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
      								<div class="hotztright flexColumn">
      									<a target="_blank" href="/faq/phpwjzmdk" class="aClass flexRow hotztra overflowclass" title="php文件怎么打开">php文件怎么打开</a>
      									<p class="aClass flexRow hotztrp overflowclass">打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。</p>
      									<div class="hotztrdown flexRow">
      										<div class="htztdsee flexRow"> <b></b>
      											<p class="">2774</p>
      										</div>
      										<div class="htztdTime flexRow"> <b></b>
      											<p>2023.09.01</p>
      										</div>
      									</div>
      								</div>
      							</div>
      													<div class="hotztlls flexRow">
      								<a target="_blank" href="/faq/phpzmqcszys" class="aClass flexRow hotzta" title="php怎么取出数组的前几个元素"><img
      										src="https://img.php.cn/upload/subject/202310/11/2023101111394597302.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="php怎么取出数组的前几个元素" class="hotztaimg"
      										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
      								<div class="hotztright flexColumn">
      									<a target="_blank" href="/faq/phpzmqcszys" class="aClass flexRow hotztra overflowclass" title="php怎么取出数组的前几个元素">php怎么取出数组的前几个元素</a>
      									<p class="aClass flexRow hotztrp overflowclass">取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。</p>
      									<div class="hotztrdown flexRow">
      										<div class="htztdsee flexRow"> <b></b>
      											<p class="">1679</p>
      										</div>
      										<div class="htztdTime flexRow"> <b></b>
      											<p>2023.10.11</p>
      										</div>
      									</div>
      								</div>
      							</div>
      													<div class="hotztlls flexRow">
      								<a target="_blank" href="/faq/phpfxlsb" class="aClass flexRow hotzta" title="php反序列化失败怎么办"><img
      										src="https://img.php.cn/upload/subject/202310/11/2023101111442515737.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="php反序列化失败怎么办" class="hotztaimg"
      										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
      								<div class="hotztright flexColumn">
      									<a target="_blank" href="/faq/phpfxlsb" class="aClass flexRow hotztra overflowclass" title="php反序列化失败怎么办">php反序列化失败怎么办</a>
      									<p class="aClass flexRow hotztrp overflowclass">php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。</p>
      									<div class="hotztrdown flexRow">
      										<div class="htztdsee flexRow"> <b></b>
      											<p class="">1538</p>
      										</div>
      										<div class="htztdTime flexRow"> <b></b>
      											<p>2023.10.11</p>
      										</div>
      									</div>
      								</div>
      							</div>
      													<div class="hotztlls flexRow">
      								<a target="_blank" href="/faq/phpljmssql" class="aClass flexRow hotzta" title="php怎么连接mssql数据库"><img
      										src="https://img.php.cn/upload/subject/202310/23/2023102311474720631.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="php怎么连接mssql数据库" class="hotztaimg"
      										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
      								<div class="hotztright flexColumn">
      									<a target="_blank" href="/faq/phpljmssql" class="aClass flexRow hotztra overflowclass" title="php怎么连接mssql数据库">php怎么连接mssql数据库</a>
      									<p class="aClass flexRow hotztrp overflowclass">连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。</p>
      									<div class="hotztrdown flexRow">
      										<div class="htztdsee flexRow"> <b></b>
      											<p class="">1015</p>
      										</div>
      										<div class="htztdTime flexRow"> <b></b>
      											<p>2023.10.23</p>
      										</div>
      									</div>
      								</div>
      							</div>
      													<div class="hotztlls flexRow">
      								<a target="_blank" href="/faq/phpljmssqlsjk" class="aClass flexRow hotzta" title="php连接mssql数据库的方法"><img
      										src="https://img.php.cn/upload/subject/202310/23/2023102312044461242.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="php连接mssql数据库的方法" class="hotztaimg"
      										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
      								<div class="hotztright flexColumn">
      									<a target="_blank" href="/faq/phpljmssqlsjk" class="aClass flexRow hotztra overflowclass" title="php连接mssql数据库的方法">php连接mssql数据库的方法</a>
      									<p class="aClass flexRow hotztrp overflowclass">php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。</p>
      									<div class="hotztrdown flexRow">
      										<div class="htztdsee flexRow"> <b></b>
      											<p class="">1464</p>
      										</div>
      										<div class="htztdTime flexRow"> <b></b>
      											<p>2023.10.23</p>
      										</div>
      									</div>
      								</div>
      							</div>
      													<div class="hotztlls flexRow">
      								<a target="_blank" href="/faq/htmlzmsc" class="aClass flexRow hotzta" title="html怎么上传"><img
      										src="https://img.php.cn/upload/subject/202311/03/2023110309571979057.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="html怎么上传" class="hotztaimg"
      										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
      								<div class="hotztright flexColumn">
      									<a target="_blank" href="/faq/htmlzmsc" class="aClass flexRow hotztra overflowclass" title="html怎么上传">html怎么上传</a>
      									<p class="aClass flexRow hotztrp overflowclass">html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。</p>
      									<div class="hotztrdown flexRow">
      										<div class="htztdsee flexRow"> <b></b>
      											<p class="">1255</p>
      										</div>
      										<div class="htztdTime flexRow"> <b></b>
      											<p>2023.11.03</p>
      										</div>
      									</div>
      								</div>
      							</div>
      													<div class="hotztlls flexRow">
      								<a target="_blank" href="/faq/phpcxlmzmjj" class="aClass flexRow hotzta" title="PHP出现乱码怎么解决"><img
      										src="https://img.php.cn/upload/subject/202311/09/2023110909430246458.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="PHP出现乱码怎么解决" class="hotztaimg"
      										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
      								<div class="hotztright flexColumn">
      									<a target="_blank" href="/faq/phpcxlmzmjj" class="aClass flexRow hotztra overflowclass" title="PHP出现乱码怎么解决">PHP出现乱码怎么解决</a>
      									<p class="aClass flexRow hotztrp overflowclass">PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。</p>
      									<div class="hotztrdown flexRow">
      										<div class="htztdsee flexRow"> <b></b>
      											<p class="">1569</p>
      										</div>
      										<div class="htztdTime flexRow"> <b></b>
      											<p>2023.11.09</p>
      										</div>
      									</div>
      								</div>
      							</div>
      													<div class="hotztlls flexRow">
      								<a target="_blank" href="/faq/phpwjzmzsjsdk" class="aClass flexRow hotzta" title="php文件怎么在手机上打开"><img
      										src="https://img.php.cn/upload/subject/202311/13/2023111311092751784.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="php文件怎么在手机上打开" class="hotztaimg"
      										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
      								<div class="hotztright flexColumn">
      									<a target="_blank" href="/faq/phpwjzmzsjsdk" class="aClass flexRow hotztra overflowclass" title="php文件怎么在手机上打开">php文件怎么在手机上打开</a>
      									<p class="aClass flexRow hotztrp overflowclass">php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。</p>
      									<div class="hotztrdown flexRow">
      										<div class="htztdsee flexRow"> <b></b>
      											<p class="">1307</p>
      										</div>
      										<div class="htztdTime flexRow"> <b></b>
      											<p>2023.11.13</p>
      										</div>
      									</div>
      								</div>
      							</div>
      													<div class="hotztlls flexRow">
      								<a target="_blank" href="/faq/gxnfxyptysz" class="aClass flexRow hotzta" title="Golang 性能分析与pprof调优实战"><img
      										src="https://img.php.cn/upload/subject/202601/22/2026012211502680793.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Golang 性能分析与pprof调优实战" class="hotztaimg"
      										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
      								<div class="hotztright flexColumn">
      									<a target="_blank" href="/faq/gxnfxyptysz" class="aClass flexRow hotztra overflowclass" title="Golang 性能分析与pprof调优实战">Golang 性能分析与pprof调优实战</a>
      									<p class="aClass flexRow hotztrp overflowclass">本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。</p>
      									<div class="hotztrdown flexRow">
      										<div class="htztdsee flexRow"> <b></b>
      											<p class="">8</p>
      										</div>
      										<div class="htztdTime flexRow"> <b></b>
      											<p>2026.01.22</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="jQuery空格键添加a标签" href="/xiazai/js/8579"><span>[表单按钮]</span><span>jQuery空格键添加a标签</span></a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" title="jQuery创意输入框表单提交特效" href="/xiazai/js/8578"><span>[表单按钮]</span><span>jQuery创意输入框表单提交特效</span></a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" title="jQuery图片查看器代码" href="/xiazai/js/8577"><span>[图片特效]</span><span>jQuery图片查看器代码</span></a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" title="jQuery图片自动轮播切换展示特效" href="/xiazai/js/8576"><span>[图片特效]</span><span>jQuery图片自动轮播切换展示特效</span></a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" title="Twitter Bootstrap表单验证" href="/xiazai/js/8575"><span>[表单按钮]</span><span>Twitter Bootstrap表单验证</span></a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" title="门户网站jQuery相册代码" href="/xiazai/js/8574"><span>[图片特效]</span><span>门户网站jQuery相册代码</span></a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" title="html5+css3现代感注册表单" href="/xiazai/js/8573"><span>[表单按钮]</span><span>html5+css3现代感注册表单</span></a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" title="jQuery鼠标经过图片翻牌切换代码" href="/xiazai/js/8572"><span>[图片特效]</span><span>jQuery鼠标经过图片翻牌切换代码</span></a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" title="jQuery电网分分步骤注册表单代码" href="/xiazai/js/8571"><span>[表单按钮]</span><span>jQuery电网分分步骤注册表单代码</span></a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" title="Tooltip验证提示HTML5表单" href="/xiazai/js/8570"><span>[表单按钮]</span><span>Tooltip验证提示HTML5表单</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/4240" title="2026马年新春祥云灯笼矢量素材"><span>[网站素材]</span><span>2026马年新春祥云灯笼矢量素材</span> </a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" href="/xiazai/sucai/4239" title="特价飞机旅行预定海报PSD素材下载"><span>[网站素材]</span><span>特价飞机旅行预定海报PSD素材下载</span> </a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" href="/xiazai/sucai/4238" title="航空旅行折扣海报PSD源文件设计下载"><span>[网站素材]</span><span>航空旅行折扣海报PSD源文件设计下载</span> </a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" href="/xiazai/sucai/4237" title="怀旧黑胶音乐海报合集矢量模板"><span>[网站素材]</span><span>怀旧黑胶音乐海报合集矢量模板</span> </a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" href="/xiazai/sucai/4236" title="国潮烫金牡丹灯笼背景矢量素材"><span>[网站素材]</span><span>国潮烫金牡丹灯笼背景矢量素材</span> </a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" href="/xiazai/sucai/4235" title="时尚促销边框PSD分层素材下载"><span>[网站素材]</span><span>时尚促销边框PSD分层素材下载</span> </a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" href="/xiazai/sucai/4234" title="手绘文艺书本咖啡海报矢量素材"><span>[网站素材]</span><span>手绘文艺书本咖啡海报矢量素材</span> </a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" href="/xiazai/sucai/4233" title="情人节香水宣传折页PSD模板设计下载"><span>[网站素材]</span><span>情人节香水宣传折页PSD模板设计下载</span> </a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" href="/xiazai/sucai/4232" title="2026新春喜庆红色边框矢量素材"><span>[网站素材]</span><span>2026新春喜庆红色边框矢量素材</span> </a>
      									</div>
      								</li>
      															<li>
      									<div class="wzrfourli flexRow">
      										<b></b>
      										<a target="_blank" href="/xiazai/sucai/4231" title="绿色风格旅行竖版海报PSD素材下载"><span>[网站素材]</span><span>绿色风格旅行竖版海报PSD素材下载</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="php商城系统" href="/xiazai/code/11178">php商城系统</a></div>
      											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="淘源码商城PHP淘宝查信誉" href="/xiazai/code/11177">淘源码商城PHP淘宝查信誉</a></div>
      											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP房产程序[BBWPS]" href="/xiazai/code/11165">PHP房产程序[BBWPS]</a></div>
      											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP简约自动发卡平台个人版" href="/xiazai/code/11128">PHP简约自动发卡平台个人版</a></div>
      											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="ERMEB域名PHP离线网络授权系统" href="/xiazai/code/11040">ERMEB域名PHP离线网络授权系统</a></div>
      											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Difeye-敏捷的轻量级PHP框架" href="/xiazai/code/11037">Difeye-敏捷的轻量级PHP框架</a></div>
      											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="大泉州汽车网PHP整站程序" href="/xiazai/code/10963">大泉州汽车网PHP整站程序</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/1684.html" title="SciPy 教程">
      									<img src="https://img.php.cn/upload/course/000/000/090/689da63e955bb889.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="SciPy 教程" class="ristyAimg"
      										onerror="this.src='/static/mobimages/moren/morentu.png'">
      								</a>
      								<div class="ristyaRight flexColumn">
      									<a target="_blank" href="/course/1684.html" title="SciPy 教程"
      										class="rirightp overflowclass">SciPy 教程</a>
      
      									<div class="risrdown flexRow">
      										<p>共10课时 | 1.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_75,w_120,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  class="ristyA flexRow " >
      								<a target="_blank" href="/course/1646.html" title="Go语言实战之 GraphQL">
      									<img src="https://img.php.cn/upload/course/000/000/067/662221173504a436.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Go语言实战之 GraphQL" class="ristyAimg"
      										onerror="this.src='/static/mobimages/moren/morentu.png'">
      								</a>
      								<div class="ristyaRight flexColumn">
      									<a target="_blank" href="/course/1646.html" title="Go语言实战之 GraphQL"
      										class="rirightp overflowclass">Go语言实战之 GraphQL</a>
      
      									<div class="risrdown flexRow">
      										<p>共10课时 | 0.8万人学习</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课时 | 9.7万人学习</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课时 | 151.4万人学习</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.4万人学习</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课时 | 12.6万人学习</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课时 | 9.7万人学习</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="如何使用正则表达式匹配包含重复字母的字符串" href="/faq/2017987.html">如何使用正则表达式匹配包含重复字母的字符串</a></div>
      													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Laravel Excel 导出多维数组数据的正确处理方法" href="/faq/2017923.html">Laravel Excel 导出多维数组数据的正确处理方法</a></div>
      													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP 正则匹配字符串中任意字符重复出现两次及以上(含非连续重复)" href="/faq/2017892.html">PHP 正则匹配字符串中任意字符重复出现两次及以上(含非连续重复)</a></div>
      													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何将 POST 数据持久化写入 PHP 文件以实现跨会话访问" href="/faq/2017832.html">如何将 POST 数据持久化写入 PHP 文件以实现跨会话访问</a></div>
      													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何将 POST 数据持久化保存到 PHP 文件中并实现离线访问" href="/faq/2017777.html">如何将 POST 数据持久化保存到 PHP 文件中并实现离线访问</a></div>
      													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何在关联查询中跨表过滤类型与日期(即使主表无日期字段)" href="/faq/2017534.html">如何在关联查询中跨表过滤类型与日期(即使主表无日期字段)</a></div>
      													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP 正则表达式匹配任意字符重复出现两次及以上(含非连续)" href="/faq/2017437.html">PHP 正则表达式匹配任意字符重复出现两次及以上(含非连续)</a></div>
      													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何在关联查询中跨表筛选(含日期与类型条件)" href="/faq/2017398.html">如何在关联查询中跨表筛选(含日期与类型条件)</a></div>
      													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP 正则表达式匹配包含重复字符(任意字母)的字符串" href="/faq/2017382.html">PHP 正则表达式匹配包含重复字符(任意字母)的字符串</a></div>
      													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP中使用类的两种方式:全限定名与use声明的本质区别解析" href="/faq/2017186.html">PHP中使用类的两种方式:全限定名与use声明的本质区别解析</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=1539269&time=1769074016">
      </script>
      <script src="/static/ueditor/third-party/SyntaxHighlighter/shCore.js?1769074016"></script>
      <script>
      	article_status = "1522149";
      </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', '11']);
      		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>