2012-03-24 14 views
0

私は現在ゲームを作成しています。ユーザーが別のコンピュータにログインしたり、誤って自分のコンピュータからその保存を削除した場合など、後で検索するために自分のサイトに自分の保存ゲームをアップロードできるようにします。ファイルをアップロードした特定のユーザーにリンクする必要があります。これは簡単です。私は、ユーザー名とパスワードを格納するMySQLデータベースを設定しています。私がファイルをユーザーにリンクさせる方法は、ユーザー名と同じ名前のファイルをアップロードすることです。私の問題は、ファイルの所有者でなくてもファイルにアクセスできるようにすることではなく、必要以上に多くの部屋を占有しているWebサーバーに座っていないようにすることです。私は良い解決策は一緒にそれらを圧縮することだと思います。それを行う最も簡単な方法は、1つの保存ファイルを取得するために、その中のすべてのファイルを解凍せずに取得することです。 1つのファイルだけを取り出すことは可能ですか?私はジップ関数http://php.net/manual/en/ref.zip.phpを読んでいます。また、各ファイルを特定の「所有者」に設定する方が簡単ですか?ありがとう!PHPのZipファイル

編集:私は両方のzipにしたいとファイルを解凍します。

+1

php.net http://php.net/manual/en/zip.examples.phpからいくつかの例ですが、あなたはそれらを解凍したくないですか? –

+0

申し訳ありませんが、私はzipとunzipの両方をしたいです。私は申し訳ないと言ってはいけません。私は最初の投稿に追加します! – legobear154

+1

私はあなたの戦略をここで再考する必要があると思います。 –

答えて

2

私はあなたによく理解していれば、あなたは同じ大きなものにすべてのユーザーのファイルを保存したいですか?私はそれが良い考えだとは思わない...あなたのサーバーは、解凍する必要がある唯一の小さなファイルを見つけるために多くの時間を費やし、それは挿入のために同じです。

代わりに、単に個々のファイルを圧縮します。あなたはまだスペースを節約しますが、サーバーのリソースの100%を食べることはありません。

&ファイルをリンクするには、2つのテーブル、ユーザー、およびsavegamesが必要です。 user_idを使用してこれらのテーブル間のリンクを行う方が良いです.MySQLはvarcharよりも高速です。

は、ここであなたがそれらを圧縮したい

+0

ありがとうございます。私は郵便番号機能を理解するように見えることはできません。あなたは私にジッパーとアンジッピングの簡単な例を教えてください。 php.netで十分な情報が得られないことがあります。 – legobear154

+0

ジッパーは簡単ではないし、あなたがしたいことは本当に良い考えではない。あなたが他の何かのためにそれを必要とするならば、あなたはチュートリアルでなければならないということについてウェブを検索することができます。 – Dion

+0

オリジナルのアイデアよりも何をお勧めしますか?私がアップロードするファイルは非常に小さくなります。ちょうど数キロバイト、おそらく1メガバイトまたは2メガバイトになるので、今私はそれについて考えて、ジップは本当に必要ではありません。私が心配しているのは、サーバー上にたくさんのファイルがある場合です。 – legobear154

関連する問題