Konrad: Exe-Datei aufrufen

Beitrag lesen

Hallo,
die Sache sieht jetzt etwas einfacher (oder komplizierter?) aus.
Es liegt nicht an der Funktion.
Hier das Beispiel:

<?php  
$programmPfad   = 'D:/CSDiff/CSDiff.exe';  
$DiffDateiPfad  = 'F:\tmp\DiffOutput.txt';  
$datei1 = 'd:\test\a.php';          // a.php != b.php, a.php == c.php  
$datei2 = 'd:\test\b.php';  
$datei3 = 'd:\test\c.php';  
$handle = fopen($DiffDateiPfad, 'w');  
fclose($handle);      // Leere Datei erstellen  
print (filesize ($DiffDateiPfad));     // ==> 0  
echo "<br>";  
$exec = $programmPfad . ' /Od' . $DiffDateiPfad . ' ' . $datei1 . ' ' . $datei2;  
exec ($exec);       // Ergebnis 0, wenn Dateien identisch, > 0, wenn verschieden  
print (filesize ($DiffDateiPfad));     // sollte != 0 sein  
?>  

Auch wenn die Datei ($DiffDateiPfad  = 'F:\tmp\DiffOutput.txt';) einen Inhalt hat, liefert filesize den Wert 0.
Wenn ich nach Beendigung des Programms dieses Programm:

<?php  
$DiffDateiPfad   = 'F:\tmp\DiffOutput.txt';  
print (filesize ($DiffDateiPfad));     // ==> 0  
?>

aufrufe, wird mir die Größe der Datei (>0) richtig angezeigt.
Vermutung: Datei ist noch nicht geschlossen, wenn das sizeof durchgeführt wird.

Wie kann ich dies ändern?
Danke
Konrad