Externe Programme aufrufen und beenden?
Torsten Berger
- php
Hallo!
ich möchte über meine PHP-Oberfläche ein bestimmtes Programm (.bat) über Windows starten. Nun habe ich es schon geschafft, über exec ein Verzeichniss auslesen zu lassen. Aber die bat läßt sich nicht starten, denn geschweige ein Programm laufen zu lassen, während PHP weiter arbeitet.
Weiß jemand Rat? Und es ist es eventuell möglich, dieses Programm später auch wieder vom Webserver schließen zu lassen? Vielleicht gibt es da auch Programme die man installiert und die so etwas übernehmen können???
Danke schon einmal. Gruß
Torsten
Tach auch,
das währe aber böse wenn man das machen könnte
(ich weiß nicht ob es geht:-)),
denn dann könte man ja in die .bat Datei
einen schönen befehl wie:
format c: \q
pause
j
eingeben und damit hättest du in jedemfall
die Schlagzeilen auf deiner Seite
oder nicht????
Grüße Speedy7777
Tach auch,
das währe aber böse wenn man das machen könnte
(ich weiß nicht ob es geht:-)),
denn dann könte man ja in die .bat Datei
einen schönen befehl wie:
format c: \q
pause
j
eingeben und damit hättest du in jedemfall
die Schlagzeilen auf deiner Seite
oder nicht????
Grüße Speedy7777
das die Sicherheit darunter leidet ist mir klar. Dann darf die bat nur lesbar aber nicht änderbar sein. Kann man ja eventuell auch über SSL lösen, das man nur mit verschlüsseltem Login und Passwort eine solche Funktion ausführen darf.
Vielleicht hat ja jemand noch eine Idee...
Gruß
Hi Torsten,
ich möchte über meine PHP-Oberfläche ein bestimmtes Programm (.bat)
meine Windows-Architekturkenntnisse sind eher spärlich, aber ich vermute
folgendes:
Eine Batch-Datei ist eben _kein_ "Programm" (also keine Datei, welche
Maschinencode enthält und vom Betriebssystemlader ausgeführt werden kann),
sondern ein "Skript", also eine zunächst einmal ganz normale ASCII-Datei,
welche erst dann eine Bedeutung bekommt, wenn ein darauf spezialisiertes
Programm gestartet wurde und diese Datei einliest und interpretiert.
Dieses Programm wäre in Deinem Falle - je nach Windows-Dialekt - eine
passende Shell, beispielsweise "command.com". Probier mal, diese per "exec"
zu starten und ihr als Parameter den Pfadnamen Deines Skript zu übergeben.
Daß Du auf Betriebssystemebene eine Batch-Datei einfach durch Doppelklicken
"starten" kannst, liegt daran, daß die entsprechende Umgebung (z. B. der
Windows-Explorer) die Verknüpfung zwischen der Endung ".bat" und dem dazu
passenden Interpreter "command.com" kennt und selbst das richtige Programm
startet. Die "exec"-Funktion von PHP ist aber kein Windows-Explorer ...
Viele Grüße
Michael