Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php文件大小限制_Php - Fatal编程技术网

php文件大小限制

php文件大小限制,php,Php,我尝试使用PHP的文件上传功能,但当我尝试上传特定大小的文件(例如9MB)时,它不会通过。较小的文件就可以了 即使我将错误报告设置为“E_ALL”,并尝试上载更大的文件。我没有看到任何错误消息 我曾尝试在上载文件的PHP脚本顶部设置这些行,但仍然没有成功: ini_set('memory_limit', '96M'); ini_set('post_max_size', '96M'); ini_set('upload_max_filesize', '96M'); 尝试更改具有特定属性的php.i

我尝试使用PHP的文件上传功能,但当我尝试上传特定大小的文件(例如9MB)时,它不会通过。较小的文件就可以了

即使我将错误报告设置为“E_ALL”,并尝试上载更大的文件。我没有看到任何错误消息

我曾尝试在上载文件的PHP脚本顶部设置这些行,但仍然没有成功:

ini_set('memory_limit', '96M');
ini_set('post_max_size', '96M');
ini_set('upload_max_filesize', '96M');

尝试更改具有特定属性的php.ini文件


您可以将您在php文件中提到的所有属性更改为ini文件,这对我很有用。如果它也适用于u,请尝试设置表单中的
MAX\u FILE\u SIZE
条目

<input type="hidden" name="MAX_FILE_SIZE" value="100663296" />
所以你会说:

php_value memory_limit 96M
php_value post_max_size 96M
php_value upload_max_filesize 96M
另外,您是否使用自己的服务器,或某个在线主机。一些在线主机设置了最大文件上载限制,您必须在控制面板中更改该限制(取决于主机使用的界面),或者它们不允许您更改最大文件大小

我没有看到任何错误消息

这是因为文件上载有自己的错误消息。检查
$\u文件['filename']['error']

我试过设定这些界限

但你没有检查它是否有任何效果!运行
phpinfo()
查看实际值查看。如果我正确阅读了该列表,
post\u max\u size
upload\u max\u filesize
只能在php.ini中设置,而不能通过ini\u set设置

在相应的php.ini中设置这些值(CLI和mod_php有不同的值),或者如果您没有访问主php.ini的权限,请在文件夹中创建一个php.ini


要检查设置是否有效,请创建一个文件并检查值。

我猜这是服务器强加的限制,但我已经有一段时间没有接触PHP了。如果输出
print\r($\u文件),会发生什么情况?数组可能包含错误代码。通过ini_集设置或在php.ini文件中更改它有什么区别?@或通过ini_集设置最大上载大小将不起作用,因为上载的文件将在脚本启动时出现。添加隐藏输入没有帮助。。通过ini_set设置这三个设置与在php.ini文件中更改这三个设置有什么区别?不,此字段没有用处。去掉它如果你已经有了它,这个额外的字段是作为一个安全的措施存在的,因为一些(不常见的)浏览器会自动假定最大文件大小为10米,如果它被省略的话。更改php.ini文件中的设置是最明确的方法,但它会更改所有页面的设置。在.htaccess中设置它只会更改它所在的文件夹。使用ini_set设置PHP文件中的值只会更改单个文件的设置。由于ini_设置似乎不适合您,我只是建议您尝试其他两个选项之一,看看它是否有助于解决问题。更改脚本中的ini设置没有任何效果。在脚本启动之前很久,上载就已经完成或中止,因此ini更改是没有意义的。它们必须在httpd.conf和/或php.ini和/或.htaccess中。你做了其他人说的和打印($文件)
了吗?看看你这样做的时候会说些什么,没错。当PHP脚本启动并更改这些.ini设置时,上载已经完成/中止。它们只能在Web服务器级别更改(php.ini和/或httpd/conf和/或.htaccess)
php_value memory_limit 96M
php_value post_max_size 96M
php_value upload_max_filesize 96M