T-Offline Geschrieben 13. April 2010 Teilen Geschrieben 13. April 2010 Was mach ich falsch? <html> <head> <title>Server-Status</title> </head> <body> <table border="1"> <?php $fp = @fsockopen("10.71.6.15",80,&$errno,&$errstr,2); #if(!$fp) { echo <tr><td width="100">Server 1 ist</td><td width="100"><font color="red">offline</font></td></tr>; } else { echo <tr><td width="100">Server 1 ist</td><td width="100"><font color="green">online</font></td></tr>; } ?> </table> </body> </html> ############ Frage ############# Warum werden 2 Zeilen (Einmal Online ... Offline) angezeigt, das sollte eingendlich in einer zeile stehen? und warum kommen oben die fehler..... Ich versteh das nicht wo liegt der Fehler? Mit freundlichen Grüßen T-Offline Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
noptic Geschrieben 13. April 2010 Teilen Geschrieben 13. April 2010 versuch mal das # vor dem if zu entfernen. Das # letet einen einzeiligen Kommentar ein, und deshalb findet keine Fall unterscheidung stat. Und bitte, bitte lass das mit den gemischten html und php. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 13. April 2010 Teilen Geschrieben 13. April 2010 sieht es so aus? ; } else { echo ; } ?> Server 1 ist offline Server 1 ist online erstens: deine "echo" sind falsch, echo 'text'; nicht echo text; zweitens: du hast das if auskommentiert, was wohl albern ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
T-Offline Geschrieben 13. April 2010 Autor Teilen Geschrieben 13. April 2010 OK das mit dem auskommentieren ist schon blöd gelaufen.... Ich stell mich jetzt mal ganz blöd aber warum willste das so schreiben? Oder steh ich gerade voll auf dem schlauch ... Danke für die Hilfe! <html> <head> <title>Server-Status</title> </head> <body> <table border="1"> <?php $fp = @fsockopen("127.0.0.1",80,&$errno,&$errstr,2); if(!$fp) { [B]echo '<tr><td width="100">Server 1 ist</td><td width="100"><font color="red">offline</font></td></tr>';[/B]} else { [B]echo '<tr><td width="100">Server 1 ist</td><td width="100"><font color="green">online</font></td></tr>';[/B] } ?> </table> </body> </html> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 13. April 2010 Teilen Geschrieben 13. April 2010 weil es sonst für php kein string is den er ausgibt. schreibst du das nämlich als extra php wirft der php-parser mit fehlermeldungen um sich. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
T-Offline Geschrieben 19. April 2010 Autor Teilen Geschrieben 19. April 2010 Ok da mir das zu Blöd wurde und ihr auch kein html und php gemischt haben wollt habe ich mir mal ein PhP Script zusammen gebaut. <?php $info["address"]="127.0.0.1"; $info["port"]="80"; $timeout = 2; $filetyp="gif"; $pic_online="online.gif"; $pic_offline="offline.gif"; $fp = @fsockopen ($info["address"], $info["port"], $errno, $errstr, $timeout); if($filetyp=="gif") { header("Content-Type: image/gif"); if ($fp) { $img=imagecreatefromgif($pic_online); imagegif($img,'',0); }else{ $img=imagecreatefromgif($pic_offline); imagegif($img,'',0); } } imagepng($img,'serverstatus.png',0); imagedestroy($img); ?>[/PHP] Nun mal eine Frage wie kann ich auf der Selben seite z.b. die ip 127.0.0.2 127.0.0.3 und so weiter auch noch abfragen? Geht das überhaupt? Mit freundlichen Grüßen T-Offline Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 19. April 2010 Teilen Geschrieben 19. April 2010 ohne den code jetzt genauer anzusehen, sieht das doch schon viel besser aus. und so weiter auch noch abfragen? Geht das überhaupt? Mit freundlichen Grüßen T-Offline sicher geht das, dazu machst du aus dem $info array ein zweidimensionales array nach der art: $info = array(); $info[0] = array('address' => '127.0.0.1', 'port' => 80); $info[1] = array('address' => '127.0.0.2', 'port' => 80); $info[2] = array('address' => '127.0.0.3', 'port' => 80); und packst die prüfung und ausgabe in eine schleife. foreach ($info as $key => $aInfo) { $fp = @fsockopen($aInfo["address"], $aInfo["port"], $errno, $errstr, $timeout); ... hier dann die ausgabe ... } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
T-Offline Geschrieben 19. April 2010 Autor Teilen Geschrieben 19. April 2010 Ok langsam verstehe ich das ganze. So nun noch eins ich will zu jeder ip ein anderes Bild hinterlegen. Aso ist der code so richtig _n4p_? <?php $info = array(); $info[0] = array ('address' => '127.0.0.1', 'port' => 80); $info[1] = array ('address' => '127.0.0.2', 'port' => 80); $info[2] = array ('address' => '127.0.0.3', 'port' => 80); $info[3] = array ('address' => '127.0.0.4', 'port' => 80); $timeout = 2; $filetyp="gif"; $pic_online="online.gif"; $pic_offline="offline.gif"; forreach ($info as &key => $aInfo) { $fp = @fsockopen ($aInfo["address"], $aInfo["port"], $errno, $errstr, $timeout); if($filetyp=="gif") header("Content-Type: image/gif"); if ($fp) { $img=imagecreatefromgif($pic_online); imagegif($img,'',0); } else { $img=imagecreatefromgif($pic_offline); imagegif($img,'',0); } } imagepng($img,'serverstatus.png',0); imagedestroy($img); ?>[/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
T-Offline Geschrieben 19. April 2010 Autor Teilen Geschrieben 19. April 2010 OK hab 2 Fehler drin gefunden 1 und 2 = forreach ($info as &key => $aInfo) Ein "r" und beim 2ten kein "&" zeichen sondern ein "$" jetzt fehlen nur noch die bilder! MfG Toffline Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 19. April 2010 Teilen Geschrieben 19. April 2010 dazu würde ich einfach das $info array erweitern, und zwar halt im die information welches bild gewünscht ist. hier bietet sich auch an die bild namen an das programm anzupassen. zb: on_server1.gif, off_server1.gif dann kann ins info array folgendes: $info[1] = array ('address' => '127.0.0.2', 'port' => 80, 'picture' => 'server2'); und in der ausgabe einfach if ($fp) { $img=imagecreatefromgif('on_'.$aInfo['picture'].'.gif'); imagegif($img,'',0); } else { $img=imagecreatefromgif('on_'.$aInfo['picture'].'.gif'); imagegif($img,'',0); } hast du den code mal getestet? so beim ansehen zweifel ich das das funktioniert. 1) sendest du mehrere header, was üblicherweise mit warnungen quittiert wird 2) versuchst du mehrere bilder gleichzeitig zu erstellen. ich würde empfehlen, die seite in php zu generieren, am liebsten mit einfachen templates. da du die bilder eh nicht zur laufzeit änderst, solltest du auch auf das imagecreate zeugs verzichten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
T-Offline Geschrieben 19. April 2010 Autor Teilen Geschrieben 19. April 2010 (bearbeitet) OK zu 50% deiner antwort versteht ich nur Bahnhof.... Bin nicht so der Programmier. Wäre nett wenn du mir das ggf. erklären würdest. Hier der Aktuelle code: <?php $info = array(); $info[0] = array ('address' => '127.0.0.1', 'port' => 80, 'picture' => 'server0'); $info[1] = array ('address' => '127.0.0.2', 'port' => 80, 'picture' => 'server1'); $info[2] = array ('address' => '127.0.0.3', 'port' => 80, 'picture' => 'server2'); $info[3] = array ('address' => '127.0.0.4', 'port' => 80, 'picture' => 'server3'); $info[4] = array ('address' => '127.0.0.5', 'port' => 80, 'picture' => 'server4'); $filetyp="gif"; $pic_online="on_server1.gif"; $pic_offline="off_server1.gif"; foreach ($info as $key => $aInfo) { $fp = @fsockopen ($aInfo["address"], $aInfo["port"], $errno, $errstr, $timeout); if($filetyp=="gif") header("Content-Type: image/gif"); if ($fp) { $img=imagecreatefromgif('on_'.$aInfo['picture'].'.gif'); imagegif($img,'',0); } else { $img=imagecreatefromgif('off_'.$aInfo['picture'].'.gif'); imagegif($img,'',0); } } imagepng($img,'serverstatus.png',0); imagedestroy($img);[/PHP] Wie würdest du das machen? Bin ich wenn schon auf dem Richtigen weg oder bin ich Hoffnugslos? Vielen Danke für deiner Schnelle und Nette Hilfe MfG T-Offline Bearbeitet 19. April 2010 von T-Offline Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 19. April 2010 Teilen Geschrieben 19. April 2010 was prinzipielles zu Templates: Erstellung einer auf PHP und Templates basierenden Webseite danach wirst du verstehen was ich meinte ^^ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
T-Offline Geschrieben 19. April 2010 Autor Teilen Geschrieben 19. April 2010 So würde es gehen nur es kommen einfach keine Bilder was macht ich denn Falsch? Danke für denn link aber ich muss das bis ende der Woche geschafft haben und jetzt noch die ganze seite druch lesen Ufff.. Was ich gelesen habe das Gif seid 1.6 nicht mehr drin ist in der GD deswegen habe ich nun jpeg genommen. Könntest du noch mal drüber schauen wäre wirklich nett! <?php $info = array(); $info[0] = array ('address' => 'ip', 'port' => 80, 'picture' => 'server0'); $info[1] = array ('address' => 'ip', 'port' => 80, 'picture' => 'server1'); $info[2] = array ('address' => 'ip', 'port' => 80, 'picture' => 'server2'); $info[3] = array ('address' => 'ip', 'port' => 80, 'picture' => 'server3'); $info[4] = array ('address' => 'ip', 'port' => 80, 'picture' => 'server4'); $info[5] = array ('address' => 'ip', 'port' => 80, 'picture' => 'server5'); $timeout = 2; $filetyp="gif"; foreach ($info as $key => $aInfo) { $fp = "1"; // $fp = @fsockopen ($aInfo["address"], $aInfo["port"], $aInfo["picture"], $errno, $errstr, $timeout); echo $fp . 'hallo' . $img . '<br>' . "\n"; if ($fp) { $img = imagejpeg ( 'server0', 'off_server0.jpeg', 100 ); // $img=("'off_'.$aInfo["picture"].'.gif'"); // imagegif($img,'',0); } else { $img=('on_'.$aInfo['picture'].'.gif'); imagegif($img,'',0); } } imagepng($img,'serverstatus.png',0); imagedestroy($img); ?>[/PHP] MfG T-Offline Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 19. April 2010 Teilen Geschrieben 19. April 2010 das mit dem imagejpeg/imagegif usw wird so nix. das kann man nehmen wenn php EIN bild generieren soll, aber du versuchst mehrere zu generieren. schnelles einfaches beispiel: if ($fp) { echo '<img src="on_'.$aInfo['picture'].'.gif" alt="online" />'; } else { echo '<img src="off_'.$aInfo['picture'].'.gif" alt="offline" />'; } [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
T-Offline Geschrieben 23. April 2010 Autor Teilen Geschrieben 23. April 2010 Jetzt ist folgendes Problem! Er zeigt die Server immer als Offline an. Es kommt mir so vor als würde er die regel überspringen. <?php $info = array(); $info[0] = array ('address' => 'ip', 'port' => 80, 'picture' => 'server0'); $info[1] = array ('address' => 'ip', 'port' => 80, 'picture' => 'server1'); $info[2] = array ('address' => 'ip', 'port' => 80, 'picture' => 'server2'); $info[3] = array ('address' => 'ip', 'port' => 80, 'picture' => 'server3'); $info[4] = array ('address' => 'ip', 'port' => 80, 'picture' => 'server4'); $info[5] = array ('address' => 'ip', 'port' => 80, 'picture' => 'server5'); $timeout = 10; $filetyp="gif"; foreach ($info as $key => $aInfo) { $fp = "1"; $fp = @fsockopen ($aInfo["address"], $aInfo["port"], $aInfo["picture"], $errno, $errstr, $timeout); echo $fp . $img . '<br>' . "\n"; if ($fp) { echo '<img src="on_'.$aInfo['picture'].'.gif" alt="online" />'; } else { echo '<img src="off_'.$aInfo['picture'].'.gif" alt="offline" />'; } } ?>[/PHP] Hmm weiß einer noch ne Rat dreh bald durch wegen so einer ******* anzeige! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 23. April 2010 Teilen Geschrieben 23. April 2010 naja, das kommt nun drauf an ^^ hast du das lokal? steht bei 'address' auch die richtige ip? und das wichtigste, unterstützt das verwendete php auch fsockopen? phpinfo() hilft, oder einfach mal das @ vor fsockopen weglassen, damit du eventuelle fehlermeldungen siehst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
T-Offline Geschrieben 23. April 2010 Autor Teilen Geschrieben 23. April 2010 So als Info! Betriebsystem Windows 7 64Bit Xampp So jetzt mein verdacht das fsockopen bei xampp nicht geht! Stimmt das? MfG T-Offline Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 23. April 2010 Teilen Geschrieben 23. April 2010 keine ahnung, is ne config sache. also php.ini weiß nicht ob man es auch im htacess steuren kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
thorsten1987 Geschrieben 25. April 2010 Teilen Geschrieben 25. April 2010 Warning: fsockopen() expects at most 5 parameters, 6 given in /var/www/fsock.php on line 14 offline Warning: fsockopen() expects at most 5 parameters, 6 given in /var/www/fsock.php on line 14 offline Warning: fsockopen() expects at most 5 parameters, 6 given in /var/www/fsock.php on line 14 offline Warning: fsockopen() expects at most 5 parameters, 6 given in /var/www/fsock.php on line 14 offline Warning: fsockopen() expects at most 5 parameters, 6 given in /var/www/fsock.php on line 14 offline Warning: fsockopen() expects at most 5 parameters, 6 given in /var/www/fsock.php on line 14 offline Hilft das ?? ^^ lass einfach den $timeout weg am ende der parameterliste dann klappt das. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 25. April 2010 Teilen Geschrieben 25. April 2010 richtig, erstmal das timeout streichen. was hat dich bitte auf diese idee gebracht? einfach die tatsache das eins zuviel ist? ich geb zu mir ists auch erst jetzt aufgefallen, aber wenn dann solltest du das $aInfo["picture"] nicht an fsockopen übergeben, das hat damit nix zu tun .. also: $fp = @fsockopen ($aInfo["address"], $aInfo["port"], $errno, $errstr, $timeout); das timeout ist aber scho wichtig o.0 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
thorsten1987 Geschrieben 25. April 2010 Teilen Geschrieben 25. April 2010 genau das und die Tatsache das ich keine Lust hatte auf PHP: fsockopen - Manual zu gehen um zu gucken was wo hinkommt. Bin ja schließlich keine Funktionsreferenz. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 26. April 2010 Teilen Geschrieben 26. April 2010 Sorry, hab in den falschen Thread gepostet... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.