0

2 つのファイル アップロード フィールドを持つフォームがあります。通常、PHP で HTML 経由でアップロードされたファイルを処理すると、すべてのファイル情報を含む 、 などの$_FILES一連のエントリを含む配列が得られます。$_FILES['name']$_FILES['tmp_name']

jQuery を使用してすべての情報を取得できるようにしたいと考えています。アップロードする$('[name="textfile1"]').val()だけで簡単にできます。実際の情報の配列を取得する方法はありますか? ファイル アップロード フィールドとともに多数のテキスト入力フィールドがあり、AJAX 呼び出しで一度にすべての情報を渡すことができるようにしたいと考えています。C:/fakepath/test.txttest.txt

    <form action="" method="post" enctype="multipart/form-data">
        <div class="input">
            <p>Upload the sitelist (.txt files only):</p>
            <input style="margin-top:0;margin-bottom:6px" type="file" name="textfile1" /><br />         
        </div>

        <div class="input">
            <p>Upload the dictionary (.txt files only):</p>
            <input style="margin-top:0;margin-bottom:6px" type="file" name="textfile2" /><br />         
        </div>
    </form> 
4

1 に答える 1

1

私はあなたのパレードに雨を降らせるのは嫌いですが、それは不可能です.

PHP はサーバー側で物事を処理します。フォームの送信時に生成される情報 (ファイル サイズ、ファイルの種類、ファイルの tmp パスなど) はすべて、フォームの送信時に生成されます。これが可能であれば、ファイルの挿入中にチェックできるため、フォームの検証がはるかに簡単になります。ただし、(ユーザー名を含むファイル パスによって) 現在のユーザー名が公開されるため、これもセキュリティ リスクになります。

ajax経由でプッシュしたいとおっしゃいました。ファイルを非同期で送信することはできません。これは、ajax を介してフォームを送信するだけで実行できます。ただし、最初に PHP を使用してサーバー側で変数を生成しない限り、ファイル情報を取得することはできません。

ファイル名とその他の一般的な情報 (PHP が生成するパスではない) だけが必要な場合は、HTML5Rocks のファイル API のチュートリアルで HTML5 ファイル API を参照してください

お役に立てば幸いです。;)

于 2013-08-03T01:03:53.267 に答える