我有一个不上传图片的php图片上传代码。
PHP
if(counter % 3 == 0) {
//Print out the first person's number
printf("My number is %d\n", a::getNumber();
} else if (counter % 3 == 1) {
//Print out the second person's number
printf("My number is %d\n", b::getNumber();
} else {
//Print out the third person's number
printf("My number is %d\n", c::getNumber();
}
HTML
if (isset($_FILES['file']) && $_FILES['file']['error']==0) {
$files = $_FILES['file'];
echo $tmp_name = $files['tmp_name'];
$moved=move_uploaded_file($tmp_name,"../a.jpg");
if($moved){
echo'Done!';
}
}else{
echo 'Error uploading, code '.$_FILES['file']['error'];
}
这是我的代码的简化形式。在真实场景中,有多个上传按钮,但一次只能使用一个按钮。
问题是它显示错误<form method="post" enctype="multipart/form-data" action="samefile.php">
<input type="file" name="file">
<input type="file" name="file">
<input type="submit" value="submit">
</form>
。
请帮忙。
谢谢
答案 0 :(得分:1)
尝试使用此代码,这将有助于您上传需要使用的name="file[]"
而不是name="file"
的多个文件,这将提交数组中的所有文件,您可以使用for循环中继每个文件php文件..
<form method="post" enctype="multipart/form-data" action="samefile.php">
<input type="file" name="file[]" >
<input type="file" name="file[]" >
<input type="submit" value="submit">
</form>
在php文件中
<?php
if (isset($_FILES['file']))
{
$total = count($_FILES['file']['name']);
for($i=0; $i < $total; $i++)// Loop for each file
{
$tmp_name = $_FILES['file']['tmp_name'][$i];
if ($tmp_name != "")
{
$targetFile = "../" . $_FILES['file']['name'][$i];
//Upload the file
if(move_uploaded_file($tmp_name,$targetFile))
{
echo'Done!';
}
}
}
}
&GT;