質問箱/2070

カテゴリ
サマリget_existpagesについて
バージョン1.4.2
投稿者kent
状態完了
投稿日2004-03-08 (MON) 19:29:24

質問

refererプラグインは、ページ名がない場合あるいはページ名が不正な場合

$pages = get_existpages(TRACKBACK_DIR,'.ref');

if (count($pages) == 0)
{
    return array('msg'=>'','body'=>'');
}

return array(
    'msg' => 'referer list',
    'body' => page_list($pages,'referer',FALSE)
);
というルーチンに入りますが、get_existpagesが必ず0を返します。 pukiwiki/trackback/に保存されている.refファイルの名前はtrackback.phpで次のようにmd5を利用して生成されています。
function tb_get_id($page)
{
    return md5($page);
}

md5が生成する文字列はRH9+apache1.3.29+PHP4.3.4では全て小文字です。 しかし、file.phpのget_existpagesで使われているパターンは

$pattern = '^((?:[0-9A-F]{2})+)';
ですので、
preg_match("/$pattern/",$file,$matches))
にはマッチしません。

とりあえず、大文字小文字をマッチさせないことにしてとおすと、一覧が表示されますが文字化けしていました。 get_existpagesでは

$aryret[$file] = decode($matches[1]);
となっていますが、encodeされたものではないのでdecodeで名前に戻すことは出来ないのではないでしょうか。

よく分からないので教えてください。

回答



トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-11-23 (木) 19:13:27
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.425 sec.

SourceForge