2012-03-05 16 views
0

私のサイトには、ユーザーがファイルをアップロードできるセクションがあり、後で見るためにデータベースに保存します。Codeigniterファイルのアップロード

私は、ユーザーが別のファイルを追加することができ、それはちょっと、このようにそれを更新しますので、私はそれを作ることができる方法を知りたい:

VERSIONのFILENAME

1.1 Test2.zip

1.0 Test.zip

少し曖昧なことがあれば教えてください。私はそれを改訂します。私は初心者です。

編集:ここで詳細な説明があります。

私はmodをアップロードできるエリアがあります。私はそれを作る必要があるので、ユーザーが自分のmodをアップロードするときに、ファイルの名前とバージョンを入力してアップロードするようにする必要があります。その後、modページには、入力内容+ファイル/ダウンロードリンクが表示されます。そして、彼らが望むなら、彼らはアップロードされたファイルのリストに追加される別のファイルをアップロードすることができます。現在、1つのファイルの代わりに、2つのファイル、名前/バージョン、およびそれらのダウンロードリンクを表示します。

+0

ファイルをバイナリデータとして保存しているのですか、またはデータベース内のリンクのみを保存していますか? –

+0

ちょうどリンクとして、データベースを駄目にすることはありません。 – unlucky4ever

+0

そのファイルの最終バージョン番号が何であったかを確認し、それを増やしてください。 PHPにはたくさんのファイル関数があります:http://www.php.net/manual/de/ref.filesystem.php glob()を見ることができます。 バージョン番号をデータベースに保存すると、さらに簡単になります。それを取り出してそれを増やし、新しいアップロードのバージョンとして使用してください。私たちはあなたが正確にアーカイブしたいもの、どんな種類のバージョニングを望むかなどはわかりません。もっと教えていただければ、さらに助けてください。 –

答えて

0

ユーザがリビジョンとファイル名を入力できるようにするために、別のテーブルが必要です。テーブルはログタイプのテーブルでなければならず、各ユーザはアップロードされたファイルの複数のエントリを持ちます。次のようなものかもしれません。

user_id | filename | revision | date 
----------------------------------------- 
    1  |Test2.zip | 1.1  | 2012-03-05 
    1  |Test.zip | 1.0  | 2012-03-04 

ジャストアイデアは、おそらくあなたは、リビジョン番号/ファイル名を制御し、ファイル名とリビジョンを管理するための仕組みを考え出すことができます。そうすれば、別のテーブルを作成する必要がなくなり、ファイルシステムスキームで管理することができます。

+0

だから、user_id、filename、revision、date、mod_idで別のテーブルを作成するべきだと言っていますか?そして、modテーブルとmod_filesテーブルを一緒に参加させてください。 – unlucky4ever

+0

はい、ユーザにリビジョンとファイル名を入力させてください。これは、新しいファイルがアップロードされた後、古いファイルがどこにあるのかを追跡できなくなるためです。 (特に、どのリビジョンがどのファイルに関係しているかを定義するスキームがない場合)新しいテーブルを作成すると、単純に結合を行うことで古いリビジョンと古いファイルを参照することができます。 – adidasadida

関連する問題