Farklı bir sunucuya dosya PHP Yaz

5 Cevap

Ben php kullanarak farklı bir sunucuda bulunan bir dosyaya yazmak gerekir.

Yani, tek bir sunucu üzerinde bir formdan kullanıcı verilerini almak ve daha sonra başka bir sunucuda bulunan bir metin dosyasına yazmak gerekir. Ben doğrulamak ya da benzer bir şey gerekir mi?

Ben yazmak gereken ikinci sunucu bir windows sunucu. Bu bir sorun var mı?

Teşekkürler!

5 Cevap

Dosyayı kabul etmek ve saklamak olacak uzaktan (windows) makinedeki bazı hizmet olması gerekir. Bunu yapmanın birçok yolu vardır:

  • a Windows share (ilk sunucu Linux ise, Samba yoluyla monte veya dosyayı itmek için client kullanabilirsiniz o pencere varsa, sadece o Z gibi bir mektup atayın:. Ve orada dosyayı kopyalamak)
  • FTP (FileZilla gibi bazı FTP sunucusu çalıştırmak ve yüklemek için cURL veya başka bir PHP kütüphane kullanımı)
  • HTTP (Apache + PHP veya IIS / .Net veya Windows üzerinde ne webserver ve POST verileri kabul ve dosya içine saklayacak küçük bir program yazmak. Kullanmak için cURL veya başka bir kitaplık kullanabilirsiniz HTTP başlar POST PHP dosya göndermek için)
  • SSH (sen OpenSSH server çalıştırın ve scp ile dosya kopyalama)

HTTP yaklaşımı kullanmak ve (ben zaten uzak makinelerde Apache çalıştırmak için) oldukça iyi çalışıyor, ama başka bir seçeneği de uygulanabilir olduğunu.

php ile bir ftp bağlantısı yapabilir ve ftp ile. net sunucu üzerinde dosya yazma

authentication ftp yapılabilir

for information how you can do this http://nl.php.net/ftp

Eğer ikinci sunucuda ftp çalıştırıyor musunuz?

Ayrıca veri ile seconde sunucuya bir ajax arama yapabilirsiniz

Seconde sunucu üzerinde içeriği ile dosyayı yazar bir komut dosyası yerleştirin ama sonra php / asp gibi bir betik dili ile seconde sunucuda http çalıştırmalısınız

Ben bu sizin için bir olasılık olmadığını biliyorum ama ... yok

Yerine başka bir sunucudan, bir txt dosyası gibi basit bir şey, özellikle bir dosyayı güncelleştirmek için çalışırken daha ben sunucuda bir geçerli dosya olurdu ve sonra dosyayı kopyalamak için ayarlanmış bir cron işi kullanarak cURL ile sunucudan iki dan sunucuya iki kopyalamak istiyorum her x dakika.

    $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); 

`

Eğer güncelleme ya da böyle bir şey için bir FTP hesabı kurma ile uğraşmak zorunda değil, çünkü ben sadece bu yapardı. Eğer üzerinde dosyaya gerek sunucu çıkıyor ve kendisi için dosyayı kapma.

Çeşitli bloglarda MP3'ler toplamak için yukarıdaki komut dosyasını kullanın. Bazen onlar 100-200MB olacak ve paylaşılan bir sunucu kapalı çalışan çalışıyor.

SFTP'yi kullanmak istiyorsanız, cURL kullanarak bunu yapabilirsiniz. Stack Overflow post