表单将文件字段提交为字符串

时间:2012-10-21 11:51:45

标签: php html forms

这种形式会导致什么问题?

<form enctype="multipart/form-data" action="" method="post">
    <p>
        <label>Please select a picure to upload:</label><br />
        <input type="file" name="file" />
    </p>
    <p>
        <input type="submit" name="button" id="button" value="Upload Picture" />
    </p>
</form>

文件以字符串形式提交,而不是以文件...

提交

的var_dump($ _ POST):

array (size=2)
    'file' => string 'Visit Card.png' (length=14)
    'button' => string 'Upload Picture' (length=14)

的var_dump($ _文件):

array (size=0)
    empty

2 个答案:

答案 0 :(得分:1)

可能的解决方法:

  1. php.ini阻止文件上传,检查post_max_size和upload_max_file_size。
  2. tmp/已满,或者tmp的权限阻止了
  3. 启用error_reporting并查看是否有任何内容。
  4. 因为$_POST中没有文件,而是$_FILES

    echo "Upload: " . $_FILES["file"]["name"];
    echo "Type: " . $_FILES["file"]["type"];
    echo "Size: " . ($_FILES["file"]["size"] / 1024);
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
    

答案 1 :(得分:0)

除了我的评论之外,请检查你的php.ini以查看文件上传是否已启用和/或首先尝试: