0

私は誰かのためにカスタムWebサイトを作成していますが、そのサイトでは、新しいユーザーが複数の写真をアップロードできる必要があります。私は画像アップロードスクリプト、画像ホストAPIを検討しており、ゼロから何かを作成しています。フォームとPHPを使用して単一の画像をアップロードする方法は知っていますが、複数の画像に対してそれを行うための最良の方法がわかりません。

おすすめは何ですか?

また、ゼロから何かを作成したり、スクリプトを使用したりして、画像がサーバー上のフォルダーに保存されていた場合、それは安全ですか?(悪意のあるファイルをアップロードして実行できますか)

4

1 に答える 1

1

単純な複数アップロード方法の場合、input タグで multiple 属性を使用できます。

<input type="file" multiple="multiple" />

ただし、ユーザーが選択できるのは、現在のフォルダー ビューに表示されているファイルのみです。通常は 1 つのフォルダーのみです。

さらにファイルを追加できるようにしたい場合はdisplay:none;、ファイル入力タグに動的に適用し、その場所に新しいタグを追加します。どのファイルが既に選択されているかを表示するには、ここに表示されているように、javascript を使用してアップロードする現在のファイルを一覧表示します、multiple-file-upload

または、上記の非表示の手順をスキップして、任意の時点ですべてのファイル アップロード フォームを表示しながら、1 つの空白のフォームを動的に保持して、より多くのファイルをアップロードできるようにします。

有効な XHTML/HTML が必要な場合は、このmultiple属性がまだ HTML5 スペキュレーション (SPEC) の一部であるため注意してください。


もう 1 つの方法は、iframe を使用し、ファイルのアップロード時に iframe をリロードして、ユーザーがすぐに別のファイルを選択できるようにすることです。

私は個人的にフレームを使用したことがないので、これがどのように機能するかわかりません。


いわゆる「AJAX ファイル アップローダ」メソッドも、私が見た iframe の巧妙なトリックです。


私が考えることができる他の唯一のオプションは、静的に多くの<input type="file"/>s を持ち、ユーザーが提供された以上のものを必要としないことを願っています。


<input type="file" multiple="multiple"/>ほとんどのユーザーが同時にアップロードしようとしている写真のグループは同じフォルダーにあると想定しているため、個人的にはプレーンを使用します。

于 2012-05-13T04:34:21.480 に答える