Stapelverarbeitungsdateien, die Windows-Anweisungen enthalten, wie sie die Eingabeaufforderung verarbeiten kann laufen hier auf Pinguin per se nicht. Aber auch Shellscripts werden hier nicht laufen, da ein Webspace grundsätzlich kaum die Möglichkeiten enthält Shellzugriff oder dergleichen anzubieten…
<?php
exec("test.bat", $output, $return_var);
if($return_var == 0) {
foreach($output as $line) {
echo $line;
}
} else {
// In der $return_var steht dein exit-status (siehe Code unten), sprich 7 bei falschem Passwort
echo "Error-code: ".$return_var."<br />\n";
echo "Here is the stack-trace<br />\n";
foreach($output as $line) {
echo $line;
}
}
?>
Meine test.bat
@echo off
REM Sorry Kommunikation geht natürlich nicht; war gestern spät
set /P pswd=Passwort:
if "%pswd%"=="geheim" goto zero
goto other
:zero
echo Schlauer Fuchs
exit 0
:other
echo Try again!
exit 7
[edit]Siehe Kommentar des batch-Scripts. Ich wollte lediglich veranschaulichen, was mit dem exit möglich ist und welche Rückgabewerte von der batch du nutzen kannst.[/edit]
Geht hier natürlich nicht, weil alle Programmaufruf-Funktionen (exec, system, Backtick-Operator, …) hier deaktiviert sind.
Außerdem würde das Ding dann natürlich auf dem Server laufen, der Benutzer bekommt davon nix mit.
Wenn man möchte, daß der Nutzer solch ein Skript ausführt (nicht das Dienstprogramm hier dies
veranlaßt), so kann man einfach einen Verweis auf die Datei mit dem Skript setzen.
Der jeweilige Nutzer hat dann die Möglichkeit, das Skript herunterzuladen, zu untersuchen und
wenn als unbedenklich oder gar nützlich empfunden laufen zu lassen.
Dabei kann man sich natürlich noch die Frage stellen, in welcher Sprache man das Skript
formulieren sollte, damit alle Nutzer die Möglichkeit haben, das Skript auch laufenzulassen -
meist empfiehlt sich da eher etwas aus dem GNU/open-source-Bereich als irgendeine für
windows/microsoft spezifische Lösung.
Sofern man Rechner hat, die gegenseitig ihre IPs kennen, kann man dann natürlich auch recht
leicht Spiele basteln, die man (nahezu) unabhängig von einem zentralen Diensterechner spielen
kann, dem würde dann etwa nur die Aufgabe zufallen, die IPs williger Mitspieler zu verwalten.