Zum Inhalt springen

exec() aus einem fe-plugin heraus ausführen

Erstellt am 29. Januar 2007 · 3 Antworten · letzte Antwort am 4. Februar 2007

Tags: Frage

Nick78 ·

hallo,

ich habe mir ein kleines typo3-externes php-testscript gebastelt mit dem über einen button eine batch-datei ausgeführt werden kann. diese "schickt" einen befehl an die kommandozeilenversion des tools 7-zip. auf knopfdruck werden mir somit dynamisch dateien erzeugt, durch die ausführung von 7-zip gepackt und anschließend zum download angeboten.

wenn ich die codezeilen des scripts nun in einem typo3 fe-plugin unterbringe und entsprechend anpasse, wird die batch-datei nicht ausgeführt. ich denke mal ich habe da irgendein pfadproblem. denn im install-tool von typo3 ist die exec() fkt. aktiviert (imagemagick läuft z.b. auch einwandfrei).

lag die batchdatei in demselben verzeichnis wie mein plugin, z.b. pi1, dann habe ich es direkt mit:

exec("batchdatei.bat");

versucht.

lag sie im fileadmin-ordner, habe ich es mit:

exec("fileadmin/batchdatei.bat");

versucht. Doch alles was passiert, ist das ich das cmd.exe fenster nur für ne millisekunde sehe und meine befehle aus der batchdatei nicht ausgeführt werden. dieselbe batch-datei tut aber außerhalb von typo ihre dienste. entweder bei direktem knopfdruck darauf oder durch die exec() funktion in meinem kleinen typo3-externen php-script.

ich steh grad irgendwie auf dem schlauch!?

Dirk Jung ·

Hallo,

liegt am relativen Pfad. Für diesen Befehl ist der absolute Pfad auf dem Server anzugeben. Man weisst ja den Server an, eine bestimmte Datei in einem bestimmten Verzeichnis auszuführen. Lässt man den Pfad weg, wie im ersten Beispiel, dann muss die Datei im gleichen Verzeichnis liegen, das geht auch.

Gruß
Dirk