Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Datei mit php ausführen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Datei mit php ausführen


 
galaxy2
31-08-2005, 14:45 
 
Hallo,


Habe mal eine kurze Frage:

Ist es mit php möglich, eine Datei, welche auf dem Server liegt, auszuführen?

Also ich meine Damit dass man z.B unter einem Windowsserver eine exe,bat Datei starten kann.

Wenn ja, mit welcher Funktion könnte ich dies umsetzten.


Bin für Tipps dankbar.

 
penizillin
31-08-2005, 14:50 
 
www.php.net/exec

 
LGC
31-08-2005, 14:51 
 
Mittels CGI sollte das machbar sein. Mit PHP glaube ich schon mal etwas darüber gelesen zu haben, kann dem aber nicht glauben.

Was du aber machen kannst, ist ein Prog mit C++ oder so schreiben, der eine Datei durchforstet. Zu Beispiel alle 2 Minuten. Ist dort eine 1 drin, startet das Programm ein anderes und setzt den Wert auf 0.

Mit PHP kannst du den Wert auf 1 stellen.

Edit, war einer schneller wie ich...

 
LGC
31-08-2005, 14:52 
 
@ penizillin



interessant man lernt nie aus!

 
galaxy2
31-08-2005, 15:36 
 
Danke das klappt ja schon mal gut.

Nur noch eine Frage dazu:

Habe eine kleine .bat Datei die mir einfach nur ein Hallo ausgibt.
Diese möchte ich ausführen.

Dies klappt auch soweit.
Nur hört mein Browser nicht auf zu laden. Er stoppt erst wieder mit dem Laden, sobald ich die Datei schliesse.

Wie kann ich ihm denn nun noch sagen:
"sobald er die datei angestossen hat" soll er mit dem php-script stoppen
break und exit funktionieren nicht

Danke schon mal im Voraus

 
penizillin
31-08-2005, 15:47 
 
exec('start foo.bat'); :dontknow:

 
galaxy2
31-08-2005, 15:51 
 
Ja genau so hab ich das gemacht.

Dann läd sich mein Browser aber "kaputt"
kann man nicht das php-script verlassen sobald die Datei gestartet wurde?

oder anderer Ansatz:


Wie kann ich denn die Meldung die dann im cmd erscheint
"Zum Fortsetzen bitte beliegige Taste drücken "
umgehen. Denn dann könnte ich mit exit die cmd verlassen

 
penizillin
31-08-2005, 15:57 
 
google mal nach "exec in background" o.ä., ich glaube, das thema ist alt.

 
hhcm
31-08-2005, 18:12 
 
Irgendetwas passt hier nicht zusammen..

Dein Browser lädt sich kaputt wenn du an der Console ein Script startest ?

Ich würd mal deinen Virenscanner updaten...

Entweder schreibst du ein sogenanntes CLI Script oder eines welches über den Browser gestartet wird...

 
penizillin
31-08-2005, 20:23 
 
hhcm, ich glaube, du hast ihn mißverstanden. lies galaxy2s posts nochmal durch. oder eines welches über den Browser gestartet wird... so habe ich ihn zumindest verstanden.

 
hhcm
01-09-2005, 08:04 
 
Nein so hast du mich verstanden :D
Das habe ich geschrieben was du da quotest

 
galaxy2
01-09-2005, 09:34 
 
Also ich versuche es dann noch einmal.

Ich habe zur Vereinfachung ein php script was nur eine Zeile enthält:

exec("start Y:\\test.bat");

die bat Datei gibt einfach nur ein "Hallo" aus. Mehr nicht.

Wenn ich nun die einfache php Datei zum Test im Browser aufrufe, dann
öffnet sich ein CMD Fenster mit der welches die Datei startet. Also alles so wie es sein soll.

IM IE wird ja unten immer ein "blauer Balken" gezeigt, wenn er ein script öffnet. Dieser verschwindet ja wenn er mit dem Laden der Seite fertig ist.

Genau das passiert bei mir nicht. Er läd und läd und ....

Sobald ich aber das cmd Fenster schliesse, dann hört der Browser mit dem laden auf.

 
hhcm
01-09-2005, 12:43 
 
Was passiert denn wenn du exec mal gegen


pclose(popen("start test.bat", "r"));


austauschst?

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:58 Uhr.