Uploadscript

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hi!
    Ich suche eine Möglichkeit eine Datei upzuloaden.
    Es soll auch überprüft werden wir groß die Datei ist und was für eine Datei hochgeladen wird, sodass man gff. nur bestimmte Dateien und Dateigrößen zulassen kann.
    Wie ich ne IP-Sperre mache is mir klar, dass muss nicht rein.
    Aber von Uploaden per PHP ahbe keien Ahnung, kann mir da wer helfen?
    mfg
    Acetous
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.
  • Beziehe mich auf...

    Beispiel:

    Quellcode

    1. <html>
    2. <head> <title>Upload Script by Torben Brodt</title> </head>
    3. <body>
    4. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
    5. <input type="file" name="datei" />
    6. <input type="submit" value="Datei hochladen" />
    7. </form>
    8. <?php
    9. if (isset($_FILES['datei']) and ! $_FILES['datei']['error'])
    10. {
    11. $filename = $_FILES['datei']['name'];
    12. move_uploaded_file($_FILES['datei']['tmp_name'], $dir."/".$filename);
    13. echo "<b>Status:</b> Upload komplett";
    14. } else {
    15. echo "<b>Status:</b> Fehler beim Upload";
    16. }
    17. ?>
    18. </body>
    19. </html>
    Alles anzeigen



    Erweiterte Abfragen:

    Quellcode

    1. <?php
    2. if ($_FILES['datei']['error'])
    3. {
    4. $error .= "<li>Allgemeiner Fehler</li>";
    5. }
    6. if ($_FILES['datei']['size'] > 10240)
    7. {
    8. $error .= "<li>Datei zu größ</li>";
    9. }
    10. if ($_FILES['datei']['filetype'] != "image/gif")
    11. {
    12. $error .= "<li>Faslches Dateiformat</li>";
    13. }
    14. if(isset($error))
    15. {
    16. echo $error;
    17. } else {
    18. $filename = $_FILES['datei']['name'];
    19. move_uploaded_file($_FILES['datei']['tmp_name'], $dir."/".$filename);
    20. }
    21. ?>
    Alles anzeigen
  • Dazu gibt es 3 Dinge, die man wissen sollte:
    1. Die Verwirklichung in HTML. Man sollte wissen, wie man in HTML eine Datei abschicken kann.
    2. Man sollte die Funktion move_uploaded_file kennen
    3. Man sollte die Superglobale $_FILES kennen
    Das ist eigentlich schon alles. Und hier wird das ganze auch noch erklärt:
    <a href='http://de.php.net/manual/de/features.file-upload.php' target='_blank'>http://de.php.net/manual/de/features.file-upload.php</a>
  • folgendes Problem:
    Hab das erste Script mal ausprobiert, es funktioniert bei mir nicht...
    Wenn ich in ein bestimmtes Verzeichniss uploaden will, was muss ich dazu am Code ändern?
    Ich denke mal diese Zeile:

    Quellcode

    1.    move_uploaded_file($_FILES['datei']['tmp_name'], $dir."/".$filename);

    Aber wie lade ich z.B. in das Verzeichniss "/uploader/uploads/" hoch, wenn die upload.php unter "/uploader/upload.php" zu finden ist?
    btw ich ahbe die CHMAD Rechte auf 777 für das Uploadverz gesetzt.. daran liegts nicht :D
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.
  • :D
    das habe ich aber auch schonmal ausprobiert, da ich mich an der Stelle schon gewundert hatte... :blink:
    ma sehen, ob jetzt läuft! ;)
    €: hab rgad ne Datei erfolgreich hochgeladen! thx ;)
    jetzt kann ich mir nen uploader basteln :lol:
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.
  • Wieos will das nicht funktionieren???

    Quellcode

    1. <b>Upload</b>
    2. <?php
    3. if ($_POST['step'] == "upload")
    4. {
    5. if ($_FILES['datei']['error'])
    6. {
    7. $error = "<p>Folgende(r) Fehler ist aufgetreten:</p>";
    8. $error .= "<li>Allgemeiner Fehler</li>";
    9. }
    10. if ($_FILES['datei']['size'] > 1000000)
    11. {
    12. $error = "<p>Folgende(r) Fehler ist aufgetreten:</p>";
    13. $error .= "<li>Datei zu groß</li>";
    14. }
    15. /* if ($_FILES['datei']['filetype'] != "image/gif")
    16. {
    17. $error = "<p>Folgende(r) Fehler ist aufgetreten:</p>";
    18. $error .= "<li>Falsches Dateiformat</li>";
    19. } */
    20. if(isset($error))
    21. {
    22. echo $error;
    23. }
    24. else
    25. {
    26. $dir = 'uploads';
    27. $filename = $_FILES['datei']['name'];
    28. move_uploaded_file($_FILES['datei']['tmp_name'], $dir."/".$filename);
    29. print"<p>Upload erfolgreich!</p>";
    30. }
    31. }
    32. else
    33. {
    34. print'<p>Datei wählen:</p>
    35. <form action="index.php?action=upload" method="post" enctype="multipart/form-data">
    36. <input type="file" name="datei">
    37. <input type="hidden" name="step" value="upload"><br><br>
    38. <input type="submit" value="Datei hochladen">
    39. </form>
    40. ';
    41. }
    42. ?>
    Alles anzeigen
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.
  • Problem:
    Wenn ich Dateien hochlade sind die Rechte der Datei immer auf "700" gesetzt, was sie nicht sein sollen...
    wie kann ich das lösen?
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.
  • ich kenen die php-doku leider net auswendig ^^

    Quellcode

    1. if ($_FILES['datei']['filetype'] != "image/jpeg")
    2. {
    3. $error = "<p>Folgende(r) Fehler ist aufgetreten:</p>";
    4. $error .= "<li>Falsches Dateiformat</li>";
    5. }


    wenn ich den code einbaue nimmt er gar keine dateien mehr...
    was is daran aber falsch???
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.
  • mach doch mal ein

    Quellcode

    1. if ($_FILES['datei']['filetype'] != "image/jpeg")
    2. {
    3. $error = "<p>Folgende(r) Fehler ist aufgetreten:</p>";
    4. $error .= "<li>Falsches Dateiformat</li>";
    5. $error .= $_FILES['datei']['filetype'][CODE].' ist falsch';
    6. }


    dann sehen wir den wert der variable..

    warum erlaubst du nur JPG

    was hältst du von


    Quellcode

    1. if (!eregi('image/',$_FILES['datei']['filetype']) { error...
  • das einzige problematische am uploadscript ist, dass sich die dateien unter umständen nicht mehr per FTP löschen..

    da hilft dann
    a) ein php script
    b) chown


    was muss ich denn als user bei chown() angeben? ich hab kein plan.. o0
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.