php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-10-2007, 15:31
wkamdem
 Newbie
Links : Onlinestatus : wkamdem ist offline
Registriert seit: Aug 2007
Beiträge: 26
wkamdem ist zur Zeit noch ein unbeschriebenes Blatt
Standard fgets schlägt fehl

Hallo Leute,

ich bin langsam am Ende... Ich will von PHP aus, einen java Servlet aufrufen... habe den unten stehenden Code benutzt.. Es hat vor 4 Tagen noch richtig funktioniert aber seit einige tagen schlägt einfach fgets fehl... Ich habe keine änderungen am code durchgeführt. Es liegt auch nicht am tomcat-server, denn ich habe auch auf einen anderen rechner mit einen neuen tomcat versucht aber ohne erfolg..

Hier ist der Code

PHP-Code:
<?php

$data 
"name=tcha&vorname=will";

$response postDataToHost("localhost""8080""/Test/Test"$data);

  function 
postDataToHost($host$port$path$data_to_send) {

        
$fp fsockopen($host$port);
        
$referer "http://".$host.":".$port."".$path;
    
if (!
$fp) {
    echo 
$errstr" : " .$errno ."<br />\n";
} else {
    
$out "POST $path HTTP/1.1\r\n";
    
$out .= "Host: $host\r\n";
    
$out .= "Referer: $referer\r\n";
    
$out .= "Content-type: application/x-www-form-urlencoded\r\n";
    
$out .= "Content-length: "strlen($data_to_send) ."\r\n";
    
$out .= "Connection: close\r\n";
    
$out .= $data_to_send;
    
        
fwrite($fp$out);

    
$res fgets($fp1);
    if (!
$res) {
        echo 
"fgets fehlgeschlagen"; die();
    }
        
    while(!
feof($fp)) {
        
$res .= fgets($fp128);
        if (!
$res) { echo "fgets fehlgeschlagen"; die(); }
    }
    
fclose($fp);
}
        
        echo 
"Response : " .$res;
        return 
$res;                  
    }
?>
Wie gesagt, ich bekomme nur auf dem bildschirm zu sehen, dass fgets fehlgeschlagen.. Mein servlet wird gar nicht angesprochen..

Kann bitte jemand mir sagen warum oder ein anderer weg zeigen wie ich von php aus eine java klasse bzw. servlet aufrufen kann..

Danke für eure Antwort

Mfg

William

Geändert von wkamdem (21-10-2007 um 15:35 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 21-10-2007, 15:42
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Kannst du das Servlet im Browser aufrufen?
Mit Zitat antworten
  #3 (permalink)  
Alt 21-10-2007, 16:31
wkamdem
 Newbie
Links : Onlinestatus : wkamdem ist offline
Registriert seit: Aug 2007
Beiträge: 26
wkamdem ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja ich kann das servlet im browser aufrufen...
Mit Zitat antworten
  #4 (permalink)  
Alt 21-10-2007, 16:55
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

($out .= "Connection: close\r\n";) nach dem letzten header gehört ein doppelter crlf

und $res = fgets($fp, 1); und dann fgets in einer schleife ist mir auch nicht so ganz klar.
Mit Zitat antworten
  #5 (permalink)  
Alt 21-10-2007, 17:08
wkamdem
 Newbie
Links : Onlinestatus : wkamdem ist offline
Registriert seit: Aug 2007
Beiträge: 26
wkamdem ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich hatte vorher erst nur die while schleife ohne $res = fgets($fp, 1);

Ich dachte, es liegt vielleicht an der while-schleife bzw. die 128, das ich bei fegts() migegeben habe...

deshalb habe ich $res = fgets($fp, 1);eingeführt nur zum testen...

Wenn man sieht, ich landet ich in der if-Abfrage
PHP-Code:
$res fgets($fp1);
    if (!
$res) {
        echo 
"fgets fehlgeschlagen"; die();
    } 
bekomme ich dann auf dem bildschirm "fgets fehlgeschlagen" und das skript wird beendet... Also es war nur zum testzweck...
Mit Zitat antworten
  #6 (permalink)  
Alt 21-10-2007, 17:13
wkamdem
 Newbie
Links : Onlinestatus : wkamdem ist offline
Registriert seit: Aug 2007
Beiträge: 26
wkamdem ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo 3DMax,

ich habe doppelter crlf hinzugefügt.... bekomme immer "fgets fehlgeschlagen"

Der code sieht jetzt so aus
PHP-Code:
<?php
error_reporting
(E_ALL);
$data "name=tcha&vorname=will";

$response postDataToHost("localhost""8080""/Test/Test"$data);

  function 
postDataToHost($host$port$path$data_to_send) {

        
$fp fsockopen($host$port);
        
$referer "http://".$host.":".$port."".$path;
    
if (!
$fp) {
    echo 
$errstr" : " .$errno ."<br />\n";
} else {
    
$out "POST $path HTTP/1.1\r\n";
    
$out .= "Host: $host\r\n";
    
$out .= "Referer: $referer\r\n";
    
$out .= "Content-type: application/x-www-form-urlencoded\r\n";
    
$out .= "Content-length: "strlen($data_to_send) ."\r\n";
    
$out .= "Connection: close\r\n\r\n";
    
$out .= $data_to_send;
    
        
fwrite($fp$out);

    
$res fgets($fp1);
    if (!
$res) {
        echo 
"fgets fehlgeschlagen"; die();
    }
        
//    while(!feof($fp)) {
//        $res .= fgets($fp, 128);
//        if (!$res) { echo "fgets fehlgeschlagen"; die(); }
//    }
    
fclose($fp);
}
        
        echo 
"Response : " .$res;
        return 
$res;                  
    }
?>

Geändert von wkamdem (21-10-2007 um 19:41 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 21-10-2007, 19:09
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
    $res fgets($fp1);
    if (
$res===false) {
        echo 
"fgets fehlgeschlagen"; die();
    } 
Schlägt die Abfrage immer noch fehl? error_reporting oben?
Mit Zitat antworten
  #8 (permalink)  
Alt 21-10-2007, 19:23
wkamdem
 Newbie
Links : Onlinestatus : wkamdem ist offline
Registriert seit: Aug 2007
Beiträge: 26
wkamdem ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja es schlägt immer fehl...

Was meinst du mit error_reporting??
Mit Zitat antworten
  #9 (permalink)  
Alt 21-10-2007, 19:29
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Ja es schlägt immer fehl...
Ich meine, ob sie nach meiner Änderung immer noch fehlt schlägt!!
-> if ($res===false)

Zitat:
Was meinst du mit error_reporting??
Siehe Regeln!
Mit Zitat antworten
  #10 (permalink)  
Alt 21-10-2007, 19:31
wkamdem
 Newbie
Links : Onlinestatus : wkamdem ist offline
Registriert seit: Aug 2007
Beiträge: 26
wkamdem ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja ich habe deine änderungen hinzugefügt und es schlägt immer fehl...
Mit Zitat antworten
  #11 (permalink)  
Alt 22-10-2007, 00:02
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #12 (permalink)  
Alt 22-10-2007, 12:22
wkamdem
 Newbie
Links : Onlinestatus : wkamdem ist offline
Registriert seit: Aug 2007
Beiträge: 26
wkamdem ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo, ich habe error_reporting eingebaut... Es kam dann am bildschirm dass die variable $res nicht deklariert ist....

Jetzt kann ich mein servlet ansprechen...

Danke für eure Hilfe

mfg

william
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:13 Uhr.