为什么我的文件上传表单不起作用?

Pet*_*now 0 html php forms file-upload

我已经从下面的脚本中删除了所有不相关的代码,试图缩小问题的范围,但即使我现在已经陷入"赤裸裸",它仍然无法正常工作.

有关此问题的Web服务器错误日志中没有错误,并且print_r($ _ Files)为空.什么可能阻止这种工作取悦?

我试图上传的文件是20Kb.php服务器变量upload_max_filesize = 100M,post_max_size = 101M.

<?
echo 'Here is some debugging info:';
print_r($_FILES);

if ($_FILES['image']['name']) {

    echo "\n\nFiles Detected";

} else {
?>
<!DOCTYPE HTML>
<html>
    <head>
        <title>File Upload</title>
    </head>
    <body>
        <form
            action  = "<?=$_SERVER['PHP_SELF']?>"
            enctype = "multipart/form-data"
            name    = "uploadImage">

            Upload:
            <input type='file' name='image'><br><br>
            <input type="submit" value="Upload">
        </form>
    </body>
</html>
<? } ?>
Run Code Online (Sandbox Code Playgroud)

未检测到文件.

Val*_*ars 7

要上传文件,您需要使用"发布".由于您没有为表单标记指定"method"属性,因此默认方法是"get"尝试设置method="post"表单.

  • 因为在上传文件时,您需要将数据编码为正确的格式以支持发送文件数据.这就是`enctype ="multipart/form-data"`的用途.GET方法不支持其他编码方式. (3认同)