2012-08-02 25 views
1
寫texfile到遠程服務器的具體位置

我目前開寫一個文本文件到我的本地服務器執行以下操作:如何打開和PHP

$mypath="sms_file\\cbsms_"; 
$fp = fopen($file_name.'.txt', "w"); 
fwrite($fp, $value. "\r\n"); 
fclose($fp); 

我想現在該文件複製到遠程服務器像10.10.18.23(家庭網絡)上的/ home/project

假設我在該目錄中具有R/W訪問權限,那麼實現此目的的最佳方式是什麼?

+0

怎麼樣?FTP – 2012-08-02 07:26:01

+0

其實並不適合。 – Mofizur 2012-08-05 04:28:26

+0

在你的問題中沒有什麼說明爲什麼這會是 - 哦 – 2012-08-05 05:01:26

回答

3

遠程服務器需要知道有一個請求來存儲文件。這裏有幾種可能性,最簡單的就是運行FTP服務器。

另一種方法是在命令行上使用exec()函數調用scp(假設您已與遠程服務器交換了ssh密鑰)。

另一種選擇是在遠程服務器上創建一個PHP頁面,該頁面接受帶有文件的POST請求並存儲它們。在這種情況下,您必須提供您自己的安全措施。

如果您可以將遠程主機掛載爲永久卷(通過NFS或CIFS),則可以使用常規PHP copy()函數。

0

您可以嘗試使用exec()運行SCP命令:

exec('scp /path/to/file.txt [email protected]:/home/project/file.txt'); 
// Obviously, you'll have to set up your SSH permissions and for '[email protected]' you'll want to change it to your home network's user and host names. 
0

通過您的exmample的長相,我會說你的PHP服務器是Windows(看着$mypath="sms_file\\cbsms_";反斜線)和遠程主機是UNIX/LINUX(查看正斜槓和位置/home/project)。我建議在遠程主機上設置SSH或FTP,而不是使用這些協議,而不是將其複製到網絡位置。您的PHP服務器(Windows盒)將不得不通過SSH/FTP進行通信並複製該文件。

參考文獻: http://php.net/manual/en/book.ftp.php http://php.net/manual/en/function.ssh2-scp-send.php