前回の続きです。
$SiteFileNameを指定してExtractSiteLinks()を呼び出すと、サイトマップ情報(sitemaps.xml)からリンクを抽出し、配列($SiteLinks)として返します。
あとは、配列の一つ一つの要素に対してCompressFile()を掛ければ、できあがりです。
13行目で、XMLの<loc>~</loc>タグで挟まれた文字列を抽出し、リンク情報としています。
15行目では、リンク情報を、URL表記からサーバ上の絶対パスに変換しています。14行目では、リンク情報が“/”で終わっているものについて、“/index.php”を追加して実体化しています。
実行結果です。
前回の処理以降、更新されているファイルのみ圧縮してくれます。blogをアップした時に手動で実行するか、あるいはcrontabを使って夜中に自動で実行させても良いかも知れません。
#とりあえず動かすことだけを先行したので、サイトマップ情報等の変数は直値で指定していますが、引数を与えて汎用にするか等は、お好みで。
Post Comment