PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   simplexml (https://www.php-resource.de/forum/php-developer-forum/105615-simplexml.html)

Prominenter 25-05-2016 17:49

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

wahsaga 25-05-2016 18:46

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.

Prominenter 25-05-2016 19:06

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


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:54 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG