php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.12.2008, 23:16  
Benutzer
 
Registriert seit: 03.12.2008
Beiträge: 46
jason86 befindet sich auf einem aufstrebenden Ast
Standard file_get_contents -> curl

Hallo zusammen,

ich habe ein Script womit ich Daten von einer XML-Datei
in eine Mysl-Datenbank importiere kann.

Da der Server nur PHP4 unterstützt habe ich
eine SimpleXML-Klasse für PHP4 gefunden.

Nun ist aber das Problem das allow_url_fopen
auf dem Server nicht aktiviert werden kann.

Kann mir jemand helfen folgendes Skript mit
Curl ans laufen zu bekommen ?

Ich habe jetzt schon diverse Sachen versucht,
aber der gibt mir immer falsche Daten aus.

Bisheriges Skript welches nur mit
allow_url_fopen funktioniert:

PHP-Code:
    function xml_load_file($file$resulttype 'object'$encoding 'ISO-8859-1')
    {
        
$php_errormsg="";
        
$this->result="";
        
$this->evalCode="";
        
$values="";
           
$data file_get_contents($file);    

        if (!
$data)
        return 
'Cannot open xml document: ' . (isset($php_errormsg) ? $php_errormsg $file);

        
$parser xml_parser_create($encoding);
        
xml_parser_set_option($parserXML_OPTION_CASE_FOLDING0);
        
xml_parser_set_option($parserXML_OPTION_SKIP_WHITE1);
        
$ok xml_parse_into_struct($parser$data$values);
        if (!
$ok) {
            
$errmsg sprintf("XML parse error %d '%s' at line %d, column %d (byte index %d)",
            
xml_get_error_code($parser),
            
xml_error_string(xml_get_error_code($parser)),
            
xml_get_current_line_number($parser),
            
xml_get_current_column_number($parser),
            
xml_get_current_byte_index($parser));
        } 
Meine abgeänderte Version mit CURL:

PHP-Code:
    function xml_load_file($file$resulttype 'object'$encoding 'ISO-8859-1')
    {
        
$php_errormsg="";
        
$this->result="";
        
$this->evalCode="";
        
$values="";
//        $data = file_get_contents($file);

      
$url $file;
      
$ch curl_init();
      
curl_setopt($chCURLOPT_HEADER0);
      
curl_setopt($chCURLOPT_RETURNTRANSFER1);
      
curl_setopt($chCURLOPT_URL$url);
      
$data curl_exec($ch);
      
curl_close($ch);
      return 
$data;
    

        if (!
$data)
        return 
'Cannot open xml document: ' . (isset($php_errormsg) ? $php_errormsg $file);

        
$parser xml_parser_create($encoding);
        
xml_parser_set_option($parserXML_OPTION_CASE_FOLDING0);
        
xml_parser_set_option($parserXML_OPTION_SKIP_WHITE1);
        
$ok xml_parse_into_struct($parser$data$values);
        if (!
$ok) {
            
$errmsg sprintf("XML parse error %d '%s' at line %d, column %d (byte index %d)",
            
xml_get_error_code($parser),
            
xml_error_string(xml_get_error_code($parser)),
            
xml_get_current_line_number($parser),
            
xml_get_current_column_number($parser),
            
xml_get_current_byte_index($parser));
        } 
Liebe Grüße
Jason
jason86 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.12.2008, 23:23  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

auf den ersten blick

PHP-Code:
      curl_close($ch);
      return 
$data
das return gibt $data für die funktion zurück, jeglicher code danach wird NIE ausgeführt ... könnte vielleicht dein problem sein.
robo47 ist offline  
Alt 08.12.2008, 23:28  
Benutzer
 
Registriert seit: 03.12.2008
Beiträge: 46
jason86 befindet sich auf einem aufstrebenden Ast
Standard

Ach, ja klar return $data; habe ich völlig übersehen,
manchmal sieht man vor lauter Bäumen den Wald nicht.

Dankeschön, jetzt funktioniert alles

Lg
Jason
jason86 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Curl File Upload scrippi PHP-Fortgeschrittene 19 27.03.2009 17:47
CURL funktieonieren nicht bazik PHP-Fortgeschrittene 12 07.11.2008 09:43
Wireshark SSL Handshake debugging-Handshake protokoll mittels PHP + Curl brian johnson Off-Topic Diskussionen 0 06.11.2008 11:54
fsockopen mit https ohne curl und openssl loom613 PHP-Fortgeschrittene 13 25.10.2008 03:17
nuSOAP SSL und cURL Typhon PHP Tipps 2008 0 24.10.2008 15:10
änderung einer konfiguration mit curl emmi PHP Tipps 2008 12 08.02.2008 09:46
Montrada POSH Service via cURL ansteuern Plague PHP-Fortgeschrittene 0 04.05.2007 10:46
Datei Upload mit curl? R.E.M. PHP Tipps 2006 1 18.09.2006 20:44
CURL aufrufe in Klasse verpacken vegeta PHP Tipps 2006 8 16.05.2006 11:03
statt http_request über curl ? seven-12 PHP Tipps 2005-2 2 12.06.2005 22:47
kein CURL benutzen seven-12 PHP-Fortgeschrittene 3 12.06.2005 20:57
Zufalls IP per Curl mitgeben Flor1an PHP Tipps 2005 4 04.05.2005 22:38
[Erledigt] PHP nachträglich mit CURL Support ausstatten PHP-Fortgeschrittene 2 20.12.2004 16:19
[Erledigt] CURL / PHP bestimmten String auslesen PHP-Fortgeschrittene 2 05.10.2004 18:22
cURL: Webseite einlesen PHP Tipps 2004 1 14.07.2004 00:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
file_get_contents curl, curl file_get_contents, file_get_contents encoding, file_get_contents parsen, file_get_contents xml, curl file_get_content, curl encoding, php curl file_get_contents, file_get_contents curl php, curl php file_get_contents, file_get_contents php parsen, xml_load_file, open xml file with curl, php file_get_contents curl, http://www.php.de/php-tipps-2008/49675-file_get_contents-curl.html, php xml_load_file, curl filegetcontents, php file_get_contents xml, file_get_contents allow_url_fopen, curl simplexml

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum