Diesen Code schreibst du z.B. als "arduweb.php" in einen Unterordner auf deiner Domain, in den Webserver auf einem NAS oder in "htdocs" unter XAMPP (Webserver-Installation für Entwickler) auf deinem PC bzw. Mac.
Dabei musst du sicherstellen, dass das Script im gleichen Ornder
Schreibrechte hat, was mitunter ein wenig "anstrengend" ist. Ich habe unter Mac OS X das Tool "BatChmod" benutzt, um kuzerhand den gesamten Dokumentenordner unter XAMPP mit Schreibrechten für alle zu versehen - sonst wird das nix mit dem Erstellen der Datei.
Vom Aufbau her handelt es sich um ein sog. "Affenformular", ein HTML-Formular, was sich selber aufruft (siehe "action"-Option im Form-Tag).
Der Aufruf lautet dann:
http://deine_domain.xyz/ordner/arduweb.phpAuf einem NAS setzt du statt "deine_domain.xyz" deren IP-Adresse ein, bei einem lokalen XAMPP "127.0.0.1" oder "localhost".
Mach' das erstmal und schreib, ob das geklappt hat. Das siehst du daran, dass nach jeder Eingabe die zuletzt eingegebene Zahl im oberen Feld erscheint, auch nachdem du den Browser mal geschlossen und dann wieder geöffnet hast.
<html>
<head>
<?php //--------- PHP Funktionen -----------
//--- den vom Formular übermittelten Wert behandeln ---
$data=@$_POST["act"]; //Wert vom Formular auslesen
if (is_numeric($data)) //prüfen, ob Zahl
{$data=round($data,0);} //wenn ja, rundet auf ganze Zahl
else
{$data=1;} //wenn nein, setze 1
//-- den aktuellen Wert in Datei schreiben und merken ---
$datei=@fopen("ardudat.txt","w");
if ($datei) //Datei konnte zum Schreiben angelegt werden
{
fwrite($datei,$data);
fclose($datei);
}
?>
</head>
<body>
<hr>Aduino und Webserver - Eingabeformular<hr>
aktueller Wert:<br>
<input name="last" type="text" size="20"
value="<?php echo $data ?>" readonly><br>
<form action="arduweb.php" method="post">
neuer Wert:<br>
<input name="act" type="text" size="20" value="" autofocus><br><br>
<input type="reset" value="löschen">
<input type="submit" value="senden">
</form>
</body>
</html>
Die @ vor manchen Funktionen dienen dazu, Fehlermeldungen zu unterdrücken.