0

たくさんのテキスト入力と1つのファイル入力を含むHTMLフォームがあります。私のテキスト入力は私の関数にうまく渡されますが、ファイルは同じように機能しません。これが私が渡そうとしているものです:

$submit = submit_server($_POST['name'], $_POST['ip'], $_FILES['banner'], $_POST['description'], $_POST['slots'], $_POST['tags']);

関数が取るものは次のとおりです。

submit_server($name, $ip, $banner, $description, $slots, $tags)

これが私のフォームです:

<form action="submit.php" method="POST">
    ...some text inputs...
    <input type="file" name="banner" />
</form>

これを機能させるために変更する必要があるものはありますか?関数内で、を使用してファイルをチェックすると、if(!$banner){ return false; }falseが返されます。

ファイルオブジェクト全体を関数に渡す必要があります。ありがとう!

4

2 に答える 2

1

あなたは使用する必要があります:

<form action="submit.php" method="POST" enctype="multipart/form-data">

そしてあなたへのちょっとしたアドバイス。

なぜこのようにすべての変数を渡したのですか?

配列を作成して関数に渡します。

<?php
      $data = array(
                     'name'=> $_POST['name'],
                      'ip'=> $_POST['ip'], 
                    );
       submit_server($data);   //i think, this is a good practise
于 2012-10-22T05:35:59.980 に答える
1

ファイルの送信に使用されるすべてのフォームには、

enctype="multipart/form-data"

フォーム タグで、マニュアル セクションを参照してください:ファイルのアップロードの処理

于 2012-10-22T04:19:07.520 に答える