ユーザー名、パスワード、複数のバイナリファイルを単一のhtmlフォームから投稿し、phpを使用して処理するにはどうすればよいですか?ajaxの使用は許可されていません。
7545 次
2 に答える
6
まず、PHP.net のこれらのページをチェックしてください。
しかし、始めるためにここにいくつかのスタブ ファイルがあります。
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
、<form>
2 番目のフォームは送信されたユーザー名とパスワードにアクセスする方法を示し、最後にアップロードされたすべてのファイルをループする方法を示します。
前述のとおり、できるだけ早くファイルを移動する必要があります。それらは一時的な場所にアップロードされ、対処しない限りシステムによって削除されます。だから、最初にどこかに移動してから、必要なことを何でもしてください。
これが役に立ちますように
アリン
于 2008-09-26T05:28:00.000 に答える
1
$_FILES
スーパーグローバルと関数を使用して、move_uploaded_file()
どのファイルが正常にアップロードされたかを確認し、アップロードされた場合は最終的な場所に移動する必要があります。
スーパーグローバルには、送信された$_POST
ユーザー名とパスワードが含まれます。
于 2008-09-26T04:16:07.177 に答える