使用php发送文件而不使用POST但使用type = file

时间:2013-07-26 16:59:30

标签: php javascript file post ftp

我遇到了这样的问题,我必须在浏览器中创建文件发送系统,但是对于大文件(> 50M)。 我有POST_MAX_SIZE set at 32M but FILE_MAX_SIZE is 128M。 所以我必须把类型文件按钮和读取FULL路径发送给PHP FTP库。 你有任何解决方案吗? (filetype.value returns only filename, not path)。

3 个答案:

答案 0 :(得分:1)

是,

使用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

答案 1 :(得分:0)

你可以在php.ini文件“upload_max_filesize = 256”中增加文件大小并重新启动apache服务器

答案 2 :(得分:0)

upload_max_filesizepost_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开始)

在web-hosting的根目录中使用.user.ini文件(大多数虚拟主机服务都允许这样做)。如果您的服务器PHP版本是> = PHP 5.3,它将起作用。 PHP将扫描您的根目录以查找ini文件并将其与默认设置合并。

我最近使用它并将upload_max_filesize的默认值从2M更改为5M以满足我的个人需求。它也可能对你有用。创建一个名为.user.ini的文件,并将参数设置为:

post_max_size = ...
upload_max_filesize = ...

请记住post_max_size应该大于upload_max_filesize,因为前者是POST的上限。