PHP Uploadscript

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

  • PHP Uploadscript

    Hallo!

    Ich besitze ein PHP Uploadscript, welches auch sehr gut funktioniert. Das Problem: Man kann Daten überschreiben. Wie prüfe ich also, ob eine Datei existiert? Wenn ja: Weiterleiten auf eine Fehlerseite - Wenn nein: Ganz normal hochladen und auf eine "Erfolgreich hochgeladen" Webseite weiterleiten.

    Hier der Code:
    phpupload.php:

    PHP-Quellcode

    1. <?php
    2. $uploaddir="download/";
    3. $uploadfile =basename($_FILES['nimage1']['name']);
    4. $filename = basename($_FILES['nimage1']['name']);
    5. if (move_uploaded_file($_FILES['nimage1']['tmp_name'], "$uploaddir/
    6. $uploadfile"))
    7. {
    8. //Upload erfolgreich;
    9. $msg = success;
    10. }else{
    11. //Upload fehlgeschlagen;
    12. $msg = faild;
    13. }
    14. header("location: success.html");
    15. exit;
    16. ?>
    Alles anzeigen



    upload.hmtl

    HTML-Quellcode

    1. <form name="addnews" enctype="multipart/form-data" method="post" action="phpupload.php">
    2. <table style="width: 392px; text-align: left; margin-left: auto; margin-right: auto; font-family: Helvetica,Arial,sans-serif;" border="0" cellpadding="0" cellspacing="0">
    3. <tbody>
    4. <tr>
    5. <td><span style="font-weight: bold;">W&auml;hle
    6. eine Datei zum Uploaden aus!</span><br>
    7. <small>Beachte: Es existiert eine maximale
    8. Dateigr&ouml;&szlig;e.</small> </td>
    9. </tr>
    10. <tr>
    11. <td><input name="MAX_FILE_SIZE2" value="500000" type="hidden"> <input name="nimage1" size="60" style="font-family: Arial; font-size: 12px;" type="file"></td>
    12. </tr>
    13. <tr align="right">
    14. <td> <input name="submit" value=" Hochladen " class="button" type="submit"> </td>
    15. </tr>
    16. <tr align="center">
    17. <td><small style="color: rgb(255, 255, 255);"><small><big style="font-weight: bold; color: rgb(255, 0, 0);"><big>!</big></big>
    18. Der Upload setzt voraus, dass du unsere Nutzungsbestimmungen
    19. akzeptierst! </small></small><small style="color: rgb(255, 0, 0);"><small><big style="font-weight: bold;"><big>!</big></big></small></small></td>
    20. </tr>
    21. </tbody>
    22. </table>
    23. </form>
    Alles anzeigen



    VORWEG: Ich bin nicht sonderlich gut in sowas :(
    PHP, HTML und CSS bringen deine Webseite weit
    - aber ohne SEO, Conversion und Usability bist du nichts!
    Weitere Informationen gibt's im Webdev-Forum!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Evian ()

  • PHP-Quellcode

    1. <?php
    2. $uploaddir="download/";
    3. $uploadfile =basename($_FILES['nimage1']['name']);
    4. $filename = basename($_FILES['nimage1']['name']);
    5. if(file_exists($filename)){
    6. if (move_uploaded_file($_FILES['nimage1']['tmp_name'], "$uploaddir/
    7. $uploadfile"))
    8. {
    9. //Upload erfolgreich;
    10. $msg = success;
    11. }else{
    12. //Upload fehlgeschlagen;
    13. $msg = faild;
    14. }
    15. header("location: success.html");
    16. exit;}
    17. ?>
    Alles anzeigen



    Sollte so richtig sein, übernehme keine Garantie da ich es nicht getestet habe.

    Greetz,
    Mythen
  • probier mal so:

    PHP-Quellcode

    1. <?php
    2. $uploaddir="download/";
    3. $filename = $_FILES['nimage1']['name'];
    4. $filePath = $uploaddir . $filename;
    5. $success = false;
    6. if(!file_exists($filepath) {
    7. $success = move_uploaded_file($_FILES['nimage1']['tmp_name'], $newPath);
    8. }
    9. if ($success) {
    10. //Upload erfolgreich;
    11. $msg = success;
    12. } else {
    13. //Upload fehlgeschlagen;
    14. $msg = faild;
    15. }
    16. header("location: success.html");
    17. exit;
    18. ?>
    Alles anzeigen
  • Oh, vielen dank, habs aber in der Nacht noch selbst geschafft. Ergebnis:

    HTML-Quellcode

    1. <form enctype="multipart/form-data" action="phpupload.php" method="post">
    2. <input name="datei" type="file"/>
    3. <input type="submit" value="Datei hochladen"/>
    4. </form>


    PHP-Quellcode

    1. <?php
    2. $upload_verzeichnis = 'download/';
    3. # Name für Upload-Element im Formular heißt 'datei'
    4. if (isset($_FILES['datei']['name'])) {
    5. $dateiname = $_FILES['datei']['name'];
    6. # WICHTIG: Prüfen, ob Datei schon existiert, um Überschreiben zu verhindern!
    7. if (file_exists("$upload_verzeichnis/$dateiname")) {
    8. header("location: failed.html");
    9. } else {
    10. if (move_uploaded_file($_FILES['datei']['tmp_name'],
    11. "$upload_verzeichnis/$dateiname")) {
    12. header("location: success.html");
    13. } else {
    14. header("location: index.html");
    15. }
    16. }
    17. }
    18. ?>
    Alles anzeigen
    PHP, HTML und CSS bringen deine Webseite weit
    - aber ohne SEO, Conversion und Usability bist du nichts!
    Weitere Informationen gibt's im Webdev-Forum!