2022/07/04 15:51 JST

Geeklog Japan Forums

日本語ファイル名のアップロード

ページナビゲーション


状態: オフライン

charley

Forum User
Chatty
登録日: 2008/02/06
投稿数: 49
thoughtful
お世話になります。 ファイル管理とメディアギャラリを使い始めましたがファイル名が日本語のファイルをアップロードすると文字化けします。 サーバー環境はWindows2000でUTF-8の設定をしていますが、このサーバーではアップロードは出来るがダウンロード時点で以下のエラーとなります。(アップロード後のファイル名・MySQL管理情報とも文字化けしています) <なぜか西欧ISO-8859-1でエラー表示される> Not Found The requested URL /filemgmt_data/files/LM317.xls was not found on this server. php.iniの日本語設定(mbstring)を変更したりしていますが現象は変わりません。 思いついて「GeeklogJapanese」様のデモサイトでやってみましたが以下のようなエラーになりました。 An error has occurred: 2 - move_uploaded_file(/var/www/virtual/geeklog.jp/demo141/htdocs/filemgmt_data/files/tmp/ohizY4DPdV.xls) [function.move-uploaded-file]: failed to open stream: 許可がありません @ /var/www/virtual/geeklog.jp/demo141/htdocs/filemgmt/submit.php line 122 array(400) { ["HTTP_POST_VARS"]=> array(7) { ["title"]=> <以下省略> デモサイトの場合は登録時点でエラーになってしまいますが「日本語のファイル名」は使えないのでしょうか?

状態: オフライン

maruyo

Forum User
Regular Member
登録日: 2007/09/18
投稿数: 94
README.jpをお読み下さいませ ファイル名についての注意書きがあります。
maruyo=maruyo123 です

状態: オフライン

charley

Forum User
Chatty
登録日: 2008/02/06
投稿数: 49
curious
ご指摘有難うございました。 現在、「ファイル管理」でつまづいていましたので気づきませんでした。 「メディアギャラリー」は日本語ファイル名は使用出来ない(制限事項)ようですが、ファイル管理も原因は同じと云うことで理解してよろしいでしょうか?

状態: オフライン

Ivy

Site Admin
Admin
登録日: 2004/01/01
投稿数: 5974
場所:Tokyo
一般的にサーバには日本語のファイルはアップロードできない,と思ったほうが良いと思います。 例外的に,Geeklog Japaneseの場合,アバターの画像は,ユーザ名が「あいび~」だったらサーバには「あいび~.jpg」の名前で保存されるようにしていますが。サーバにはUTF-8でファイルが作成されます。

状態: オフライン

charley

Forum User
Chatty
登録日: 2008/02/06
投稿数: 49
okay
迅速にご対応いただき有難うございます。 暫くは「日本語ファイル名」は制限と理解して使わせていただきます。 今後の強化を期待しています。

状態: オフライン

maruyo123

Forum User
Regular Member
登録日: 2007/09/28
投稿数: 105
最初この問題に気がついた時に日本語のファイル名やドットを2つ以上含むファイルに対応させたかったのですがGeeklog本体とそのソースコードを大量に変更する必要があったので断念しました。 このあたりはgeeklog.com本家でまず対応していただかないと手の入れようがないので、現状は本家次第といったところです。
maruyo == maruyo123 です

状態: オフライン

charley

Forum User
Chatty
登録日: 2008/02/06
投稿数: 49
happy
お忙しい中、有難うございます。 当面は日本語ファイル名のアップロードは制限事項として了解しましたが、友人(師匠)の「turikiti」さんに相談したところ、以下の対応でアップロードは可能になりました。 但し、ちゃんと修正するには、 1 private/plugins/filemgmt/config.php にシステムファイル管理用言語を定義しておく(SJIS) 2 上記を利用して、system_file_name($filename) とかの関数を作成する。 ファイル名の変換はこれを利用する。 3 上記の修正では、見ることは出来るが、名前の変更などには対応していない。    処理は、全てindex.php 内にあるので、これを見つけて全て修正することが必要。 だそうです。 --------------------------------------------------------- /public_html/admin/plugins/filemgmt/index.php の修正 if (file_exists($tmp) && (!is_dir($tmp))) { // if this temporary file was really uploaded? $newfile = $filemgmt_FileStore .$name; COM_errorLOG("File move from ".$tmp. " to " .$newfile ); // //20080313 turikiti modified //修正の要点(アップロード時、日本語ファイル名の文字化け対応) //アップロード時点では、temp ファイル名で保存されているので、これはいじりません。 //承認時点で、tmp から通常のファイルに変更されるので、これを修正します。 //index.php 947行から 951 行め $newfile を $sjisnewfile = mb_convert_encoding($newfile,'SJIS');としています。 //処理は、$newfile と $sjisnewfile の使いわけをちゃんと考えないとえらい亊になります。 //ファイル操作のみ$sjisnewfileDB操作、内部操作は$newfileになります。 // $sjisnewfile = mb_convert_encoding($newfile,'SJIS'); $rename = @rename ($tmp,$sjisnewfile); COM_errorLOG("Results of rename is: ".$rename); $chown = @chmod ($sjisnewfile,$filemgmtFilePermissions); if (!file_exists($sjisnewfile )) { //end COM_errorLOG("Filemgmt upload approve error: New file does not exist after move of tmp file: '".$newfile ."'"); $AddNewFile = false; // Set false again - in case it was set true above for actual file $eh->show("1101"); } else { $AddNewFile = true; } -----------------------------------------------------------

状態: オフライン

Ivy

Site Admin
Admin
登録日: 2004/01/01
投稿数: 5974
場所:Tokyo
どうもありがとうございます! 日本語でアップできるようになればずっと便利になりますね。 特にメディアギャラリは,ファイル名を,タイトルに設定することができますから。 もうすこし具体的に修正方法がわかれば,Wikiに追記させていただきますが。

状態: オフライン

charley

Forum User
Chatty
登録日: 2008/02/06
投稿数: 49
お世話になります。 ファイル管理で日本語ファイル名が扱えない件 前回の修正では「削除」のとき実ファイルが削除できていない問題がありましたがこれを対応しました。 また、「修正」時点でファイル名の変更が許されていますが対応できていないためファイル名は表示のみに変更ししました。 今回の修正は関数を2個追加し、ファイル名関連の変更3箇所、 「修正」時のファイル名表示の変更1箇所です。 変更箇所は「turi-kiti」で検索してください。 <対象ファイル> geeklog公開領域/admin/plugins/filemgmt/index.php 評価はWindows2000のみで行っています。他のOSは動作するか不明です。 変更箇所が多いためとりあえず(非力な自宅サーバーですが・・・) http://apc9.com の「ダウンロード」からDLできます。使えるようでしたらご利用ください。 「Geeklog Japanese」の関係者様、「turikiti」様、ありがとうございました。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 2004/01/01
投稿数: 5974
場所:Tokyo
どうもありがとうございます! Wikiのファイル管理プラグインのページからリンクさせていただきます Surprised!

ページナビゲーション

時刻はすべて JST , 現在の時刻は 03:51 PM

  • 通常
  • 注目トピック
  • ロック済
  • 新着
  • 注目トピック 新着
  • ロック済トピック 新着
  •  ゲストユーザの投稿を見る
  •  投稿可能
  •  一部のHTMLを許可
  •  バッドワードをチェック