Suzuki, Takashi
tk_suzuk****@netin*****
2008年 9月 19日 (金) 12:05:56 JST
鈴木です。 早速のご返事ありがとうございます。 今まで何の疑問も持たず、気が付かずにに使っていたのですが、 もしかしてconfig_inc.phpは 316 $g_repositoryType = TL_REPOSITORY_TYPE_DB; と書き換えて使用するのがスタンダードな使い方だったのでしょうか? (?1 ..なので、DBバックアップの話題しか挙がっていない?) (?2 ..そういえば、IEで添付ファイルをダウンロードする際も ファイル名が文字化けするので、文字セットをUTF-8→sjis-winに コンバートする様にパッチを入れたのですが、そういった話題を 書き込みされている方はどなたも居られなかったし..。) 質問です。 今後の対策として、上記定義を書き換えただけで添付ファイルは データベース側の管理とする事が出来るのでしょうか? (取り敢えずは不整合の問題をクリアしてから、トライしてみたいと 思います。) 宜しくお願い致します。 /鈴木 > -----Original Message----- > Subject: RE: Uploadファイルをリストアするには? > > 鈴木さん > こんにちは。市川@SQCです。 > > 添付ファイルの保存方法はconfig_inc.phpによると2通りあるようですね。 > > 312 /** the type of the repository can be database or filesystem > 313 * TL_REPOSITORY_TYPE_DB => database > 314 * TL_REPOSITORY_TYPE_FS => filesystem > 315 **/ > 316 $g_repositoryType = TL_REPOSITORY_TYPE_FS; > > 今回の場合TL_REPOSITORY_TYPE_FSが設定されていると思います。 > > そこで、添付ファイルとデータベースへの登録は、 > attachments.inc.phpのinsertAttachment()が行っているようです。 > > この中でSQL文を以下のように組み立てていました。 > 124 $query = "INSERT INTO attachments > 125 (fk_id,fk_table,file_name,file_path,file_size,file_type, > date_added,content,compression_type,title) > 126 VALUES > ({$id},'{$tableName}','{$fName}',{$destFPath},{$fSize}, > '{$fType}'," . $db->db_now() . > 127 ",$fContents,$g_repositoryCompressionType,'{$title}')"; > 1 > > よって、*多分*ですがattachmentsテーブルからデータを消せば解決できるのかな と > 思います。 > #ソースを見ただけで実際に試していないので > > insertAttachment()の前にstoreFileInFSRepository()を呼んでアップロードされ た > ファイルの移動があるのですが、それがどこかわ分かりませんでした。 > /tmpから/upload_areaへ移動しているならテーブルからデータを消すだけでデータ の > 矛盾は無くなると思います。 > > #実行前にDBのバックアップをお忘れなく^^; > でわ。 > > > > -----Original Message----- > > From: Suzuki, Takashi [mailto:tk_suzuk****@netin*****] > > Sent: Thursday, September 18, 2008 5:21 PM > > To: 'testl****@lists*****' > > Subject: Uploadファイルをリストアするには? > > > > 初めまして。 鈴木と申します。 > > TestLink1.7.4を試用し始めたところ、問題が発生し、メーリングリスト登録 > > 致しました。 > > > > ・トラブル内容 > > 試用の為、(無料)海外レンタルサーバーにてTestLinkを構築しました。 > > テストプロジェクトを幾つか構築し、添付ファイル等も保存していたのですが、 > > 昨日、添付ファイルをダウンロードしようとしたところ、幾つかファイルが消え て > いる > > 事に気がつきました。(信じられない事ですが、無料サーバーなので、あまり > > 文句も言えない。) > > > > 取り敢えずデータベース側は正常だった為、消えたファイルをローカルPCに復元 し > て > > 「upload_area」へFTP転送しようとしたところ、なんと、弾かれてしまいまし た。 > > > > どうやら、「upload_area」以下はオーナー名が「99」(FTPログイン名とは異な > る) > > で構築されている様で、またディレクトリのパーミッションも「755」、ファイ ル > の > > パーミッションも「644」となっている為と思われます。 > > > > FTPやC-panelからパーミッション変更やコピーや削除を実行しようとしても、 > > 「99」オーナーでは無いので弾かれてしまいますし、(レンタルサーバーの為) > スーパー > > ユーザーになる事も出来ません。 > > > > 皆さんは添付ファイルはバックアップされないのでしょうか? > > バックアップした添付ファイルは、どのようにしてリストアしているのでしょう > か? > > > > 何か良い方法がありましたなら、ご教授願えればと思います。 > > > > 最悪、データベースをダイレクトに操作して、ファイルを添付し直すと云うので も > > 構いません。 > > (現状では、TestLinkからファイルリストを削除しようとすると、実ファイルが > > 存在していない為エラー終了となって、リストのみが残ったままとなってしまい ま > す。) > > > > ;−−−−−−−−−−−−− > > サーバー,データベース系にはあまり明るくないので、宜しくお願い致します。 > > /鈴木 孝 > > > >