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

  • ページ: BugTrack
  • 投稿者: suisui?
  • 優先順位: 普通
  • 状態: 完了
  • カテゴリー: プラグイン
  • 投稿日: 2003-07-06 (日) 17:52:40
  • バージョン:

メッセージ

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.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.124 sec.

OSDN