Anwendung öffnen

Status
Nicht offen für weitere Antworten.
Original geschrieben von Nuinmundo
(...) oder XP hast, kann ich dir für den lokalen Betrieb am besten den IIS empfehlen, der mit Windows mit geliefert wird.

Allerdings nur bei der XP Professional - die Home Edition hat keinen
mehr im Lieferumfang... Desweiteren ist der ISS DAS Sicherheitsrisiko unter Windows (weil in der Default Konfiguration ALLES erlaubt ist). Wenn man ihn aber von Hand dicht macht, ist es sicher der "bequemste" Webserver unter Windows...
 
Naja, hab jetzt für den lokalen Betrieb gemeint, was aber keinen Unterschied macht, wenn jemand deine IP Adresse hat :rolleyes:

*gegenkopfklopf*
 
Ich hab mir jetzt OmniHTTPd runtergeladen und es scheint soweit zu funktionieren. Nur werd ich aus dem exec-Befehl noch nicht ganz schlau. Über verschiedene Buttons auf der PHP-Seite sollten die Programme eigentlich ausgeführt werden; ich hab jedoch keine Ahnung, wie ichdas dann mit dem php-Skript verbinden soll ...
 
Ich hab mir jetzt OmniHTTPd runtergeladen und es scheint soweit zu funktionieren. Nur werd ich aus dem exec-Befehl noch nicht ganz schlau. Über verschiedene Buttons auf der PHP-Seite sollten die Programme eigentlich ausgeführt werden; ich hab jedoch keine Ahnung, wie ich das mit dem php-Skript verbinden soll ...
 
Erstmal musst du OmniHTTPd so konfigurieren, dass das Document-root Verzeichnis die Festplate oder Partition ist, auf der die Anwendungen liegen. Wie man das in OmniHTTPd macht, weiss ich nicht, müsste aber in der Hilfe oder so stehen.

Dann machs du bei jedem Button für ein Programm ein onClick="open.php?prog=Programme/Firma/Produkt.exe"-Handler dazu.

Nun musst du noch die PHP-Datei machen:
PHP:
<?php
$prog = $_GET["prog"];
exec($prog);

header("Location: ".getenv(HTTP_REFERER));
?>

Nur ein Problem gibt es: Ich weiss nicht, ob es auch beim exec-Befelh auftritt, bei system jedenfalls: Die Ausführung des Scriptes wird so lange unterbrochen, bis das geöffnete Program geschlossen wir, bzw das max_execution Limit (Standart: 30Sekunden) vorbei ist.

Mögliche Lösungen: Du änderst die PHP-Konfiguration so, dass das Script nach 2-3 Sekunden abgebrochen wird (siehe: %windir%/php.ini und dor die Zeile: max_execution_time entsprechend abändern).

Oder du löst das ganze mit JavaScript:
PHP:
#open.php:
<html>
<head>

<script type="text/javascript">
function navigateback() {
  setTimeout("window.location=".window.document.referrer, 1500);
}
</script>

</head>
<body onLoad="navigateback;">
Programm wird ausgeführt...
</body>
</html>

<?php
$prog = $_GET["prog"];
exec($prog);
?>
 
Ich blick einfach nicht durch !

Also, ich hab als Root-Verzeichnis "C:" angegeben, dann einen Button auf meiner HTML-Seite mit dem "onClick"-Ereignis belegt und außerhalb der HTML-Tags den PHP-Code eingefügt. Nachdem das nicht funktioniert hat, hab ich die Datei als .php abgespeichert, aber auch so hats nicht geklappt.

Kannst Du mir als blutigem Anfänger nochmal erklären, wo's hapert ?
 
1. Der Webserver muss natürlich gestartet werden.

2. Du greifst dann nicht mer wie gewohnt auf deine HTML/PHP-Dateien zu, sondern per localhost.
Du musst also, angenommen die HTML Datei mit dem Button heist index.html und liegt auf C:, den Browser starten und da die Addresse http://localhost/index.html eingeben. Möglicherweise musst du noch einstellen, dass er keine DFÜ-Verbindung aus dem Browser heraus wählt.

3. Die PHP-Datei mit folgendem Inhalt:
PHP:
<html>
<head>

<script type="text/javascript">
function navigateback() {
  setTimeout("window.location=".window.document.referrer, 1500);
}
</script>

</head>
<body onLoad="navigateback;">
Programm wird ausgeführt...
</body>
</html>

<?php
$prog = $_GET["prog"];
exec($prog);
?>
liegt ebenfalls auf C: und heißt z.B. open.php. Dementsprechend musst du natürlich auch das onClick-Ereignis des Buttons anpassen.

Nun müsste das PHP-Skript ausgeführt werden, wenn du es per localhost aufrufst.
 
Tut mir leid, dass ich Dich mit meinem Problem nochmal nerven muss. Ich glaube, jetzt alles so eingestellt zu haben wie Du es erklärt hast. Wenn ich jedoch auf den Button in der HTML-Datei klicke, tut sich gar nichts. Öffne ich die PHP-Datei (über localhost) alleine, wird php.exe (der PHP-Interpreter, glaub ich) "aufgrund eins ungültigen Vorgangs" geschlossen. Ich hab dann probiert, statt der Variablen "prog" direkt den Pfad in das PHP-Skript einzugeben. Es erschien zwar nun der Text "Programm wird ausgeführt", aber passiert ist leider wieder nichts.

Ich frag mich, ob irgendwas mit der PHP-Konfiguration meines Webservers nicht stimmt. Am Code selbst und auch am Root-Verzeichnis kanns eigentlich nicht liegen.
 
In meiner Verzweiflung versuch ich es jetzt doch nochmal: Kann es sein, dass am Aufruf onclick="open.php?prog=Programme/Firma/Produkt.exe" irgendwas nicht stimmt ? Ich erhalte nämlich neuerdings beim Öffnen der HTML-Datei einen Laufzeitfehler, es würde ein Doppelpunkt erwartet.

Ich hab - obwohl ich selbst nicht genau weiß, wieso - folgendes probiert: onclick="self.location.href='open.php?prog=Programme/Firma/Produkt.exe'" Nun wird zwar die PHP-Datei geöffnet, das Programm aber dennoch nicht gestartet.

Vielen Dank für Eure Hilfe.
 
Status
Nicht offen für weitere Antworten.
Zurück