*attach.inc.php のファイルアップロードでファイル名にpathが含まれていてもそのままファイル名として保存してしまう [#vdac68d6] -ページ: BugTrack -投稿者: [[suisui]] -優先順位: 普通 -状態: 提案 -カテゴリー: プラグイン -投稿日: 2003-07-06 (日) 17:52:40 -バージョン: **メッセージ [#n72885ec] 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[1]; + } $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[1]; + } $this->files[$file][$age] = &new AttachFile($this->page,$file,$age); } // ファイル一覧を取得 こんな変更でよいのでしょうか? ---- #comment