PHP—将远程文件复制到本地文件系统的最佳方法

PHP—将远程文件复制到本地文件系统的最佳方法,php,Php,我在远程服务器上有一个很大的xml文件(目前为6MB,不断变大),我在服务器上经常使用这个文件 每次下载到服务器都会花费很多时间,所以我将它复制到本地文件 目前,我正在使用file\u get\u contents和file\u put\u contents来执行此操作,但这意味着整个文件必须加载到内存中 是否有类似于读取文件的东西可以直接将xml文件流式传输到我的服务器上的文件? $remote = fopen('http://...', 'r'); $local = fopen('myfi

我在远程服务器上有一个很大的xml文件(目前为6MB,不断变大),我在服务器上经常使用这个文件

每次下载到服务器都会花费很多时间,所以我将它复制到本地文件

目前,我正在使用
file\u get\u contents
file\u put\u contents
来执行此操作,但这意味着整个文件必须加载到内存中

是否有类似于
读取文件
的东西可以直接将xml文件流式传输到我的服务器上的文件?

$remote = fopen('http://...', 'r');
$local  = fopen('myfile.xml', 'w');

stream_copy_to_stream($remote, $local);
看。更简单的选择实际上是使用


如果可能的话,您可能想改用,这可以通过只传输两个文件之间的差异来提高效率。我会使用cron作业来设置rsync,而不是在PHP中进行设置。

谢谢,最后我使用了copy。做了一些基准测试和流复制到流似乎是cca。慢1秒钟,然后复制(在此特定文件上)。