PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Programme mit Parametern aufrufen? (https://www.php-resource.de/forum/php-developer-forum/89411-programme-mit-parametern-aufrufen.html)

enforcer 12-01-2008 10:17

Programme mit Parametern aufrufen?
 
Kann ich mit php ein Programm auf dem Server mit Parametern aufrufen?

etwa so:
PHP-Code:

exec(C:ProgrammeTrueCryptTrueCrypt.exe /v D:test.timg /lx //p 1234); 

Grüße
Tobias

Click 12-01-2008 11:07

Probier's doch einfach mal aus?

asp2php 12-01-2008 11:18

Re: Programme mit Parametern aufrufen?
 
Zitat:

Original geschrieben von enforcer
Kann ich mit php ein Programm auf dem Server mit Parametern aufrufen?

Ja, aber nicht so.

:rtfm:

enforcer 12-01-2008 11:58

also ich hab den FM gelesen und nix gefunden was klappt. Also hab ich den FM geschlossen und gedacht ich frag die Profis hier mal.
:rolleyes:

wenns nicht viel aufwand ist, gebt mir nen tip.

system()?
proc_open()?

exec von einer batch und dort das programm öffnen hab ich auch probiert. geht auch nicht.

lennart 12-01-2008 12:32

http://de.php.net/manual/de/function.exec.php

http://de.php.net/manual/de/language.types.string.php

IchBinIch 12-01-2008 13:34

Ohne vernünftige Fehler/Problembeschreibung macht ein Posting in einem Forum wenig Sinn. Da können hier noch so viele Profis rumlaufen.

enforcer 12-01-2008 19:06

das problem ist, dass ich keinen Fehler bekomme. Aber ich finds schon mal schön, dass jemand gibt, der nicht nur den Link zu php.net postet. Denn den finde ich alleine.

Mit der in Posting 1 geschriebenen Zeile funktioniert der Aufruf in der Windows Eingabeaufforderung.
Der Browser läd aber nur. Kurz: Es passiert gar nichts. Die Seite bleibt weiß und der Browser versucht irgendwas zu machen. Eine Ausgabe bekomm ich nicht.

Laut php.net (bzw den Kommentaren zum Eintrag exec()) sollte es so funktionieren. Dummerweise klappt das bei mir nicht.

Erstelle ich eine batch-datei mit
start "" "programm"
und lasse die mit exec ausführen, dann führt er zwar die batch aus (gibt evtl zusätzlichen text aus), aber das programm wird trotzdem nicht gestartet.

Bezüglich des Programms bekomme ich weder eine Fehlermeldung noch eine andere Meldung. Es passiert einfach nichts.

Den Link zu strings finde ich interessant, aber ich weiß nicht was der mir sagen soll und wie er mir weiter hilfr. Der String wird korrekt übergeben.

lennart 12-01-2008 20:25

Hättest du meine Links gelesen wüsstest du, dass das hier Mist ist:

PHP-Code:

exec(C:ProgrammeTrueCryptTrueCrypt.exe /v D:test.timg /lx //p 1234); 


enforcer 12-01-2008 21:11

ok. ich steh auf der leitung. Ich find das Problem nicht, auch wenns wohl völliger mist ist.

Werde dann wohl allein weiter probieren und suchen oder in einem anderen Forum fragen.

Trotzdem danke.

lennart 12-01-2008 22:25

Überleg nochmal was man machen sollte wenn man eine Zeichenkette mit Leerzeichen drin zu einer werden lassen möchte. (omg das ist wohl die falscheste erklärung für string EVER - Vergiss es danach ganz schnell wieder ;))

tontechniker 12-01-2008 22:31

Zitat:

Den Link zu strings finde ich interessant, aber ich weiß nicht was der mir sagen soll und wie er mir weiter hilfr. Der String wird korrekt übergeben.
Nicht bei dem was du gepostet hast ... :wall:

enforcer 13-01-2008 12:23

muss ich die Zeichenkette im HTML format übergeben?? also Leerzeichen mit   füllen? Denke eher nicht.

Wie überprüfe ich, ob die zeichenkette richtig übergeben wird? reicht print oder echo aus?

tontechniker 13-01-2008 12:32

Grundlagen!
PHP-Code:

exec 'C:\\\\Programme\\\\TrueCrypt\\\\TrueCrypt.exe /v D:\\\\test.timg /lx /a /p 1234' ); 


onemorenerd 13-01-2008 12:34

exec() erwartet einen String, Strings stehen in ' oder ".

Schreib mal error_reporting(E_ALL); in die erste Zeile deines Scripts!

enforcer 13-01-2008 13:06

Das hat aber nix mit den Leerzeichen zu tun... :(

Mein Code sieht so aus:
PHP-Code:

$command "C:\Programme\TrueCrypt\TrueCrypt.exe /v D:\test.timg /lx /a /p 1234";

$Meldung exec($command); 

d.h. der Code steht in "" oder ''. Sorry, wenn das nicht rüberkam, aber ich habe den Fehler nicht bei den "" gesucht, sondern in der Struktur des exec-Befehls.


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:42 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG