attach.inc.php のファイルアップロードでファイル名にpathが含まれていてもそのままファイル名として保存してしまう

メッセージ

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



*1 b-wikiだけどplugin_attach_init以外はあんまり違いはないみたい。

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2003-07-16 (水) 17:50:37
Site admin: PukiWiki Development Team

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

SourceForge