これについて頭を悩ませてきました:PHPでjquery.form(http://malsup.com/jquery/form)を使用しています...$_FILES['someimage']
設定されていますが、エラー番号は常にUPLOAD_ERR_NO_FILE
、サイズも0です。
JavaScript:
$('form input[type=file]').change(function () {
$(this).clone().appendTo('#imgform');
$('#imgform').ajaxForm();
$('#imgform').ajaxSubmit({
type: 'POST'
});
});
に追加します:
<form id="imgform" method="POST" action="/api/images.php" enctype="multipart/form-data"></form>
bog-standardファイル入力を持つ別のフォームから。
PHPログはクリーンですが、var_dump
$ _ FILESを実行すると、インデックスがフォーム要素の名前に設定されていることが常に示されますが、データは示されません。
みんなありがとう!(申し訳ありませんが、jQueryのような質問はこれらの部分で頻繁に発生します)。
編集私は、詳細情報と提案された代替案を含むJavascriptのファイル入力要素のクローン を見つけました。
私がやろうと決めたのは、JavaScript以外のブラウザー用の単一のフォームを用意することです。JavaScript/ jQueryは、単一のフォームを3つのフォームに分割します。
Head form -> File upload form -> tail form
次に、ファイルのアップロードを非同期で投稿できます。テールの送信をクリックすると、フォームが単なるテキストフィールドであるため、フォームをPOSTに貼り付けます。