0

サーバー上のディレクトリに画像をアップロードしようとしています。http://www.reconn.us/content/view/30/51/にあるチュートリアルを使用しています。

まず、それは PHP を使用して画像をアップロードするための良い方法ですか?

次に、情報を MySQL データベースにも保存します。ユーザーがアップロードしたのと同じ名前の画像を処理する良い方法は何ですか? たとえば、ユーザーがファイル「test.png」を 2 回連続でアップロードした場合、2 番目のファイル名はどうなりますか? 上記のスクリプトから、両方が一意のファイル名を取得しますが、ユーザーとしてその画像に再度アクセスするにはどうすればよいでしょうか? 私が知っている唯一の名前は私が付けた重複した名前であり、アップロード時間を使用してサーバーが付けた一意の名前がまったくわからないため、クエリを実行できませんでした...

第三に、画像の適切な最大ファイル サイズはどれくらいですか?

4

2 に答える 2

1

ユーザーが画像の場所を知ることができるように、アップロード後に一意の URL をユーザーに報告できます。したがって、最初の test.png はhttp://www.example.com/images/fjdklagjsdl.jpgとなり、2 番目は http://www.example.com/images/jklfsdlkj.jpg となります。

ユーザーがアップロードした画像を表示するための何らかのインターフェイスを提供することもできます。アップロードされた画像のサムネイルを画像の一意のファイル名の横に表示すると、ユーザーはどの画像がどれであるかを簡単に識別できます。

于 2009-12-29T04:24:00.320 に答える
0

これは私が使用する方法です:

  1. ユーザーが画像をアップロードする

  2. サーバーは画像を一意の (GUID などの) ファイル名で保存し、生成された一意のファイル名と元のアップロードされたファイル名の両方をデータベースに保存します。

  3. イメージは、テーブルのoriginal_filenameunique_filenameまたは primary_keyを使用してリンクされimagesます。

画像はサーバーから取得され、データベースに保存されている元のファイル名を使用して提供されます。このようにして、ファイル名が競合する可能性を回避し、画像の元のファイル名を保持します。original_filenameさらに、これにより、ユーザーが使用する列で検索を構築できます。

この方法では、一意のファイル名をユーザーに公開する必要はありません。代わりに、特定のidまたはoriginal_filename'images` テーブルに関連付けられた画像を見つけるために使用されます。

もちろん、画像が表示されるときに元のファイル名を付けることを気にしない場合は、保存したいときにいつでも一意のファイル名を生成できます。

于 2009-12-29T04:35:02.337 に答える