Daten in einer Datei speichern
Trinity
- sonstiges
Hmmm ich verzweifele langsam. Wenn ich mit der method=get eine Datei an den server schicke dann zeigt er das zwar oben an aber mehr auch nicht (also in der Adresse vom I-Explorer, so etwa: adresse das /test.html?Eingabe=blabla aber er schreibt nix inne datei... Bin zwar noch neu hab aber echt intresse. Bitte helft mir!
trin
Hallo, <-- eine Begrüßung
Hmmm ich verzweifele langsam. Wenn ich mit der method=get eine Datei an den server schicke dann zeigt er das zwar oben an aber mehr auch nicht (also in der Adresse vom I-Explorer, so etwa: adresse das /test.html?Eingabe=blabla aber er schreibt nix inne datei... Bin zwar noch neu hab aber echt intresse. Bitte helft mir!
Du sendest keine Datei an den Server, Du rufst eine Datei vom Server ab. Du kannst allerdings an den Server Parameter übergeben (test.html?Eingabe=blabla). Eingabe ist dabei der Parameter und der hat den Wert "blabla".
Was soll er denn in die Datei, die Du abrufst schreiben?
Das weiß die Datei und der Webserver ganz sicher nicht. Wenn Du ein CGI aufrufst, kann dieser Parameter ausgewertet werden, was dann zur Folge haben könnte, daß die abzurufende Datei geändert wird. Die Datei wird also dynamisch zur Laufzeit generiert, aber wenn der Server nicht weiß, was er machen soll, macht er nichts.
Viele Grüße...
Alex :)
Hallo Trinity,
(ist das eigentlich ein deutscher Vorname? *gg*)
das Senden von Dateien über den HTML-Browser geht mit
<form action="empaengerscript.php" name="xyz" method="post" encType="multipart/formdata>
<input type="file" name="datei1" ID="datei1">
<input type="submit" name="upload" value="wechdammitt">
</form>
Nun zum schwierigen Teil:
Je nach Server und Konfiguration wird das Verfahren umgesetzt.
Ich kann es Dir nur für eine LAMP-Conf erzählen (Linux-Apache-PHP-MySQL).
Die Datei wird in ein in Apaches httpd.conf voreingestelltes temp-Verzeichnis als echte temporärdatei geladen. Die Größe ist durch eine Variable (uplaod_max_filesize) serverseitig auf 2.000.000 Bytes begrenzt. Wenn das Empfängerscript endet, wird die temp-Datei automatisch gelöscht.
In der Servervariable
$datei1 wird der qualifizierte Pfad+Name der Temp-Datei zurückgegeben.
$datei1_name wird der originalname der Datei auf dem Client für den Server bereitgestellt
$datei1_size wird die tatsächliche Größe der Datei bereitgestellt
$datei1_type wird der MIMI-Type de Datei bereitgestellt.
Wenn man den Namen im Input-Tag ändert, ändern sich auch die
Variablennamen entsprechend.
Man muss dann im Empfängerscript die Datei NACH DER PRÜFUNG auf Viren, Scripte, Hintertüren in das Zielverzeichnis kopieren.
Grundregel: niemals ausführbare Dateien uploaden lassen.
Der WWWRUM muß die entsprechenden Verzeichnisrechte besitzen. Bitte keinesfalls rwx bei Others setzen!!!
Nach dem Kopiervorgang die Gruppe mit chgrp und die Rechte mit chmod sofort auf das kleinste mögliche Übel verstellen. Owner der Datei ist automatisch der wwwrun. Das macht man noch im PHP-Script.
Dann ist der Upload fertig.
Viel Spaß beim Hintertürenbauen. Ich komme dann mal auf der Page vorbei. OK?
Gruß
Tom