我需要使用php寫入位於不同服務器上的文件。PHP寫入不同服務器上的文件
因此,我從一臺服務器上的表單獲取用戶數據,然後需要寫入位於另一臺服務器上的文本文件。我需要認證還是類似的東西?
我需要寫入的第二臺服務器是Windows服務器。這是一個問題嗎?
謝謝!
我需要使用php寫入位於不同服務器上的文件。PHP寫入不同服務器上的文件
因此,我從一臺服務器上的表單獲取用戶數據,然後需要寫入位於另一臺服務器上的文本文件。我需要認證還是類似的東西?
我需要寫入的第二臺服務器是Windows服務器。這是一個問題嗎?
謝謝!
用PHP你可以做一個FTP連接和寫入使用FTP的.NET服務器上的文件
認證可以通過FTP來完成
的信息,你如何能做到這一點 http://nl.php.net/ftp
你在第二臺服務器上運行ftp嗎?
你也可以做一個AJAX調用Seconde系列服務器與數據
在你把該文件與內容寫了一個腳本Seconde系列服務器,但您必須將Seconde系列服務器上的腳本運行HTTP語言如php/asp
您需要在遠程(Windows)計算機上接受文件並存儲它的某些服務。有很多方法可以做到這一點:
我使用HTTP的方法和它的工作原理相當好(因爲我已經在遠程機器上運行了Apache),但其他任何選項都可行。
如果你想使用SFTP,你可以使用cURL來完成。 Stack Overflow post
我不知道這對你是否有可能,但......
而不是試圖更新另一臺服務器上的文件,尤其是像txt文件那樣簡單的文件我會將當前文件放在服務器1上,然後使用cron作業集將cURL從服務器2複製到服務器2每x分鐘複製文件。
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
set_time_limit(3600); # 5 minutes for PHP
curl_setopt($ch, CURLOPT_TIMEOUT, 3600); # and also for CURL
$outfile = fopen($dirname, 'wb');
curl_setopt($ch, CURLOPT_FILE, $outfile);
// grab file from URL
$response = curl_exec($ch);
fclose($outfile);
// close CURL resource, and free up system resources
curl_close($ch);
`
我會這樣做,只是因爲你不必爲設置更新或類似的東西而設置FTP帳戶。您需要該文件的服務器正在外出並抓取該文件。
我使用上面的腳本從各個博客收集mp3。有時候它們會是100-200MB,並且它可以正常運行共享服務器。
感謝您的不錯的選擇。兩個問題......你說「你的服務器,你需要的文件正在出去,抓住文件本身。」所以我會把上面的代碼放在服務器上,我想要文件最終?該文件需要結束的服務器是一個窗口框,因此沒有安裝php。問題2 ...上面的setopt行:這些是傳輸文本文件的正確設置嗎?謝謝! – Joe 2010-01-26 18:42:46
那就對了。把它看作是把txt文件下載到你想要的機器上,而不是上傳到你想要的機器上...... 我相信你可以用基於Windows的語言做類似的事情。或者使用WAMP,但是這會使其複雜化。 是在SETOPT行只是: 轉移 是否應該使用頁眉或不(我認爲) 二進制(所以任何類型的文件)的傳輸類型的 返回(錯誤)響應的網址 – ian 2010-01-27 10:07:44
沒有「.Net服務器」這樣的東西。 – SLaks 2010-01-26 15:21:04
對不起。這是一個窗口框,我認爲這是正確的術語。 – Joe 2010-01-26 15:22:42