无法在 Windows 服务器中复制或移动上传的文件

Cannot copy or move uploaded files in Windows Server

(这个问题最初是在服务器故障中提出的。我把它移到了这里,因为我没有足够的信用来在那里开始赏金。)

我正在尝试让我的 Windows Server 2012 R2 托管一个 webpage 用户可以上传文件的地方。

<!-- indexfile.html -->
<form action="uploadfile.php" method="post" enctype="multipart/form-data">
    Browse for File to Upload: <br>
    <input type="file" name="file" id="file" size="80"> <br>
    <input type="submit" id="u_button" name="u_button" value="Upload the file">
</form>


// uploadfile.php
<?php
  $file_result = "";
  if ($_FILES["file"]["error"] > 0)
  {
  $file_result .= "No File Uploaded or Invalid File ";
  $file_result .= "Error Code: " . $_FILES["file"]["error"] . "<br>";
  } else {
  $file_result .=
  "Upload: " . $_FILES["file"]["name"] . "<br>" .
  "Type: " . $_FILES["file"]["type"] . "<br>" .
  "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br>" .
  "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

  if (chmod("C:/inetpub/testaddbbacom/test", 0777)) 
     $file_result .= "chmod sucessful!<br>";
  else 
     $file_result .= "chomod NOT sucessful!<br>";

  copy($_FILES["file"]["tmp_name"], "C:/inetpub/testaddbbacom/test/" . $_FILES["file"]["tmp_name"]);

  $file_result .= "File Upload Successful!";

  echo $file_result;
  }
?>

问题是,文件可以上传到 C:\Windows\Temp\,而 copy 不工作。因此,C:\inetpub\testaddbbacom\test 始终为空。我确实尝试通过 chmod 更改此文件夹的权限,但它并没有真正起作用。下面是两个文件夹的权限比较:

我也试过move_uploaded_file,但是也没用,可能是同样的权限原因吧...

有谁知道如何解决这个问题?

替换,

copy($_FILES["file"]["tmp_name"], "C:/inetpub/testaddbbacom/test/" . $_FILES["file"]["tmp_name"]);

加上以下,

move_uploaded_file($_FILES["file"]["tmp_name"], "C:/inetpub/testaddbbacom/test/" . $_FILES["file"]["name"]);

不同之处在于在目标中使用文件名即 $_FILES["file"]["name"]) 而不是 $_FILES["file"]["tmp_name"])路径。