uploadfile.php
<?php
$allowedExts = array("doc", "pdf");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "text/doc")
|| ($_FILES["file"]["type"] == "text/pdf"))
&& ($_FILES["file"]["size"] < 500000000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_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 "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}}
else { echo "Invalid file";
}
?>
uploader.php
<form action="uploadfile.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
不确定原因,我尝试上传文件,但点击上传后仍然显示无效文件。 我不知道出了什么问题?
答案 0 :(得分:0)
常见的缺陷是表单中缺少的enctype属性。如果您要上传文件,则应该如下所示。
<form method="POST" enctype="multipart/form-data">
答案 1 :(得分:0)
也许添加一些调试输出如:echo $ extension;检查你是否得到了正确的文件名部分。 print_r($ _ FILES)也可能有所帮助。如果这仍然无法帮助尝试将if语句的每个部分放在一个单独的“if”中,那么你可以检查哪一个失败。