php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.10.2010, 12:32  
Neuer Benutzer
 
Registriert seit: 19.11.2009
Beiträge: 10
PHP-Kenntnisse:
Fortgeschritten
highkne88 befindet sich auf einem aufstrebenden Ast
Standard POST an XML

Hallo,

Und zwar möchte ich einen POST an eine XML Datei schicken ( bzw. eine php Datei die dann eine XML generiert )

Das habe ich mit folgenden Code erreicht:

PHP-Code:
class UMDB {

    private 
$host;
    private 
$referer;
    private 
$data 'usr=*********&pwd=********'
    private 
$path;

    function 
__construct($host$path$referer) {
        
$this->host $host;
        
$this->path $path;
        
$this->referer $referer;
    }

    public function 
addData($key$val) {
        
$data .= '&'.$key.'='.$val;

    }

    public function 
PostToHost() {
        
$fp fsockopen($this->host80);
        
fputs($fp"POST $this->path HTTP/1.1\r\n");
        
fputs($fp"Host: $this->host\r\n");
        
fputs($fp"Referer: $this->referer\r\n");
        
fputs($fp"Content-type: application/x-www-form-urlencoded\r\n");
        
fputs($fp"Content-length: "strlen($this->data) ."\r\n");
        
fputs($fp"Connection: close\r\n\r\n");
        
fputs($fp$this->data);
        while(!
feof($fp)) {
            
$res .= fgets($fp128);
        }
        
fclose($fp);
        
        return 
$res;
    }

Dann Aufruf:

PHP-Code:
$umdb = new UMDB("www.uphe.de""/remote/api/umdb""http://www.uphe.de/remote/api/umdb");
$umdb->addData('opt''ean'); // Typ : EAN
$umdb->addData('val'$_POST['val']); // Ean
$xml $umdb->PostToHost(); 
Die Daten bekommt ihr schon mal irgendwie, wenn ich das dumpe, aber:

Wenn ich jetzt versuche, dass mit simplexml_load_file zu laden, kommt folgender Fehler:

Zitat:
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "HTTP/1.1 200 OK Date: Fri, 15 Oct 2010 10:25:59 GMT Server: Apache/1.3.41 Ben-SSL/1.59 Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0 Expires: Fri, 15 Oct 2010 10:26:00 GMT Pragma: no-cache X-ob_mode: 1 X-Powered-By: PHP/5.2.14 Last-Modified: Fri, 15 Oct 2010 10:26:00 GMT Connection: close Transfer-Encoding: chunked Content-Type: text/xml; charset=utf-8 e5f <?xml version="1.0" encoding="utf-8"?> <uphe api="seller" country="de" lang="de" itemsdisplay="10" itemsperpage="10" itemssummary="1229" pages="123" nextpage="2" prevpage="1"> <item id="1128"> <link url="http://www.uphe.de/movies/id/1128" /> <alternative url="http://www.uphe.d in C:\xampp\htdocs\Tools\views\umdb_api.php on line 11
Wahrscheinlich nervt der ganze Header Krams..Ich weiß aber auch nicht wie ich das umgehen soll...

Hat jemand eine Lösung?
Danke schon einmal vorweg!

Vielleicht hat ja auch jemand einen ganz anderen Lösungsansatz. Per Formular gehts jedenfalls nichts, weil das nachher automatisiert ablaufen soll mit einer riesigen Liste von EANs.

Gruß,
highknee
highkne88 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.10.2010, 12:41  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

du kriegst aus welchem Grund auch immer wohl ein UTF8-Dokument mit "BOM" generiert .. das mag "er" normalerweise gar nicht ....


schau mal wo dies herkommt : e5f <? direkt am Start der XML-Datei .
eagle275 ist offline   Mit Zitat antworten
Alt 15.10.2010, 13:40  
Neuer Benutzer
 
Registriert seit: 19.11.2009
Beiträge: 10
PHP-Kenntnisse:
Fortgeschritten
highkne88 befindet sich auf einem aufstrebenden Ast
Standard

Hmm.. ne keine Ahnung wo das herkommt.

Hab jetzte einfach mal mit String Funktionen das zurecht geschnitten und jetzt funktioniert es. Aber das ist ja nicht grad die schönste Lösung...
highkne88 ist offline   Mit Zitat antworten
Alt 15.10.2010, 13:42  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von highkne88 Beitrag anzeigen
Wahrscheinlich nervt der ganze Header Krams..Ich weiß aber auch nicht wie ich das umgehen soll...
Indem du die Header einfach nicht mit in den Rückgabestring reinpackst ...?

Dass HTTP Response Header und Body durch eine Leerzeile von einander abgetrennt werden, weißt du doch, wenn du dich ein wenig mit den Grundlagen beschäftigt hast.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 17.10.2010, 16:15  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Vermutlich wird $this->data mittels eines Templates gebaut, das einen BOM benutzt.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 18.10.2010, 19:26  
Benutzer
 
Registriert seit: 11.10.2010
Beiträge: 63
PHP-Kenntnisse:
Anfänger
Jim Martens befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von highkne88 Beitrag anzeigen
PHP-Code:
    public function addData($key$val) {
        
$data .= '&'.$key.'='.$val;

    } 
Wenn es dein Ziel sein sollte, an die Eigenschaft $data etwas anzuhängen, müsstest du dann nicht
PHP-Code:
$this->data .= '&'.$key.'='.$val
schreiben?
__________________
Mit freundlichen Grüßen
Jim Martens
Jim Martens ist offline   Mit Zitat antworten
Antwort


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
POST, cUrl und netload tobobant PHP-Fortgeschrittene 0 20.06.2010 04:35
Mit POST aufgerufene Seiten automatisch auslesen ohne ein Formular zu benutzen slmephi PHP Tipps 2009 5 21.08.2009 08:45
Status code auf HTTP POST zurückgeben radiv PHP Tipps 2009 2 05.06.2009 18:58
[Erledigt] PHP Post protokollieren radiv PHP-Fortgeschrittene 12 02.06.2009 19:35
[Erledigt] curl post GTA26 PHP Tipps 2009 1 11.03.2009 20:09
Curl Post Problem GTA26 PHP Tipps 2009 2 10.03.2009 23:16
quelle der POST daten in php script herausfinden ArchEnemy PHP Tipps 2009 11 26.02.2009 02:32
Daten senden über POST oder GET snatch-ic PHP Tipps 2008 6 12.03.2008 20:46
POST manipulieren notyyy PHP Tipps 2006 5 24.09.2006 20:31
Post Formular automatisch weiterleiten mansaylon PHP Tipps 2006 7 31.03.2006 10:46
mit php post übergeben PHP-Fortgeschrittene 1 11.10.2005 13:12
POST socke PHP Tipps 2005 5 25.04.2005 12:52
Mit post an weitere Seite oder 2 Seiten übergeben? PHP Tipps 2005 1 02.02.2005 12:16
Linux Drucker unter Windows tennessee Server, Hosting und Workstations 10 16.12.2004 17:14
GET vor POST ? PHP-Fortgeschrittene 17 26.11.2004 13:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php post xml, php curl xml senden, php post in xml d, simplexml_load_file $_post übergeben, simplexml_load_file daten via post übergeben, x-ob_mode, php xml post, xml encoding chunked bom, post xml html, simplexml_load_file php 5.2.14, http://www.php.de/php-fortgeschrittene/72891-post-xml.html

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:38 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