我需要将最大50mb的文件发布到Telegram Bot API。

现在,我正在使用Curl,并且所有内容均已成功测试并通过。意味着我只能发送小文件(在测试中,我不能发送8.1mb文件)。因此,如果我发送大文件(比如说超过8mb),则所有$_POST变量都为空,表示什么都没有发布。

问题:使用curl发送文件是否有任何限制?因为我要求服务器管理员增加php.ini中的相关配置,但是他们回答这不是php.ini的问题,并且curl没有限制。

提前致谢。

最佳答案

上传限制是一项安全功能。没有它们,恶意程序或攻击者可能会向服务器提供连续的数据流,直到硬盘装满为止,从而使整个服务器无法使用。

从安全角度来看,限制传出数据并不是特别有用,据我所知,Curl库和PHP本身都没有施加任何限制。

您的症状表明问题出在目标服​​务器上。由于您似乎可以访问它(您提到获得空的$_POST),因此建议您在此处验证上传限制。您可以自己做(并且经常更改),而不必询问服务器管理员。主要涉及的指令包括:

  • post_max_size
  • upload_max_filesize
  • max_file_uploads
  • max_input_time

  • 您可以使用phpinfo()ini_get()检查它们,也可以更改它们the usual way

    关于php - 使用curl发布文件有大小限制吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31941213/

    10-16 13:33