PHP HTML : File upload not working

标签 php html forms

我不敢相信我必须问这个问题,但出于某种原因我的文件无法正常工作。它叫做 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>

当我在没有附加文件的情​​况下提交时,它会在数组中打印数据。当我使用文件提交时,不会填充任何数组。

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

没有文件

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 ) )

更新

它似乎在另一台服务器上工作,它肯定是我的 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

关于PHP HTML : File upload not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26856270/

相关文章:

python - 验证 DateTimeField 中的日期是否相同

javascript - 提交AJAX表单,重定向而不是在页面上处理

php - 如何在 View 中渲染表单元素?

php - PHP 中长命令的 exec() 问题

php - 用PHP分隔字符串

php - Amazon API ItemSearch 类别

javascript - html/javascript Canvas 将设置值更改为用户输入

php - 如何将动态生成的 JSON 导入 PHP

javascript - select col2 from TABLE 其中 col1 值是从多个选择下拉列表中选择的

html - 当元素内部有一个类时如何忽略body元素样式