ユーザー名、パスワード、複数ファイルのアップロードを含むHTMLフォームをアップロードして、PHPで処理するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/137730

  •  02-07-2019
  •  | 
  •  

質問

単一のhtmlフォームからユーザー名、パスワード、複数のバイナリファイルを投稿し、phpを使用して処理する方法ajaxの使用は許可されていません。

役に立ちましたか?

解決

PHP.netでこれらのページを最初にチェックアウト

  1. ファイルアップロード情報
  2. move_uploaded_file

しかし、ここから始めましょう。いくつかのスタブファイルがあります。

uploadForm.html

<html>
<body>
    <form action="processStuff.php" enctype="multipart/form-data" method="POST">
        username: <input type="text" name="username" />
        password: <input type="password" name="password" />

        <p>
            <input type="file" name="uploadFile[]" /><br />
            <input type="file" name="uploadFile[]" /><br />
            <input type="file" name="uploadFile[]" /><br />
            <!-- Add as many of these as you want -->
        </p>

        <p>
            <input type="submit" />
        </p>
    </form>
</body>
</html>

processStuff.php

<pre>
<?php

    echo '<h2>Username & password</h2>'
    echo "Username: {$_POST['username']}\nPassword: {$_POST['password']}";
    echo '<hr />';

    echo '<h2>Uploaded files</h2>'  
    foreach($_FILES['uploadFile']['tmp_name'] as $i => $tempUploadPath) {
        if (empty($tempUploadPath)) {
            // this <input type="file" /> was "blank"... no file selected
        } else {
            // a file was uploaded
            echo '<strong>A file named "', $_FILES['uploadFile']['name'][$i], "\" was uploaded</strong>\n";
            echo "\ttemporarily stored at: ", $tempUploadPath, "\n";            
            echo "\tmime type: ", $_FILES['uploadFile']['type'][$i], "\n";
            echo "\tsize: ", $_FILES['uploadFile']['size'][$i], " bytes\n";         
            echo "\terror code", 
            ((empty($_FILES['uploadFile']['size'][$i]) 
                    ? '<em>no errror</em>' 
                    : $_FILES['uploadFile']['size'][$i])), 
            "\n\n";

    // do something useful with the uploaded file 
        // access it via $tempUploadPath and use move_uploaded_file() to move 
        //     it out of the temp path before you manipulate it in any way!!!!!
        // see http://us3.php.net/features.file-upload
        // and http://us3.php.net/manual/en/function.move-uploaded-file.php
        }       
    }

?>
</pre>

HTMLファイルは、enctype <!> ampの<form>の設定方法を示しています。 2番目のフォームは、送信されたユーザー名<!> ampにアクセスする方法を示します。パスワード<!> amp;最後に、アップロードされたすべてのファイルをループする方法。

前述のとおり、できるだけ早くファイルを移動する必要があります。それらは一時的な場所にアップロードされ、システムはそれらを処理しない限り削除します。最初にどこかに移動してから、必要なものを何でも実行してください。

これは役立ちます

アリン

他のヒント

$_FILESスーパーグローバルおよびmove_uploaded_file()関数を使用して、どのファイルが正常にアップロードされたかを確認し、必要に応じて最終的な場所に移動する必要があります。

$_POSTスーパーグローバルには、送信されたユーザー名とパスワードが含まれます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top