繁体   English   中英

从FTP下载大文件(〜500 Mb)到本地存储,而不会破坏服务器

[英]Downloading a large file (~500 Mb) to local storage from FTP, without breaking the server

我需要将大型XML文件从远程FTP服务器下载到本地存储,以便可以处理它。

我定义了一个可以访问文件的FTP驱动程序。 但是,由于文件的大小,PHP放弃了为该操作分配内存。

Storage::disk('ftp')->get('path/to/file/bigass.xml');

有什么方法不会消耗内存并且可以下载文件而不会出现问题?

我建议使用类似以下的方法切换到“普通的”卷曲解决方案:

$curl = curl_init();
$fh   = fopen("localfilename.xml", 'w');
curl_setopt($curl, CURLOPT_URL, "ftp://{$ftp_username}:{$ftp_password}@{$ftp_server}/path/to/file/bigass.xml");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
fwrite($fh, $result);
fclose($fh);
curl_close($curl);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM