BLOGGER ftp公開廃止に伴う移行 その2 タグリスト
BLOGGER ftp公開廃止に伴う移行 その2 タグリスト

BLOGGER ftp公開廃止に伴う移行 その2 タグリスト

BLOGGER ftp公開廃止に伴う移行 その1の続きというか、タグリストを作るにあたって、大事な事は、BLOGGERの場合、

BLOGGER FTP公開サイトのラベルでの分類方法

に書いてあるとおりbase64_decodeで日本語変換しておかないと
キャシュされているリンクからのアクセスが途切れてしまいます。
例)44OA44Oh44O844K444OY44Ki44O8 → ダメージヘアー

変換書き出し用のsampleは以下の感じです。

<?php
$dir = '/var/www/~~/labels/';#ラベルのパス
if($handle = opendir($dir)){#ディレクトリハンドルを獲得
while(false !== $file = readdir($handle)){#ファイル名獲得
list($filename,$html) = split("\.", $file);#ファイル名と拡張子を分割
if($html!="html"){continue;}
$filename = str_replace("__", "/", $filename);#ファイル名にするため__を/に戻す

if (preg_match("/=([A-F0-9]{2})/",$filename)) {#quoted_printable_decodeでローマ字+日本語に変換
$labellist = quoted_printable_decode ($filename);
}elseif(mb_detect_encoding(base64_decode($filename)) == "UTF-8"){#encodingがUTF-8ならbase64_decodeで日本語変換
$labellist = base64_decode($filename) ;
}else{#ローマ字はそのまま表示
$labellist = $filename ;
}
$ar[$labellist] = "$file";
}
closedir($handle); #ディレクトリハンドルを閉じる
}
foreach( $ar as $key => $val ){$insertlog.="$key<>$val;";print"$key-->$val<br />";}

$pointer=fopen("./labellist.log", "w");#'w' 書き出しのみでオープンします。ファイルが存在しない場合には、 作成を試みます。
flock($pointer, LOCK_EX);#ファイルをロックします
fputs($pointer, $insertlog);#書込みです
flock($pointer, LOCK_UN);#ロックを解除します
fclose($pointer);#ファイルを閉じます
?>

とかで、変換テーブルを作っておいて、.htaccessで
RewriteRule ^labels/(.*)\.html$ /?labels=$1.html
として、飛ばしてリンク切れを防いだりしています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください