CLIEのNetFrontからメモリースティックに保存した写真をアップロードしたら、ファイルのフルパスを「ファイル名」としてアップするようで、添付されたファイル名が
/MEMORYSTICK/DCIM/DSC00100.JPG
となってしまいます。
こんなお行儀の悪いブラウザが世の中に沢山あるとは考えたくないですが#ref(pagename/attach.file) の仕様と相まって、refで参照できなくなってしまいます。
ファイルが添付されているページの下の方に自動で追加されるリンクはちゃんと添付ファイルが参照されています。
attach.inc.phpを次のようにしてみました。
--- bwiki-new/plugin/attach.inc.php Sun Jul 6 11:58:46 2003 +++ bwiki/plugin/attach.inc.php Sun Jul 6 16:00:41 2003 @@ -422,6 +422,10 @@ function AttachFile($page,$file,$age=0) { + preg_match('/^(.*\/|)([^\/]+)$/',$file,$filefilename); + if($filefilename[2] != '') { + $file = $filefilename[2]; + } $this->page = $page; $this->file = $file; $this->age = is_numeric($age) ? $age : 0; @@ -669,6 +673,10 @@ } function add($file,$age) { + preg_match('/^(.*\/|)([^\/]+)$/',$file,$filefilename); + if($filefilename[2] != '') { + $file = $filefilename[2]; + } $this->files[$file][$age] = &new AttachFile($this->page,$file,$age); } // ファイル一覧を取得
こんな変更でよいのでしょうか?*1