我想创建2个文件输入并将它们上传到服务器。 我已经用这样的方式完成了1个文件:
<input type="file" name="file" id="file" accept="image/*" step="1">
和php脚本类似:
<?php
if ($_FILES["file"]["error"] > 0)
echo "Error: " . $_FILES["file"]["error"] . "<br>";
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
if (file_exists("upload/" . $_FILES["file"]["name"]))
echo $_FILES["file"]["name"] . " already exists. ";
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
?>
但是现在当我想要2个输入时,我复制了html代码:
<input type="file" name="file1" id="file1" accept="image/*" step="1">
<input type="file" name="file2" id="file2" accept="image/*" step="1">
我不知道我需要在我的php脚本中更改或复制什么。
答案 0 :(得分:1)
$_FILES["file"]
从
引用上传的文件<input ... name="file">
所以$_FILES
的第一级是HTML文件输入的name
。您可以复制代码并将每个$_FILES['file']
更改为$_FILES['file1']
(以及重复代码中的$_FILES['file2']
),也可以循环遍历$_FILES
数组 - 尽管这可能是安全风险,因为人们很容易欺骗您的脚本存储两个以上的文件。
答案 1 :(得分:0)
使用html,你有两个$ _FILES多维数组,一个引用为
$_FILES['file1'][]
另一个是
$_FILES['file2'][]
。
在代码中执行var_dump($ _ FILES)以帮助查询正在提交的信息。
您可能需要复制此块,我已根据您设置为file1的示例显示代码或使用foreach循环,例如
foreach( $_FILES as $file ) {
//reference each value using $file as follows.
$file['name'];
$file['size'];
}