我有一个带有2个浏览按钮的表单,我怎么能够解决它,多个文件上传是不同的,以前我有单个浏览按钮的工作示例,但我如何使用相同的代码进行第二次浏览,我复制第一个按钮代码并更改第二个名称属性,但这不是一个好方法。
doc1是浏览button1的名称属性 doc2是browse button2的名称属性
if($_POST['submit'])
{
if(isset($_FILES['doc1'])){
$errors= array();
$file_name = $_FILES['doc1']['name'];
$file_size =$_FILES['doc1']['size'];
$file_tmp =$_FILES['doc1']['tmp_name'];
$file_type=$_FILES['doc1']['type'];
$file_ext=strtolower(end(explode('.',$_FILES['doc1']['name'])));
$extensions = array("pdf","docx","doc");
if(in_array($file_ext,$extensions )=== false){
echo "Extension not allowed, please choose a pdf,docx or doc format.";
}
if($file_size > 5500000){
echo'File size must be exactly 2 MB';
}
if(empty($errors)==true){
$path = 'uploads/'.$file_name;
//mkdir($path, 0777, true);
//$dirn=mkdir('uploads/'.$file_name,0777,true);
move_uploaded_file($file_tmp,$path);
echo "Success";
}else{
print_r($errors);
}
}
}
答案 0 :(得分:0)
如果您不想为浏览器按钮使用两个不同的名称,请创建一个类似的数组,
<input type="file" name="doc1[]">
<input type="file" name="doc1[]">
因此,您只需访问此数组以用于将来的操作。
答案 1 :(得分:0)
if($_POST['submit'])
{
for($i=0;$i<count($_FILES['doc1']);$i++)
{
if(isset($_FILES['doc1'][$i])){
$errors= array();
$file_name = $_FILES['doc1'][$i]['name'];
$file_size =$_FILES['doc1'][$i]['size'];
$file_tmp =$_FILES['doc1'][$i]['tmp_name'];
$file_type=$_FILES['doc1'][$i]['type'];
$file_ext=strtolower(end(explode('.',$_FILES['doc1'][$i]['name'])));
$extensions = array("pdf","docx","doc");
if(in_array($file_ext,$extensions )=== false){
echo "Extension not allowed, please choose a pdf,docx or doc format.";
}
if($file_size > 5500000){
echo'File size must be exactly 2 MB';
}
if(empty($errors)==true){
$path = 'uploads/'.$file_name;
//mkdir($path, 0777, true);
//$dirn=mkdir('uploads/'.$file_name,0777,true);
move_uploaded_file($file_tmp,$path);
echo "Success";
}else{
print_r($errors);
}
}
}
}