我已经将上传文件的代码编写到服务器,如下所示。
Home.tpl
<form enctype="multipart/form-data" method="post" action="upload_file.php" >
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
upload_file.php
if(($_FILES["file"]["size"] > 0))
{
$fileName = $_FILES["file"]["name"];//the files name takes from the HTML form
$fileTmpLoc = $_FILES["file"]["tmp_name"];//file in the PHP tmp folder
$fileType = $_FILES["file"]["type"];//the type of file
$fileSize = $_FILES["file"]["size"];//file size in bytes
$fileErrorMsg = $_FILES["file"]["error"];//0 for false and 1 for true
$target_path = "uploads/" . basename( $_FILES["file"]["name"]);
$moveResult = move_uploaded_file($fileTmpLoc, $target_path);
}
但我得到'未定义的索引:文件'错误。请帮我摆脱那里。
答案 0 :(得分:1)
如果每次都出错,那是因为你没有设置变量$ _FILES。该变量仅在您提交表单后设置。
在这种情况下,要摆脱错误消息,请添加变量控制:
if((isset($_FILES["file"])) && ($_FILES["file"]["size"] > 0))
答案 1 :(得分:0)
更改
if(($_FILES["file"]["size"] > 0))
到
if((isset($_FILES["file"]["size"]) && $_FILES["file"]["size"] > 0))
答案 2 :(得分:0)
我认为第一个文件的$ _FILES [“file”] [“tmp_name”] [0]。 用var_dump($ _ FILES)检查它;或print_r($ _ FILES) 然后用foreach迭代它。
之类的东西foreach ($arr as &$value) {
//...
$moveResult = move_uploaded_file($fileTmpLoc, "uploads/" . basename( $_FILES["file"]["name"][$arr]);
}