0

我在测试站点上制作文件上传表单时遇到问题。使用的教程:

在第一种情况下,在创建表单和 PHP 文件之后,它会说它没有给出任何理由就无法上传文件(根据给出的代码,这不足为奇)。然后我尝试使用第二个教程重做它,即使在我修改了代码之后它也给了我更多信息(一个有效的文件还没有上传)所以它在那个 IF 门检查的唯一事情就是大小是否太大的。

我搜索了一会儿,发现有人推荐 dumping $_FILES,它给出了一个空数组。其他人建议 echoing $_FILES['userfile']['error'],但没有提供任何信息。

所以我检查以确保表单具有正确的 enctype(确实如此)。然后我从 cpanel 检查了 PHP 信息。上传文件已启用,最大大小为 2M(我尝试上传的内容小于此大小)。

我不知道下一步该去哪里解决这个问题。任何帮助将不胜感激。

4

2 回答 2

1

在脚本顶部打开错误报告,从该列表中选择适合您需要的错误报告:

<?php

// Turn off all error reporting
error_reporting(0);

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);

// Report all PHP errors (see changelog)
error_reporting(E_ALL);

// Report all PHP errors
error_reporting(-1);

// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

?>

还要检查服务器上的错误日志是否有错误。:) 这是解决大多数问题的最佳方法。

于 2013-01-21T04:23:43.937 回答
0

If changing any of the above parameters doesn't seem to make any difference, it can be that a html form somewhere contains the name MAX_FILE_SIZE as a hidden field.

<input type="hidden" name="MAX_FILE_SIZE" value="10000000">

In the example above, any file over 10MB will not be uploaded.

于 2017-02-25T19:42:34.493 回答