kostenloser Webspace werbefrei: lima-city


Profilbild Upload Script

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Hi !

    Ich habe hier ein Profilbild Upload Script:

    <?php
    error_reporting(E_ALL);
    if($_FILES['file']['type'] == 'image/jpg' OR $_FILES['file']['type'] == 'image/jpeg' OR $_FILES['file']['type'] == 'image/pjpeg')
    {
    $uploaddir = 'Bilder/user_Pics/';
    
    if($_FILES['file']['type'] == 'image/pjpeg')
    {
    $name = $_SESSION['user_nickname'].'.jpeg';
    }
    if($_FILES['file']['type'] == 'image/jpeg')
    {
    $name = $_SESSION['user_nickname'].'.jpeg';
    }
    if($_FILES['file']['type'] == 'image/jpg')
    {
    $name = $_SESSION['user_nickname'].'.jpg';
    }
    
    $Files = $_FILES['file']['tmp_name'];
    
    print '<pre>';
    if (move_uploaded_file($Files, $uploaddir . $name)) {
    if($insert = @mysql_query("UPDATE benutzerdaten SET Bild = 'Bilder/user_Pics/$name' WHERE Nickname like '".$_SESSION['user_nickname']."'"))
    
       echo "<p align='center'><br><br><br>Dein neues Bild wurde erfolgreich hochgeladen !<br><br>Beim nächsten Login wird das Bild automatisch &uuml;bernommen.<br><br><br></p>";
    }
    }
    else
    {
    echo '<p align="center"><br><br><br>Es d&uuml;rfen nur Bilddateien in den Formaten .jpeg und .jpg hochgeladen werden.<br><br><br></p>';
    }
    ?>


    Jetzt möchte ich gerne, dass die maximale Dateigröße 1 MB beträgt, und wenn das Bild drüber ist, ein Fehler ausgegeben wird.

    Wie mache ich das ?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. $_FILES["file"]["size"]


    Gibt dir die Größe der Datei aus. Damit einfach die Bedinung an entsprechender Stelle stellen.

    Edit Größe in KiB angeben. In deinem Fall also 1024.

    Beitrag zuletzt geändert: 5.3.2009 18:20:11 von gsts
  4. Das solltest du auch in deinem Formular angeben:
    <input type="hidden" name="MAX_FILE_SIZE" value="10000">


    Lies dir mal das durch:
    http://www.php.net/manual/de/features.file-upload.php

    Da steht eigentlich alles zum Thema Dateiuploads mit PHP drin.

    Grüße,
    Prog
  5. prog schrieb:
    Das solltest du auch in deinem Formular angeben:
    <input type="hidden" name="MAX_FILE_SIZE" value="10000">

    Warum? Das ist doch vollkommen unnötig und stellt im Gegenteil unter Umständen sogar eine Sicherheitslücke/Problem dar. Denn theoretisch lassen sich auch POST-Daten manipulieren und die maximale Dateigröße wird umgehbar.
    Einfach erst nach dem Hochladen mit $_FILES['val']['file_size'] nach der Größe zu sehen ist da wesentlich sinnvoller. Dann steht die Angabe nämlich fest im Script und gut ist.
  6. tct schrieb:
    Warum? Das ist doch vollkommen unnötig und stellt im Gegenteil unter Umständen sogar eine Sicherheitslücke/Problem dar. Denn theoretisch lassen sich auch POST-Daten manipulieren und die maximale Dateigröße wird umgehbar.
    Einfach erst nach dem Hochladen mit $_FILES['val']['file_size'] nach der Größe zu sehen ist da wesentlich sinnvoller. Dann steht die Angabe nämlich fest im Script und gut ist.


    Das ist mir schon klar. Deshalb habe ich ja "auch" geschrieben
    Das solltest du auch in deinem Formular angeben:


    Ich würde das Trotzdem zusätzlich machen, da das Bild sonst erst hochgeladen wird, und dann der User erst die Fehlermeldung bekommt. Mit max_file_size bekommt er sie sofort.

    Grüße,
    Prog
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!