我必须上传一个带有34MB的pdf文件。我的网站是在Linux中使用PHP。但我的网站只支持8MB。 (我从phpinfo知道这一点)。我如何增加尺寸?我听说我们可以通过php.ini更改它。 htaccess的。但我在哪里得到php.ini?我如何改变尺寸?有没有人给我一个解决方案?在linux服务器上更改文件上传大小
回答
有多种设置,可以影响最大文件上传大小:
PHP_INI_PERDIR:以下设置可以在php.ini,.htaccess或httpd.conf中设置:
upload_max_filesize
上传文件的最大大小。
post_max_size
设置允许的发布数据的最大大小。要上传大文件,该值必须大于upload_max_filesize。如果配置脚本启用了内存限制,memory_limit也会影响文件上传。
max_input_time
这设置脚本允许解析输入数据的最大时间,例如POST,GET和文件上载。
PHP_INI_ALL:以下设置可以在php.ini,htaccess的httpd.conf的设置,或者与ini_set():
max_execution_time
这将设置在秒的最大时间的脚本允许运行在解析器终止之前。如果此限制太低,则在大型文件有时间上传之前,脚本将终止。
memory_limit
这设置脚本允许分配的最大内存量(以字节为单位)。如果配置脚本启用了内存限制,memory_limit也会影响文件上传。一般来说,memory_limit
应该大于post_max_size
。
POST上传方法
当通过POST方法上传文件,你还需要设置MAX_FILE_SIZE
在你的HTML表单。有关详细信息,请参阅本:
http://www.php.net/manual/en/features.file-upload.post-method.php
共享主机
如果您使用的是托管共享,这是不可能的,你将能够访问系统的php.ini文件。但是,您可以在.htaccess中或在每个目录下的php.ini文件中设置值。一些共享托管服务提供商可能会阻止您这样做,因此您需要检查是否属于这种情况。
.htaccess
下面是一个示例。htaccess文件:
<IfModule mod_php5.c>
php_value upload_max_filesize 70M
php_value post_max_size 80M
php_value memory_limit 90M
php_value max_execution_time 240
php_value max_input_time 240
</IfModule>
每目录的php.ini
通过以上的设置也可以在每个目录的php.ini文件改变。同样,这样做的能力可能会受到您的主机提供商的限制。有关更多信息,请参见这里:
http://www.askapache.com/php/custom-phpini-tips-and-tricks.html
多变:
有关PHP_INI_的说明*模式,这表明其中配置指令可以设置,在这里看到:
http://php.net/manual/en/configuration.changes.modes.php
你可以在.htaccess中做到这一点:
php_value memory_limit 64M
php_value upload_max_filesize 32M
php_value post_max_size 32M
php_value max_execution_time 600
php_value max_input_time 600
或php.ini中(见上变量)
这个文档有点分散,但'upload_max_filesize','post_max_size'和'max_input_time'不能用'ini_set()'设置。参见[可以设置配置设置的地方](http://php.net/manual/en/configuration.changes.modes.php),[文件上传](http://www.php.net/manual/en /ini.core.php#ini.sect.file-uploads),[数据处理](http://www.php.net/manual/en/ini.core.php#ini.sect.data-handling)和[运行时配置](http://www.php.net/manual/en/info.configuration.php#info.configuration)以获取更多信息。 – Mike 2010-06-30 07:41:27
对不起,我编辑我的答案。顺便说一句,我会去.htaccess无论如何。 – fabrik 2010-06-30 07:48:02
- 1. 文件上传:在服务器上
- 2. 在服务器上更改文件后将文件上传到用户
- 3. 更改在服务器上传的文件的所有者
- 4. 在上传到服务器之前更改文件的名称
- 5. WAMP服务器上传文件大小不能超过128MB
- 6. 限制服务器上传文件大小
- 7. ASP上传文件到服务器并限制大小
- 8. 更改图像大小以保存在PHP服务器上
- 9. 如何在服务器上上传大视频文件?
- 10. 使用http PUT上传的文件在服务器上的大小不正确
- 11. 服务器上的文件上传
- 12. web.config中最大文件上传大小更改
- 13. 更改上传文件的最大大小
- 14. 更改文件上传的最大大小 - symfony
- 15. 在Android上传文件到服务器
- 16. 在服务器上传文件
- 17. 在Android上传文件到服务器
- 18. Android,在tomcat服务器上传文件
- 19. 如何在服务器上传文件?
- 20. 上传服务器上的大文件的最佳方法
- 21. 上传服务器上的大视频文件
- 22. 上传大文件到网络服务
- 23. 如何获取FTP服务器上文件的文件大小?
- 24. jar文件使用rsync上传和下载Linux服务器上的文件
- 25. iOS 8 PHP文件上传错误(服务器文件大小= 0)
- 26. 上传文件的大小
- 27. 上传文件大小inYii2
- 28. 上传文件大小
- 29. 在Linux服务器上从php访问Windows服务器上的图像文件
- 30. 在php中上传文件服务器上的文件php
* memory \ _limit *不会影响文件上传的最大大小。 – Gumbo 2010-06-30 07:09:46
@Gumbo:它影响'post_max_size'。看到这些文件在这里:http://www.php.net/manual/en/ini.core.php#ini.post-max-size我已经更新了答案,使之更清晰。 – Mike 2010-06-30 07:18:49
在网络服务器级别也可能会设置限制。 – symcbean 2010-06-30 08:31:11