我在一个表单中有这个,我认为作为一个输入名称,我应该能够用$ _POST []检测它,但我看不到它。这可以解释当我做什么时,没有任何反应。我不能正确理解它吗?
<input type="file" id="files" name="files" class="hidden" multiple="" >
<label for="files">Select file</label>
答案 0 :(得分:5)
您可以在$_FILES
您可以在$ _FILES
中获取文件名,文件类型,tmp_name,错误,大小简单的例子是:
HTML:
<form action="upload_manager.php" method="post" enctype="multipart/form-data">
<h2>Upload File</h2>
<label for="fileSelect">Filename:</label>
<input type="file" name="photo" id="fileSelect"><br>
<input type="submit" name="submit" value="Upload">
</form>
在php中:
<?php
if($_FILES["photo"]["error"] > 0){
echo "Error: " . $_FILES["photo"]["error"] . "<br>";
} else{
echo "File Name: " . $_FILES["photo"]["name"] . "<br>";
echo "File Type: " . $_FILES["photo"]["type"] . "<br>";
echo "File Size: " . ($_FILES["photo"]["size"] / 1024) . " KB<br>";
echo "Stored in: " . $_FILES["photo"]["tmp_name"];
}
?>
答案 1 :(得分:0)
文件存储在$_FILES
,而不是$_POST
$_FILES变量
Manual关于PHP文件上传。
html表单:
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
<强> upload.php的强>
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if (isset($_POST["submit"]))
{
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if ($check !== false)
{
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
}
else
{
echo "File is not an image.";
$uploadOk = 0;
}
}
?>