Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] ecec gibt werte erst nach ausführung des Prog. zurück

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast-Avatar
    Ein Gast erstellte das Thema [Erledigt] ecec gibt werte erst nach ausführung des Prog. zurück.

    [Erledigt] ecec gibt werte erst nach ausführung des Prog. zurück

    einen Wunderschönen...

    ich habe ein kleines Problem mit der Werterückgabe von Exec. Die werterückgabe funktioniert -> mein prob ist dabei, dass ich ich werte erst nach dem kompletten durchlauf geliefert bekomme.

    Code:
    exec("tracert $_POST[befehl]", $RueckgabeProgramm2, $RueckgabeStatus2);
    						  foreach ($RueckgabeProgramm2 as $value2)
    {
    $valuex = str_replace("Routenverfolgung zu", "->", $value2);
    echo("<FONT style='font-family: Courier New; color: #E20074; font-size:12px'>".str_replace ("", "ü", $valuex)."</font>"); echo("
    ");
    }
    gibt es mit PHP die möglichkeit die ausgabe so zu realisieren, dass ich jede Zeile nacheinander angezeigt bekomme?

    zum 2. ich weiss dass ich unter UNIX einen Befehl auf Komandoebene mit Kill "befehl" beenden kann. Im falle dass die Kiste kein Netz hat -> somit ja irgendwann * zurück gibt, würde ich den aktiven tracert gern abbrechen, denn sonst würden unsere User die kompletten 30 Hops abwarten müssen. leider hab ich hier nur ne windowsumgebung mit IIS6

    für einen kleinen Denkanstoss / TIP oder Tut. wären ich sehr dankbar

  • Gast-Avatar
    Ein Gast antwortete
    na ein dickes dankeschön für die INFO -> habs auch umgesetzt -> habt ihr vieleicht noch ne Idee zu meinem eigendlichen Problem, dass ich das Array nicht abfragen kann solange es gefüllt wird ??? DANKE

    Einen Kommentar schreiben:


  • axo
    antwortet
    übrigens: das übergeben von $_GET oder $_POST - variablen direkt an exec() ist eine grobe sicherheitslücke, es ist absolut fahrlässig und führt zu fristlosen kündigungen.
    http://us2.php.net/escapeshellcmd

    zusätzlicher tipp: guck dir das manual zu traceroute an, du kannst mit zusätzlichen parametern den traceroute-aufruf so konfigurieren, dass du nicht mit php rumwerkeln musst.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Hallo,
    ich habe dies nun mit nem UNIX-Rechner gemacht, dieser gibt mir Natürlich die werte direckt zurück -> nun möchte ich aber, im falle dass der rechner kein Netz hat den Traceroute abbrechen -> leider wird der Kill befehl erst dann ausgeführt wenn der Traceroute fertig ist -> habt ihr da ne Idee wie ich dem traceroute sagen kann, dass er dann abbrechen soll wenn das Array einen * zurückgibt -> oder geht das nich wenn in das Array geschreiben wird -> ich hab es damit versucht->

    Code:
    exec("traceroute $_POST[host]", $RueckgabeProgramm, $RueckgabeStatus);
    				        		foreach ($RueckgabeProgramm as $value)
    				            	{
    				            	$valuex = str_replace("*", "X", $value);	
    				            	if(stristr($valuex, 'X'))
    												{
    												exec("killall -q traceroute");
    												}
    							  			echo("<FONT style='font-family: Courier New; color: #000000; fontsize:12px'>valuex</font>");
    
    
    echo("
    ");	
    							    		}
    ich habe auch mal anstelle des Killall mal ne ganz normale Textausgabe gemacht, diese wird aber auch erst ausgegeben wenn traceroute fertig damit ist in array zu schreiben

    habt ihr da nen TIP -> Dankeschön

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Vielleicht funktioniert es mit proc_open()?
    Habe damit aber keine Erfahrung.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Nicht sicher ob ich Dich richtig verstanden habe. Aber evtl. hilft Dir:
    http://de.php.net/manual/de/function.flush.php

    Einen Kommentar schreiben:

Lädt...
X