📅  最后修改于: 2023-12-03 15:08:19.802000             🧑  作者: Mango
HTTP POST 是一种向服务器发送数据的方式,可以用于上传文件。如果需要上传带有 HTML 和 PHP 的多个文件,则需要使用一些特定的工具和技巧。本文将介绍如何使用 HTTP POST 选择和上传带有 HTML 和 PHP 的多个文件。
首先,需要在客户端选择多个文件。可以使用 <input type="file" multiple>
标签来实现这个功能。这个标签可以让用户选择多个文件,然后将这些文件传递给服务器。
以下是标准 HTML 代码片段,用于创建一个选择多个文件的表单:
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="files[]" multiple>
<input type="submit" value="Upload">
</form>
注意,enctype
属性必须设置为 multipart/form-data
,以便让浏览器知道该表单包含二进制数据。
一旦用户选择了多个文件,就需要将这些文件上传到服务器。可以使用 PHP 的 $_FILES
变量来处理上传的文件。
以下是 PHP 代码片段,用于处理上传的文件:
$upload_dir = "uploads/";
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){
$file_name = $_FILES['files']['name'][$key];
$file_size = $_FILES['files']['size'][$key];
$file_tmp = $_FILES['files']['tmp_name'][$key];
$file_ext=strtolower(end(explode('.',$_FILES['files']['name'][$key])));
$extensions = array("html","php");
if(in_array($file_ext,$extensions)){
if($file_size > 2097152){
$errors[]='File size must be less than 2 MB';
} else {
move_uploaded_file($file_tmp, $upload_dir.$file_name);
echo 'File uploaded successfully';
}
}else{
$errors[]='Invalid file extension';
}
}
if (isset($errors)) {
foreach ($errors as $error) {
echo $error;
}
}
在上面的示例中,上传的文件将被保存到 uploads/
目录中。如果上传的文件是HTML或PHP文件,则文件大小必须小于2MB,否则将返回一个错误消息。
本文介绍了如何使用 HTTP POST 选择和上传带有 HTML 和 PHP 的多个文件。使用 <input type="file" multiple>
标签可以让用户选择多个文件。使用 PHP 的 $_FILES
变量和 move_uploaded_file()
函数可以处理上传的文件。