![](/img/trans.png)
[英]What method is the best to copy files from one server to another using PHP
[英]What is the best way to move files from one server to another with PHP?
我想設置一個運行PHP腳本的CRON,然后將XML文件(保存非敏感信息)從一個服務器移動到另一個服務器。
我已獲得正確的用戶名/密碼,並希望使用SFTP協議。 這些工作將每天運行。 一台服務器可能是Linux而另一台服務器是Windows。 兩者都在不同的網絡上。
移動該文件的最佳方法是什么?
如果兩個服務器都在Linux上,您可以將rsync用於任何類型的文件(php,xml,html,binary等)。 即使其中一個是Windows,也有Windows的rsync端口。
為什么不嘗試使用PHP的FTP功能 ?
然后你可以這樣做:
// open some file for reading
$file = 'somefile.txt';
$fp = fopen($file, 'r');
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// try to upload $file
if (ftp_fput($conn_id, $file, $fp, FTP_ASCII)) {
echo "Successfully uploaded $file\n";
} else {
echo "There was a problem while uploading $file\n";
}
// close the connection and the file handler
ftp_close($conn_id);
fclose($fp);
為什么不使用shell_exec和scp ?
<?php
$output = shell_exec('scp file1.txt dvader@deathstar.com:somedir');
echo "<pre>$output</pre>";
?>
我有類似的情況。 經過一些嘗試,我做了一些不同的事情
我們有2台服務器,一台(有原始文件)b(文件應移到它)
並且肯定數據不敏感
現在在服務器a中我調用了一個文件來執行以下操作:1。選擇要移動的文件2.壓縮文件3.打印.zip文件位置4.如果刪除則刪除.zip文件(和原始文件)參數傳遞
在服務器b中,文件應該:1。調用服務器上的文件2.下載zip文件3.解壓縮並將其復制到正確的位置4.調用服務器上的刪除功能a
通過這種方式,我可以更好地控制我的功能,測試和操作!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.