0

我已经编写了将文件上传到服务器的代码,如下所示。

主页.tpl

     <form enctype="multipart/form-data" method="post" action="upload_file.php"  >
     <label for="file">Filename:</label>&nbsp;&nbsp;
     <input type="file" name="file" id="file"><br>

上传文件.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);
     }

但是我收到“未定义的索引:文件”错误。请帮我摆脱那里。

4

3 回答 3

1

如果您每次都收到错误,那是因为您没有设置变量 $_FILES。该变量仅在您提交表单后设置。

在这种情况下,要摆脱错误消息,请添加对变量的控制:

if((isset($_FILES["file"])) && ($_FILES["file"]["size"] > 0))
于 2013-05-22T11:42:34.240 回答
0

改变

if(($_FILES["file"]["size"] > 0))

if((isset($_FILES["file"]["size"]) && $_FILES["file"]["size"] > 0))
于 2013-05-22T11:40:49.707 回答
0

i think its $_FILES["file"]["tmp_name"][0] for the first file. check it with var_dump($_FILES); or print_r($_FILES) then iterate throu it with an foreach. something like

foreach ($arr as &$value) {
    //...
    $moveResult = move_uploaded_file($fileTmpLoc, "uploads/" . basename( $_FILES["file"]["name"][$arr]); 
}
于 2013-05-22T11:46:04.140 回答