我遇到了这样的问题,我必须在浏览器中创建文件发送系统,但是对于大文件(> 50M)。我有POST_MAX_SIZE set at 32M but
FILE_MAX_SIZE is 128M
。所以我必须输入类型文件按钮并读取完整路径以将其发送到 PHP FTP 库。你有什么解决办法吗?( filetype.value returns only filename, not path
)。
3 回答
是的,
使用HTML5 中定义的FileReader将文件读入客户端。一旦您通过 Ajax 将其发送到您的服务器,您就可以在服务器上完全访问该文件,因为它位于服务器上。
根据此SO Post,您可以在服务器上设置接受的最大文件大小。
; Maximum allowed size for uploaded files.
upload_max_filesize = 40M
; Must be greater than or equal to upload_max_filesize
post_max_size = 40M
您可以在 php.ini 文件“upload_max_filesize = 256”中增加文件大小并重新启动 apache 服务器
upload_max_filesize
并且post_max_size
是 PHP_INI_PERDIR 设置 - http://www.php.net/manual/en/ini.list.php。它们是可变的(http://php.net/manual/en/configuration.changes.modes.php)-
可以在 php.ini、.htaccess、httpd.conf 或.user.ini中设置条目(自 PHP 5.3 起)
使用.user.ini
您的虚拟主机根目录中的文件(大多数虚拟主机服务都允许这样做)。如果您的服务器 PHP 版本 >= PHP 5.3,它将起作用。PHP 将扫描您的根目录中的ini
文件并将其与默认设置合并。
我最近使用它并将默认值upload_max_filesize
从 2M 更改为 5M 以满足我的个人需求。它也可能对你有用。创建一个名为 as 的文件并将.user.ini
参数设置为:
post_max_size = ...
upload_max_filesize = ...
请记住,post_max_size 应该大于 upload_max_filesize,因为前者是 POST 的上限。