سؤال

وايم أعمل حاليا مع API الذي يتطلب نرسل تفاصيل مجموعتنا في XML لالخادم الخاص بهم باستخدام طلب آخر.

لا شيء كبير هناك ولكن لا يعمل، لذلك أريد لإخراج أكس إرسالها إلى ملف txt حتى أستطيع أن ننظر إلى الواقع ماذا يكون إرسالها !!

وبدلا من نشر لنشر ايم API إلى هدف ثيقة تسمى، ولكن XML في إخراج تسجيله يبدو أن أكون مخطئا حقا. هنا هو السيناريو هدفي، لاحظ أن نشر المشاركات النصي 3 بنود، لذلك يجب أن يكون ملف يتم كتابة تفاصيل كل وظيفة طلب واحد تلو الآخر.

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

وكما أنني حاولت ما يلي، ولكن هذا بتسجيله منصب الماضي طلب تم تسجيلها وذلك فقط 1 البند جمع في ملف txt، بدلا من كل 3

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

وأنا أعلم ايم في عداد المفقودين شيء واضح حقا، ولكن تم النظر في كل هذا الصباح إيف!

هل كانت مفيدة؟

المحلول

تغيير

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

إلى

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

وبالإضافة إلى ذلك، تغيير

$payload .= fgets($fp);

إلى

$payload = fgets($fp);

نصائح أخرى

وربما يجب عليك استخدام حليقة بدلا من ذلك إلى جلب المحتوى ومن ثم الكتابة عنها عبر fwrite

تغيير

  $payload .= fgets($fp);

إلى

 $payload = fgets($fp);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top