Bir post isteği sonuçlarını saklamak için PHP Kullanımı

3 Cevap php

Im şu anda biz bir post isteği kullanarak kendi sunucusuna xml bizim koleksiyon detaylarını göndermek gerektiren bir API ile çalışıyor.

Orada önemli bir şey ama onun değil çalışma, bu yüzden ben bu yüzden gönderilen whats aslında bakabilirsiniz çıkışı bir txt dosyasına gönderilen xml istiyorum!

Bunun yerine hedef olarak adlandırılan bir belgeye API im gönderme gönderme, ancak xml onun kendi kayıt çıktısı gerçekten yanlış gibi görünüyor. İşte benim hedef komut dosyası vardır ilanıyla script mesajlar 3 madde, bu yüzden dosya yazıldığı her mesaja isteği birbiri ardına ayrıntılarını olması gerektiğini unutmayın.

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);

// get the request data...
$payload = '';
$fp = fopen('php://input','r');
$output_file = fopen('output.txt', 'w');
while (!feof($fp)) {
    $payload .= fgets($fp);
    fwrite($output_file, $payload);
}

fclose($fp);
fclose($output_file);
?>

Ben de aşağıdaki çalıştı, ama bu sadece bu yüzden sadece 1 koleksiyon öğesi yerine tüm 3, txt dosyasına kaydedildi son yazılan isteği kaydedildi

output_file = fopen('output.txt', 'w');
while (!feof($fp)) {
    $payload .= fgets($fp);
}
fwrite($output_file, $payload);
fclose($fp);
fclose($output_file);

Ben gerçekten belirgin bir şey eksik im biliyorum, ama sabahtan bu bakarak ive!

3 Cevap

Değişim

$output_file = fopen('output.txt', 'w');

karşı

$output_file = fopen('output.txt', 'a');

Ayrıca, değişim

$payload .= fgets($fp);

karşı

$payload = fgets($fp);

muhtemelen içeriğini almak yerine curl kullanmak ve daha sonra fwrite aracılığıyla yazmalısın

değişim

  $payload .= fgets($fp);

karşı

 $payload = fgets($fp);