I am requesting data from a server using couple of parameters that I take from a CSV file and it works but the output is not user-friendly.
How can I print nicely the result of my PHP response?
This is my script:
<?php
 $file = fopen("fac_vig2.csv","r");
 
 while (($data = fgetcsv($file)) !== FALSE) {
 
     $emisor = $data[0];
     $receptor = $data[1];
     $total = $data[2];
     $uuid = $data[3];
 
     echo "FACTURA $uuid";
 
     $soap = sprintf('<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"><soapenv:Header/><soapenv:Body><tem:           Consulta><tem:expresionImpresa>?re=%s&rr=%s&tt=%s&id=%s</tem:expresionImpresa></tem:Consulta></soapenv:Body></soapenv:Envelope>', $emisor,$receptor,$total,         $uuid);    //encabezados
     $headers = [
     'Content-Type: text/xml;charset=utf-8',
     'SOAPAction: http://tempuri.org/IConsultaCFDIService/Consulta',
     'Content-length: '.strlen($soap)
     ];
 
     $url = 'https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc';
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($ch, CURLOPT_POST, true);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $soap);
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
     $res = curl_exec($ch);
     curl_close($ch);
     $xml = simplexml_load_string($res);
     $data = $xml->children('s', true)->children('', true)->children('', true);
     $data = json_encode($data->children('a', true), JSON_UNESCAPED_UNICODE);
     print_r(json_decode($data));
 
 }
 
 fclose($file)
 
 ?>
And the result of it is the following:
PHP Warning:  PHP Startup: Unable to load dynamic library 'xmlrpc' (tried: /usr/lib/php/20170718/xmlrpc (/usr/lib/php/20170718/xmlrpc: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/xmlrpc.so (/usr/lib/php/20170718/xmlrpc.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
FACTURA 34243316-AD33-493A-A41C-6ABC94D67EA4stdClass Object
(
    [CodigoEstatus] => S - Comprobante obtenido satisfactoriamente.
    [EsCancelable] => Cancelable con aceptación
    [Estado] => Vigente
    [EstatusCancelacion] => stdClass Object
        (
        )
)
FACTURA 9DA24941-ACD0-4640-B9EC-DEE508867779stdClass Object
(
    [CodigoEstatus] => S - Comprobante obtenido satisfactoriamente.
    [EsCancelable] => Cancelable con aceptación
    [Estado] => Vigente
    [EstatusCancelacion] => stdClass Object
        (
        )
)
FACTURA CEBB0FEE-9FA5-413B-A333-57085FFBD881stdClass Object
(
    [CodigoEstatus] => S - Comprobante obtenido satisfactoriamente.
    [EsCancelable] => Cancelable con aceptación
    [Estado] => Vigente
    [EstatusCancelacion] => stdClass Object
        (
        )
)
I get what I am asking for but I want to be able to use the output of each result to populate another file or something like that so my final user can just see it nicely. I ran var_dump to debug and the output is this:
PHP Warning:  PHP Startup: Unable to load dynamic library 'xmlrpc' (tried: /usr/lib/php/20170718/xmlrpc (/usr/lib/php/20170718/xmlrpc: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/xmlrpc.so (/usr/lib/php/20170718/xmlrpc.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
FACTURA 34243316-AD33-493A-A41C-6ABC94D67EA4object(stdClass)#3 (4) {
  ["CodigoEstatus"]=>
  string(44) "S - Comprobante obtenido satisfactoriamente."
  ["EsCancelable"]=>
  string(26) "Cancelable con aceptación"
  ["Estado"]=>
  string(7) "Vigente"
  ["EstatusCancelacion"]=>
  object(stdClass)#4 (0) {
  }
}
FACTURA 9DA24941-ACD0-4640-B9EC-DEE508867779object(stdClass)#4 (4) {
  ["CodigoEstatus"]=>
  string(44) "S - Comprobante obtenido satisfactoriamente."
  ["EsCancelable"]=>
  string(26) "Cancelable con aceptación"
  ["Estado"]=>
  string(7) "Vigente"
  ["EstatusCancelacion"]=>
  object(stdClass)#2 (0) {
  }
}
FACTURA CEBB0FEE-9FA5-413B-A333-57085FFBD881object(stdClass)#2 (4) {
  ["CodigoEstatus"]=>
  string(44) "S - Comprobante obtenido satisfactoriamente."
  ["EsCancelable"]=>
  string(26) "Cancelable con aceptación"
  ["Estado"]=>
  string(7) "Vigente"
  ["EstatusCancelacion"]=>
  object(stdClass)#1 (0) {
  }
}
How can I use the output?
 
     
    