aDriv4 - MANAGER
Edit File: get.php
<?php /** * 自动生成 robots.txt、主 sitemap.xml 和多个分 sitemap 文件。 * 每 10,000 条关键词生成一个单独 sitemap。 */ function getFileRowCount($filename) { return count(file($filename, FILE_SKIP_EMPTY_LINES)); } // 获取完整 URL $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') ? 'https' : 'http'; $fullUrl = $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; // 解析 URL 基础部分 $parsedUrl = parse_url($fullUrl); $scheme = $parsedUrl['scheme'] ?? ''; $host = $parsedUrl['host'] ?? ''; $path = $parsedUrl['path'] ?? ''; $baseUrl = $scheme . "://" . $host . $path; // 去掉脚本名以得到根路径 $urlBase = str_replace("get.php", "", $baseUrl); // === 生成 robots.txt === $robotsTxt = "User-agent: *" . PHP_EOL; $robotsTxt .= "Allow: /" . PHP_EOL; $robotsTxt .= "Sitemap: " . $urlBase . "sitemap.xml" . PHP_EOL; file_put_contents('robots.txt', $robotsTxt); // === 检查 list.txt 是否存在 === $listFile = "wgjc.txt"; if (!file_exists($listFile)) { exit("❌ 找不到 wgjc.txt 文件。"); } // 读取关键词 $fileLines = file($listFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $totalLines = count($fileLines); $chunkSize = 10000; // 每个 sitemap 最大行数 $chunks = array_chunk($fileLines, $chunkSize); $totalSitemaps = count($chunks); date_default_timezone_set('Asia/Bangkok'); $currentTime = date('Y-m-d\TH:i:sP'); // === 生成每个 sitemap_X.xml === foreach ($chunks as $index => $chunk) { $sitemapIndex = $index + 1; $sitemapFilename = "sitemap_{$sitemapIndex}.xml"; $sitemapFile = fopen($sitemapFilename, "w"); fwrite($sitemapFile, '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL); fwrite($sitemapFile, '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . PHP_EOL); foreach ($chunk as $judul) { $sitemapLink = $urlBase . '?view=' . urlencode($judul); fwrite($sitemapFile, " <url>\n"); fwrite($sitemapFile, " <loc>{$sitemapLink}</loc>\n"); fwrite($sitemapFile, " <lastmod>{$currentTime}</lastmod>\n"); fwrite($sitemapFile, " <changefreq>daily</changefreq>\n"); fwrite($sitemapFile, " </url>\n"); } fwrite($sitemapFile, '</urlset>' . PHP_EOL); fclose($sitemapFile); } // === 生成主 sitemap.xml === $mainSitemap = fopen("sitemap.xml", "w"); fwrite($mainSitemap, '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL); fwrite($mainSitemap, '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . PHP_EOL); for ($i = 1; $i <= $totalSitemaps; $i++) { $sitemapUrl = $urlBase . "sitemap_{$i}.xml"; fwrite($mainSitemap, " <sitemap>\n"); fwrite($mainSitemap, " <loc>{$sitemapUrl}</loc>\n"); fwrite($mainSitemap, " <lastmod>{$currentTime}</lastmod>\n"); fwrite($mainSitemap, " </sitemap>\n"); } fwrite($mainSitemap, '</sitemapindex>' . PHP_EOL); fclose($mainSitemap); echo "✅ 已成功生成 {$totalSitemaps} 个 sitemap 文件 和 robots.txt!"; ?>