PHP HTML:文件上传无效

我不敢相信我不得不问这个,但由于某种原因,我的文件无法正常工作.它被称为ajax.php(虽然不介意这个名字),这里是确切的代码:

<?php
error_reporting(-1);

print_r($_POST);
print_r($_FILES);
?>

<form action="ajax.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <input type="text" name="first" value="Bob" />
    <input type="text" name="middle" value="James" />
    <input type="text" name="last" value="Smith" />
    <input type="file" name="something" />
    <input type="submit" value="Submit" />
</form>

当我提交而不附加文件时,它会在数组中打印数据.当我提交WITH文件时,没有数组填充.

我错过了什么明显的东西?

没有档案

Array ( [MAX_FILE_SIZE] => 30000 [first] => Bob [middle] => James [last] => Smith )
Array ( [something] => Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 ) )

用文件

Array ( )
Array ( )

期望与文件

Array ( [MAX_FILE_SIZE] => 30000 [first] => Bob [middle] => James [last] => Smith )
Array ( [something] => Array ( [name] => sample.jpg [type] => image/jpg [tmp_name] => whatever.jpg [error] => 0 [size] => 1248 ) )

UPDATE

它似乎正在另一台服务器上工作,它与我的WAMP完全配置,这意味着我的问题被错误地问了,因此我正在关闭它.对任何浪费时间愚蠢的人道歉.

最佳答案 这似乎是一个配置问题.我会说
post_max_size太小了.这可以解释为什么上传文件时$_POST超全局为空.从手册……

If the size of post data is greater than post_max_size, the $_POST and $_FILES superglobals are empty.

您需要将此值设置为大于upload_max_filesize.例如,我的一台服务器有……

file_uploads=On
upload_max_filesize=12M
post_max_size=20M
点赞