输入类型=文件是否出现在$ _POST中?

时间:2016-05-12 09:30:14

标签: php html

我在一个表单中有这个,我认为作为一个输入名称,我应该能够用$ _POST []检测它,但我看不到它。这可以解释当我做什么时,没有任何反应。我不能正确理解它吗?

<input type="file" id="files" name="files"  class="hidden" multiple="" >
<label for="files">Select file</label>

2 个答案:

答案 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;
      }
}
?>