问题描述
|
我想上传将近1GB的文件而不是HTTP,所以我考虑使用PHP中的FTP和Socket方法?
有可能吗
如何使用PHP套接字上传文件?
与http和ftp相比,此方法的优缺点是什么?
解决方法
是的,可以使用PHP上传文件。
您必须打开远程服务器的套接字,然后以正确的格式(HTTP或FTP协议)将数据写入此套接字。
幸运的是,CURL Lib可以为您做所有事情(有关更多信息,请参见php curl)。
真正的问题是程序执行的时间限制,PHP无法运行5分钟以上(根据服务器的设置),因此PHP无法完成将1GB数据推送到服务器的操作。
可能的解决方案是使用CLI PHP。您可以使用CGI PHP文件(通过浏览器启动)来启动CLI PHP文件(确实可以上传)
要从CGI启动CLI,请使用以下命令
exec(\'/usr/bin/php -f /absolute_path/to/cli_script.php > /absolute_path/to/log_file.txt &\');