Datei upload

DragonMaster
Hallo,

ich wollt nen Datei upload script machen nur ich hab kein plan wo ich anfangen soll unglücklich
Naja also es sollte so aussehen das ich nen Formular hab mit "Name der Datei", "Namen des Uploaders", "Email des uploaders" und "Format der Datei" (wär net schlecht wenn man eins auswählen könnte (*.ace, *.rar usw.)). Diese Angaben sollten dann an meine email geschickt werden. (Könnten auch in die DB eingelesen werden aber dann brauch man noch ne Datei die des ausliehst)

So dann ne Zeile wo der Uploader die Datei auf seinem rechner suchen kann.
Diese Datei sollte dann auf meinem Webspace erscheinen.

Nur ich hab keinen Plan wie ich anfangen sollte. Ahja es is keine index.php vorhanden!

pls help me
GreenRover
also

code:
1:
<input type="file" name="datei[]" />


ist dir sicherlich schon bekannt.

Und das ganze am besten Schritt für Schritt auf zu ziehen, mache erstmal das Upload formular fertig.

Dann überleg dir, ob du die Datein in einer Datenbank oder auf dem lokalen Dateisystem abspeichern möchtest.

Dazu dann noch, ob eine Dateiendungsbeschränlkung möchtest oder nicht.

Falls du das Formular hast, Poste es.
DragonMaster
Also ich bin schon so weit:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
<br><br>
<form action="">
  <table border="0" cellpadding="0" cellspacing="4">
    <tr>
      <td align="right">Name der Datei:</td>
      <td><input name="vorname" type="text" size="30" maxlength="30"></td>
    </tr>
    <tr>
      <td align="right">Name des Uploaders:</td>
      <td><input name="zuname" type="text" size="30" maxlength="40"></td>
    </tr>
    <tr>
      <td align="right">Email des Uploaders:</td>
      <td><input name="zuname" type="text" size="30" maxlength="40"></td>
    </tr>
    <tr>
      <td align="right">Format der Datei:</td>
      <td><input name="zuname" type="text" size="30" maxlength="40"></td>
    </tr>
    <tr>
      <td align="right">W&auml;hlen sie eine Datei von Ihrem Rechner aus:</td>
      <td><input name="Datei" type="file" size="50" maxlength="100000" accept="text/*"> </td>
    </tr>
  </table>
</form>


zu den Fragen:
auf dem lokalen Dateisystem,
ne
GreenRover
OK, dann mach noch:

code:
1:
<form enctype="multipart/form-data" action="">


sonst geht es nicht.

Naja aber gut, das du das mit dem maxlengh gefunden hast, das kennen die meisten NICHT.

Dann erstellst du dir einen Ordner mit den Rechten 777, damit du in ihn auch Daten rein kopieren kannst (die hochgeladenen Datein).

dann kannst du einfach mit

move_uploaded_file( von, nach);

die Datei aus dem TMP Ordner, in dem sie hochgeladen wird, in den eigentlichen Zielordner kopieren.

also z.b. so:
php:
1:
2:
<?php $datei_name="files/".time(). $_FILES['Datei']['name'];
move_uploaded_file$_FILES['Datei']['tmp_name'], $datei_name); ?>


so das du mit time() dafür sorgst, das der dateiname nie doppelt sein kann. Kommt halt auf dein Anwendungsgebiet an.

und dann dne ganzen Datensatz normal in die Datenbank schreiben wobei du bei Datei einfach $datei_name abspeichers.

Hier noch etwas zu der Superglobalen $_FILES
http://php.benscom.com/manual/de/reserve...variables.files
DragonMaster
des check ich jetzt net was soll ich machen?? verwirrt verwirrt
GreenRover
also erstmal das form mit dem multipart noch ändern.


Und hast du eien ahnung von MySQL und hast du eien MySQL DB zur verfügung ?
DragonMaster
also
1. wo soll ich des noch einfügen?
2. ein bissl schon, ich hab eine ja
GreenRover
Leis nochmal meinen vorletzten Post durch, das erste code element.
DragonMaster
is schon klar welcher aber nur an welche stelle genau im code
GreenRover
Man du hast doch bei dir auch ein form TAG!!!!


php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
<br><br>
<form enctype="multipart/form-data" action="">
  <table border="0" cellpadding="0" cellspacing="4">
    <tr>
      <td align="right">Name der Datei:</td>
      <td><input name="vorname" type="text" size="30" maxlength="30"></td>
    </tr>
    <tr>
      <td align="right">Name des Uploaders:</td>
      <td><input name="zuname" type="text" size="30" maxlength="40"></td>
    </tr>
    <tr>
      <td align="right">Email des Uploaders:</td>
      <td><input name="zuname" type="text" size="30" maxlength="40"></td>
    </tr>
    <tr>
      <td align="right">Format der Datei:</td>
      <td><input name="zuname" type="text" size="30" maxlength="40"></td>
    </tr>
    <tr>
      <td align="right">W&auml;hlen sie eine Datei von Ihrem Rechner aus:</td>
      <td><input name="Datei" type="file" size="50" maxlength="100000" accept="text/*"> </td>
    </tr>
  </table>
</form>
<?PHP print_r($_FILES); ?>
DragonMaster
ähm ja ich hab den ordner erstellt und meine datei angepasst und was soll ich jetzt machen?
GreenRover
für es mal aus und gucke dir die asgabe an, du hast ja das print_r($_FILES); sicher bemerkt?!
DragonMaster
ja bei mir komm dann in der adresse http://localhost/test/?namedatei=lol&nam...ol&Datei=11.JPG raus und dann unten steht nur Array()
GreenRover
joa, mehtode muss auch noch POSt sein im form, über gett lassen sich keien datein übertragen.
DragonMaster
so und was jetzt?
GreenRover
joa hast du dir die ausgabe mal angesehen?

Und uach shcon eine passende SQL tabelle erstellt? (also eien mit allen FORM feldern + id ?)
DragonMaster
oh sry des hab ich ja verschwitzt also mal überlegen verwirrt verwirrt
DragonMaster
so habs erstellt what nun?
GreenRover
OK, sobald du in deinem Formular noch einen submitt buttem drinn hast, kann man mit dem PHP anfangen Zunge raus


Was das
php:
1:
2:
<?php $datei_name="files/".time(). $_FILES['Datei']['name'];
move_uploaded_file$_FILES['Datei']['tmp_name'], $datei_name); ?>


macht, ist dir klar?

Und die Ausgabe des print_r($_FILES); hast du dir auch schon angeguckt??
DragonMaster
ähm ich check gerad nix

wie soll der code aussehen ich hab nur fehler im code