![將檔案從 ftp 伺服器 #1 下載到 ftp 伺服器 #2](https://rvso.com/image/1496901/%E5%B0%87%E6%AA%94%E6%A1%88%E5%BE%9E%20ftp%20%E4%BC%BA%E6%9C%8D%E5%99%A8%20%231%20%E4%B8%8B%E8%BC%89%E5%88%B0%20ftp%20%E4%BC%BA%E6%9C%8D%E5%99%A8%20%232.png)
我想使用帶有 cURL 庫的 Php 腳本來下載一個目錄名稱數據(包含一個 .xml 和一個 .txt.zip 檔案)位於我的 ftp 伺服器#1 和我的 ftp 伺服器#2 中。該目錄應每 24 小時下載一次。
可以用 cURL 做到這一點嗎?
答案1
您所要求的並不是嚴格意義上的「下載」。
如果我理解正確的話,您想要做的就是從 FT Server #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
。