You are not logged in.

wcf.regNote.message

langbein

Beginner

  • "langbein" started this thread

Posts: 1

Location: Mecklenburg/ jetzt in NRW

  • Send private message

1

Thursday, March 10th 2005, 10:43am

upload über ein Formular

Hallo zusammen
Ich habe hier im Forum schon nach Antworten auf meine Fragen gesucht, aber nicht wirklich verstanden was da steht. Vielleicht könnt Ihr mir ja trotzdem helfen.

meine Situatuion:

Es ist so, mein Formular funktioniert eigendlich sehr gut mit einem danke.php, aber dieses danke.php habe ich mir freeware runtergeladen und dann nur auf meine Bedürfnisse angepasst. Es hat tierisch lange gedauert bis ich wusste was ich umschreiben musste, denn ich verstehe nicht wirklich viel von php.

Ich möchte jetzt gerne in mein vorhandenes Formular ein upload zur verfügung stellen, wo denn der Anhang beim Empfänger in der Email ist.
Leider weiß ich nicht wie man das macht und ob das überhaupt geht.

hier ist mal eine Ansicht vom Formular wie ich es gerne hätte.
http://www.wenske.nl/formular.jpg

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

2

Friday, March 11th 2005, 9:10am

Hey,

Des geht schon :). Es geht halt nur bis zu einer bestimmten Größe, die hängt vom Provider des Webspaces ab. Aber ansonsten gehts ganz gut :).

Als zunächst musst du deinem Formular noch ein

Source code

1
2
3
enctype="multipart/form-data"
z.B. so:
<form enctype="multipart/form-data" action="_URL_" method="post">

mitgeben. Das ist damit der Browser weiß des da mehrere Teile mitgeschickt werden. Einmal die Formulardaten und einmal eine Datei.

Dann musst du in deinem Forumlar noch ein hidden Input machen mit dem du die max. Grösse bestimmen kannst (geht nicht grösser als der Provider dies für PHP definiert hat). Der Name MUSS MAX_FILE_SIZE sein! Und die Value legt die max. Grösse in Byte fest.

Source code

1
<input type="hidden" name="MAX_FILE_SIZE" value="30000">


Und dann brauchst du natürlich auch noch ein Input für die Datei ansich.
Das input muss vom type="file" sein siehe:

Source code

1
<input name="userfile" type="file">

beachte bitte den Namen "userfile" der wird nachher noch auftauchen und den kannst du selber setzen. Muss aber dann überall da, wo hier userfile steht, so heissen wie du das Input genannt hast.


Das war der Forumlar teil. Jetzt zum PHP Teil.

In deinem PHP Script hast du dann, wenn eine Datei hochgeladen wurde ein Array mit Daten zu der Datei zur Verfügung.

$_FILES

Am besten einfach überprüfen ob es einmal gesetzt ist, ein Array ist und die Anzahl der Einträg in dem Array grösser 0 sind.
Also so:

PHP Source code

1
2
3
4
5
6
7
8
if(
     isset($_FILES)  // überprüfen ob gesetzt
     && is_array($_FILES)  // und ( && ) überprüfen ob es ein Array ist
     && count($_FILES) > 0  // und überprüfen ob die Anzahl grösser 0
    ) {
   // Es wurde eine Datei hochgeladen also diese Datei bearbeiten.

}


Um mit der Datei arbeiten zu können, musst du sie erstmal an einen sicheren Ort legen, da sie nach dem Upload erst mal in ein Tempverzeichnis geladen wurde. Dies kannst du mit "move_uploaded_file" machen.

PHP Source code

1
move_uploaded_file($_FILES['userfile']['tmp_name'], "/mein/eigenes/upload/verzeichnis/" $_FILES['userfile']['name']);


Das $_FILES Array schaut folgender Maßen aus:

Quoted

Original von PHP.Net:

Der ursprüngliche Dateiname auf der Client Maschine.
$_FILES['userfile']['name']

Der Mime-Type der Datei, falls der Browser diese Information zur Verfügung gestellt hat. Ein Beispiel wäre "image/gif".
$_FILES['userfile']['type']

Die Größe der hochgeladenen Datei in Bytes.
$_FILES['userfile']['size']

Der temporäre Dateiname, unter dem die hochgeladene Datei auf dem Server gespeichert wurde.
$_FILES['userfile']['tmp_name']

Der Fehlercode im Zusammenhang mit dem hochladen der Datei. ['error'] wurde in PHP 4.2.0 eingeführt.
$_FILES['userfile']['error']



So und was du dann weiter mit deiner Datei machst ist dann ein anderes Thema :)

So noch ein paar Docu angaben ;):
Nochmal eine Beschreibung für das was ich gerade beschrieben habe, nur ausführlicher
Move_Uploaded_File Funktionsbeschreibung

Hoffe ich konnte dir helfen! Und bei weitern Fragen, frag! :)

Ciao Ephraim

wcf.user.socialbookmarks.titel