simplexml

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • simplexml

    Hi@all
    Hab ein simplexml Problem.

    auf Localhost (XAMPP) funktioniert es:
    "http://maps.googleapis.com/maps/api/distancematrix/xml?origins=03226+DE&destinations=01987+DE&mode=driving&language=de-DE&sensor=false OK 03226 Vetschau/Spreewald, Deutschland 01987 Schwarzheide, Deutschland OK 2343 39 Minuten 63350 63,4 km SimpleXMLElement Object ( [status] => OK [origin_address] => 03226 Vetschau/Spreewald, Deutschland [destination_address] => 01987 Schwarzheide, Deutschland [row] => SimpleXMLElement Object ( [element] => SimpleXMLElement Object ( [status] => OK [duration] => SimpleXMLElement Object ( [value] => 2343 [text] => 39 Minuten ) [distance] => SimpleXMLElement Object ( [value] => 63350 [text] => 63,4 km ) ) ) ) SimpleXMLElement Object ( [status] => OK [origin_address] => 03226 Vetschau/Spreewald, Deutschland [destination_address] => 01987 Schwarzheide, Deutschland [row] => SimpleXMLElement Object ( [element] => SimpleXMLElement Object ( [status] => OK [duration] => SimpleXMLElement Object ( [value] => 2343 [text] => 39 Minuten ) [distance] => SimpleXMLElement Object ( [value] => 63350 [text] => 63,4 km ) ) ) ) "

    auf dem WebServer funktioniert es nicht
    keine Ausgabe

    ???
    PHP-Code:
          # Aufruf der Google Map API
          
    $context  stream_context_create(array('http' => array('header' => 'Accept: application/xml')));
          
    $url="http://maps.googleapis.com/maps/api/distancematrix/xml?origins=".$start_adresse."+DE&destinations=".$ziel_adresse."+DE&mode=driving&language=de-DE&sensor=false"
          echo 
    $url// ok
          
    $xml file_get_contents($urlfalse$context);
          
    print_r($xml);  // keine Ausgabe
          
    $xml simplexml_load_string($xml);
          
    print_r($xml);  // keine Ausgabe
          
    $xml simplexml_load_stringfile_get_contents$url ) );
          
    print_r($xml);  // keine Ausgabe 
    Thxall

  • #2
    file_get_contents gibt einfach nur false zurück, falls der HTTP Response Code kein Success (2xx) ist.

    Pack mal noch ignore_errors true in deinen Kontext – dann bekommst du auf jeden Fall den Request-Body zurückgegeben.

    Und lass dir auch $http_response_header ausgeben.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hab es jetzt hiermit gelöst:
      PHP-Code:
      /* gets the data from a URL */
      /* allow_url_fopen */

      /* check allow_url_fopen*/
      #var_dump(ini_get('allow_url_fopen'));

      function get_data($url
      {
       
      $ch curl_init();
       
      $timeout 5;
       
      curl_setopt($chCURLOPT_URL$url);
       
      curl_setopt($chCURLOPT_RETURNTRANSFER1);
       
      curl_setopt($chCURLOPT_CONNECTTIMEOUT$timeout);
       
      $data curl_exec($ch);
       
      curl_close($ch);
       return 
      $data;

      Thx@all

      Kommentar

      Lädt...
      X