我很难让文件上传在php中工作.
预期:有关上传文件的信息.得到:空$ _FILES
这是我的表格/剧本.我究竟做错了什么?
<!DOCTYPE html>
<html lang="en">
<body>
<?php
if($_SERVER['REQUEST_METHOD'] !== "POST"): ?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<label for="file">Upload a file:</label>
<input type="file" name="file" id="file"><br/>
<button type="submit">Analyze</button>
</form>
<?php endif; ?>
<?php if($_SERVER['REQUEST_METHOD'] == "POST"):
print_r($_FILES); // debugging
if ($_FILES["file"]["size"] < 20000)
{
if ($_FILES["file"]["error"] > 0)
{
echo "<p>Error: " . $_FILES["file"]["error"] . "</p>";
}
else
{
echo "<p>Upload: " . $_FILES["file"]["name"] . "</p>";
echo "<p>Type: " . $_FILES["file"]["type"] . "</p>";
echo "<p>Size: " . ($_FILES["file"]["size"] / 1024) . " kB</p>";
echo "<p>Stored in: " . $_FILES["file"]["tmp_name"] . "</p>";
}
}
else
{
echo "Invalid file. Please make sure your file is a plain text file and is small enough for this program to analyze.";
}
endif; ?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
您忘记了代码中的编码类型属性<form>:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"
enctype="multipart/form-data">
Run Code Online (Sandbox Code Playgroud)