• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sitemap.xmlファイル自動生成のPHP改造)

sitemap.xmlファイル自動生成のPHP改造

このQ&Aのポイント
  • PHPを改造してsitemap.xmlファイルの自動生成方法を変更する方法について教えてください
  • 現在、サイト制作において1つのディレクトリに1つのindex.htmlという構造を採用しており、自サーバにアップしたPHPプログラムでsitemap.xmlを自動生成しています
  • しかし、index.htmlの表記を省略し、ディレクトリ名のみを表示するよう改造したいです。改造方法を教えてください

質問者が選んだベストアンサー

  • ベストアンサー
noname#184105
noname#184105
回答No.1

ソース中、 --------------------------元ソースここから------------------- if ($fp){ if (strstr($fileName , "index")) $lastmod = "<changefreq>daily</changefreq>\n<priority>0.7000</priority>"; else $lastmod = "<lastmod>{$time}</lastmod>\n<priority>0.5000</priority>"; $temp = <<<EOF <url> <loc>{$domain}{$path}{$fileName}</loc> {$lastmod} </url> EOF; --------------------------元ソースここまで------------------- ↑の部分を --------------------------変更ソースここから------------------- if ($fp){ if (strstr($fileName , "index")) { $lastmod = "<changefreq>daily</changefreq>\n<priority>0.7000</priority>"; $locPath = $domain . $path; } else { $lastmod = "<lastmod>{$time}</lastmod>\n<priority>0.5000</priority>"; $locPath = $domain . $path . $fileName; } $temp = <<<EOF <url> <loc>{$locPath}</loc> {$lastmod} </url> EOF; fputs($fp , $temp); --------------------------変更ソースここまで------------------- としたらどうでしょう? 変更点としては 質問で指摘のindexを検出している条件分に新たにlocPathという変数を定義して、indexである場合にfileNameを除外し、 実際に出力している場所で固定で記述されていた{$domain}{$path}{$fileName}を{$locPath}としました。 コピペして試してみてください。 なお、未検証です。

ganggg
質問者

お礼

ご回答ありがとうございます。 ご提示くださったソースで検証させて頂いた所、 無事にindex.htmlの表記が消えて正常に動作しました! URL元のソースまでご確認して頂いたようで 非常に感謝しております。 すでに退会されている?ようで このお礼コメントも見て下さるか分かりませんが、 本当に通りすがりでサラッとご回答下さいまして ありがとうございました。 ちょっと対応がカッコ良すぎです・・。

関連するQ&A