2011-01-03 10 views
1

私はエラーを取得しておく:お知らせ:未定義のインデックス:ライン上の
ファイルをアップロードしようとするとエラーが発生しますか?

行35:

$handle = new Upload($_FILES['my_field']); 

が、これは私にはない

<input type="file" size="32" name="my_field" value="" /> 

私の入力フィールドですこのエラーを理解して、ありがとう!

EDIT:

<form name="upload" id="upload" enctype="multipart/form-data" method="post" action="actions/upload.php" /> 
<p><input type="file" size="32" name="my_field" value="" /></p> 
<p class="button"><input type="hidden" name="action" value="image" /> 
<br> 
<input style="margin-left:224px;" type="submit" name="submit" value="upload" /> 
+0

完全なHTMLフォームを表示できますか? –

+0

よろしくお願いします。 – getaway

+0

は、実際にはそれが成功した最初の is_uploaded_file($ _ FILES [ 'my_filed'] [ 'tmp_name']) または ISSET($ _ FILES [ 'my_field']) をアップロードかどうかを確認する必要があります アップロードされたばかりのファイルありえないように見えますそれらの上で演奏する前に –

答えて

2

更新: OPはAjaxリクエストをしている - まあそれは明らかにファイルアップロードで動作することはできません。

旧答え:

私はそれを見つけたと思います。このタグで密接

ルック:

<form name="upload" id="upload" enctype="multipart/form-data" method="post" 
action="actions/upload.php" /> 

決算/>は、フォームを閉じます。後で来るものは、そのフォームの中にはありません。ブラウザがおそらく破損したマークアップを処理するために生成する新しいものの中にあります。その新しいフォームはenctype=multipart/form-dataではありません。

+0

ああ私はそれを試してみよう! – getaway

+0

それは本当に動作するので、どのように私はAjax要求を徹底的にファイルを送信することができます! jqueryを通じて写真をアップロードしている人の例をご覧ください。 – getaway

+0

@getaway jQueryフォームプラグインを使用するhttp://jquery.malsup.com/form/ –

2

フォーム要素にenctype="multipart/form-data"を使用しましたか?

これは、キーmy_field$_FILESに設定されていない唯一の理由と思われます。

編集:ファイルがpost_max_sizeより大きい場合は、空の$_FILESアレイも取得されます。

参照:Apache/PHP: $_FILES Array mysteriously empty

+0

私は最小のファイルを使いました。 – getaway

0

ajax投稿をアップロードするには、そこにアップロード部分があるIFRAMEを使用することができます。ジャバスクリプトトリガを使用して

  1. 送信Ajaxのフォーム送信
  2. は、(提出)アップロードフォーム上のIFRAME
  3. のメインページではiframeトリガーに
をjavascriptの完全な応答関数を返すページを持っています

少し複雑ですが動作します。たとえば、イメージに関する情報を提出する場合は、ステップ1でその情報が格納されているデータベース行のIDを戻して、IFRAMEアップロードフォームでそのIDを送信できるようにする必要があります画像を保存する。

関連する問題