befehl auf command line ebene ausführen / exeption handling

befehl auf command line ebene ausführen / exeption handling

am 08.11.2006 10:54:17 von smoothmaster

hallo,
ich führe einen befehl auf command line ebene aus. Danach wird eine
log datei erzeugt und diese in ein spezielles verzeichnis kopiert. der
befehl wird wiederholt gem. der einträge in einer csv.

mein problem:
wenn ein wert aus der csv durch den befehl nicht ausgeführt werden
kann bekomme ich ein time out, da natürlich die zu kopierende log
datei nicht vorhanden ist.

ich versuche mit try und catch oder die diese situation zu eleminieren.
Es gelingt mir aber nicht.

welche möglichkeiten kennt ihr dies zu realisieren.

Vielen Dank

CODE:
try {
//exec($befehl) or die($php_errormsg);
$handle =3D popen($befehl,'r') or die ($php_errormsg);
sleep(2);
pclose($handle);//or die ($php_errormsg);


//echo "
".$befehl."
";

$zeit =3D getdate() or die($php_errormsg);
$logdat =3D fopen("ntfyhist.log","a") or die($php_errormsg);
$zeile =3D
"[".$zeit['mday'].".".$zeit['mon'].".".$zeit['year']." -
"$zeit['hours'].":".$zeit['minutes'];
$zeile .=3D "] --- ".$_SERVER["REMOTE_ADDR"]." -
"$_SESSION['user'].": ".$befehl."\r\n";
fwrite($logdat,$zeile) or die($php_errormsg);
fclose($logdat) or die($php_errormsg);
//$test =3D str_replace('\r\n',
'_',(str_replace('\t','_',@$myvalue[$h])));
$test =3D $z;
//sleep(2);
//$dateistring =3D "radntfyc_".$test.".log";
//$datei2 =3D fopen($dateistring,'w+')or die("Kann die angegebnene
Datei nicht öffnen: $php_errormsg");

copy("c:\\novadigm\\log\\radntfyc.log","c:\\Inetpub\\wwwroot \\intern\\anwen=
dungen\\massnotify\\files\\".trim(@$myvalue[$h])."notify.log ")
or die ("Datei von Client $myvalue[$h] konnte nicht kopiert
werden:$php_errormsg");

$datei2 =3D
fopen("c:\\Inetpub\\wwwroot\\intern\\anwendungen\\massnotify \\files\\".trim=
(@$myvalue[$h])."notify.log","r")or
die ("Die Datei vom Client $myvalue[$h] konnte nicht gelesen
werden:$php_errormsg");

$rc =3D "";

while(!feof($datei2)){
$zeile =3D fgets($datei2);
if(strpos($zeile,"[Edm_Exit ]"))
$rc =3D substr($zeile, -5, -3);
}
fclose($datei2) or die ($php_errormsg);
}
catch (Exception $e){
echo "Client ".trim(@$myvalue[$h])." konnte nicht verarbeitet
werden";
}