Konrad: Exe-Datei aufrufen

Beitrag lesen

$exec = $programmPfad . ' /Od' . $DiffDateiPfad . ' ' . $datei1 . ' ' . $datei2;

Hier fehlt meiner Meinung nach ein Leerzeichen nach /Od

Nein, das ist korrekt.

print (filesize ($DiffDateiPfad));     // sollte != 0 sein
Auch wenn die Datei ($DiffDateiPfad  = 'F:\tmp\DiffOutput.txt';) einen Inhalt hat, liefert filesize den Wert 0.

Hast du mal probiert die Datei einzulesen, um zu sehen, ob er wirklich die richtige hat?

Ja, sie ist je nach Ergebnis des Vergleich leer oder hat einen Inhalt.

Sollte hingegen die Datei wirklich noch geöffnet sein, dann sollte filesize einen Fehler werfen, den du aber nicht auswertest. Du könntest testweise folgendes an dieser Stelle probieren:

if( filesize($DiffDateiPfad) === false ) echo ("Ein Fehler ist beim Auslesen der Dateigröße aufgetreten");

else echo ("Wert kann ausgelesen werden.");


>   

Habe dies jetzt 3-mal angegeben. Vor dem Erstellen der Datei kommt wie erwartet "Ein Fehler..."  
Nach der Dateianlage (leer) kommt kein Fehler und nach der Ausführung des exec kommt ebenfalls kein Fehler.  
Die filesize wird aber mit 0 ausgegeben, obwohl die Datei gefüllt ist.  
Erst wenn ich jetzt in einem neuen php-Programm die filesize der selben(!) Datei noch einmal abfrage, ist sie korrekt.  
  

> Sollte es wirklich noch an einem Dateilock liegen, kannst du auf die Verfügbarkeit der Datei prüfen.  
>   
  
  
Und jetzt kommt für mich etwas sehr Sonderbares!  
  
Bei  
`while(fopen($DiffDateiPfad,'r')===false) {echo "Fehler"}`{:.language-php}  
kommt kein "Fehler" und filesize ist nach wie vor 0  
aber bei  
`while(fopen($DiffDateiPfad,'r')===false) {echo "Fehler"}`{:.language-php}  
kommt ebenfall kein "Fehler" aber filesize hat den korrekten Wert >0  
Hängt dies am Maya-Kalender? Sollte ich warten bis zum morgigen Weltuntergang?  
Gruß  
Wolfgang