我想使用带有 cURL 库的 Php 脚本来下载一个目录名称数据(包含一个 .xml 和一个 .txt.zip 文件),位于我的 ftp 服务器 #1 中,并下载到我的 ftp 服务器 #2 中。此目录应每 24 小时下载一次。
可以使用 cURL 来做到这一点吗?
答案1
您所要求的并不是严格意义上的“下载”。
如果我理解正确的话,你要做的是从 FT 服务器 #1 下载文件,然后上传将文件传输到 FTP 服务器 #2。没有直接的方法告诉一台服务器将其传输到另一台服务器...
...除非您有权在服务器上运行程序(即,如果您是管理员,或者您有一台实际服务器计算机的 ssh/php 访问权限)。然后您可以从 FTP 服务器 #1 下载文件到本地计算机(是FTP 服务器 #2)。
答案2
我对我的 VPS 做了类似的事情,我使用 multcloud.com 来做。他们提供 2TB 免费流量,如果你在社交媒体上分享,则提供 10TB。你可以在其上设置定期传输。我以前使用 mover.io,但现在它是一个付费选项。
此致。
PS:如果这不是您想要的,请发表评论并告诉我。我对 cURL 一无所知,所以我无法回答您问题的这一部分。
答案3
我无法评论回答你...这太成问题了...无论如何我已尝试使用我的主机允许的 file_get_contents 和 file_put_contents。
<?php
/* FTP SERVEUR #1)
$contents = file_get_contents("ftp://username:pass@directory/file.xml");
/* FTP SERVEUR #2)
file_put_contents("ftp://username:pass@directory/file.xml", $contents);
?>
我执行这个,没有看到任何 file.xml 进入我的 #2,也没有任何错误!我尝试过echo($contents)
并且成功了。问题出在 file_put_contents 上。
编辑:如果您将服务器#2 内的目标目录的权限设置为777
,则此方法有效。