簡體   English   中英

使用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_execscp

<?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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM