php-命名表单上的多个文件输入字段
我想在一个表单上有多个可以插入文件的字段 我有下面的脚本,但我希望能够识别插入的文件在保存的名称中属于哪个字段php-命名表单上的多个文件输入字段,php,html,forms,file,Php,Html,Forms,File,我想在一个表单上有多个可以插入文件的字段 我有下面的脚本,但我希望能够识别插入的文件在保存的名称中属于哪个字段 <form action="" method="post" enctype='multipart/form-data' id="form" name="form"> Input 1<input type="file" name="upload[]" > Input 2<input type="file" name="upload[]" >
<form action="" method="post" enctype='multipart/form-data' id="form" name="form">
Input 1<input type="file" name="upload[]" >
Input 2<input type="file" name="upload[]" >
Input 3<input type="file" name="upload[]" >
<button id="submit-button">Upload</button>
</form>
<?php
//if(isset($_POST['submit']) && !empty($_POST) ){
$count = 0;
$max_file_size = 5000000;
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
// Loop $_FILES to exeicute all files
foreach ($_FILES['upload']['name'] as $f => $name) {
$path = 'documents'; //path of directory
if ($_FILES['upload']['error'][$f] == 4) {
continue; // Skip file if any error found
} else {
if ($_FILES['upload']['size'][$f] > $max_file_size) {
$message[] = "$name is too large!.";
continue; // Skip large files
}
else {
// No error found! Move uploaded files
//$name_of_file = $_FILES['username']['name'][$f];
$temp_name = $_FILES['upload']['tmp_name'][$f]; //[$count];
move_uploaded_file($temp_name, "$path/"."$name");
$count++; // Number of successfully uploaded file
}
}
}
}
输入1
输入2
投入3
上传
我已经解决了。我接受了上面的评论,并在每个文件字段中放置了一个文本输入字段。如果需要设置名称,这些字段也可以是隐藏字段
然后我滚动浏览它们,保存名称并在服务器端应用这些名称
感谢这些评论,他们帮助我看到了解决方案
<form action="" method="post" enctype='multipart/form-data' id="form" name="form">
<input type="text" name="input0" value=""><input type="file" name="upload[]" ><br><br>
<input type="text" name="input1" value=""><input type="file" name="upload[]" ><br><br>
<input type="text" name="input2" value=""><input type="file" name="upload[]" ><br><br>
<button id="submit-button">Upload</button>
</form>
<?php
$count = 0;
$max_file_size = 500000000000;
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
// Loop $_FILES to exeicute all files
$x = 0;
$input = "input";
while ($x <= 2){
$field_name = $input.$x;
$field[$x] = $_POST[$field_name];
$x++;
}
foreach ($_FILES['upload']['name'] as $f => $name) {
$path = 'documents'; //path of directory
if ($_FILES['upload']['error'][$f] == 4) {
continue; // Skip file if any error found
} else {
if ($_FILES['upload']['size'][$f] > $max_file_size) {
$message[] = "$name is too large!.";
continue; // Skip large files
}
else {
$temp_name = $_FILES['upload']['tmp_name'][$f]; //[$count];
move_uploaded_file($temp_name, "$path/"."$field[$count]"."$name");
$count++; // Number of successfully uploaded file
}
}
}
}
上传
修改名称字段<代码>上传[1],上传[2]
等等,然后在服务器端巧妙地处理文件。这就是我试图做的,但我不知道如何做。在循环中打印表单字段,以便每个字段都有一个适当的索引。@MUNISHKUMAR您建议如何做?我可以把它们打印出来,但是需要将它们加载到系统中