(这个问题最初是在服务器故障中提出来的。我把它移到这里,因为我没有足够的信用来在那里开始赏金。)
我正在尝试让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
,但它也没有用,可能是由于相同的许可原因......
有谁知道如何解决这个问题?
答案 0 :(得分:0)
替换,
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”])在目标路径中。