Is there any size limit to post a file using curl?

2019-01-27 17:22发布

问题:

I need to post files up to 50mb to telegram bot api.

Now I'm using Curl and everything tested and passed successfully. Means that I can only send small files (I coudn't send 8.1mb file in my test). So if I send large files (lets say more than 8mb) all $_POST variables are empty, means nothing posted.

Question: Is there any limitation in sending file using curl? Because I asked my server administrator to increase related configuration in php.ini, but they replied that is not php.ini's problem and there is no limitation in curl.

thanks in advance.

回答1:

Upload limits are a security feature. Without them, a rogue program or attacker could feed your server with a continuous stream of data until your hard disk is full, thus rendering the whole server unusable.

From the security standpoint it isn't particularly useful to restrict outgoing data and, as far as I know, neither the Curl library nor PHP itself impose any limit.

Your symptoms suggest the problem is on the destination server. Since you appear to have access to it (you mention getting empty $_POST) I suggest you verify upload limits there. That's something you can do (and often change) yourself, you don't have to ask the server administrator. Main involved directives include:

  • post_max_size
  • upload_max_filesize
  • max_file_uploads
  • max_input_time

You can inspect them with phpinfo() or ini_get() and you can change them the usual way.