beim upload ein size limit hinzufügen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • beim upload ein size limit hinzufügen

    Hallo!
    Kann mir bitte jemand sagen, wie ich in dem upload Script ein Size Limit für Dateien einbau? Danke.

    (Hab noch versucht den Script Farbig umzuwandeln - hab das aber nicht hinbekommen)

    <?
    // Bild klein
    $K_MB = 98; // breite
    $K_MH = 74; // höhe

    // Bild gross
    $G_MB = 330; // breite
    $G_MH = 248; // höhe

    if (!isset($abdiepost))
    {
    ?>
    <FORM ENCTYPE="multipart/form-data" ACTION="<?PRINT $PHP_SELF;?>" METHOD=POST>
    <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="70000">
    Bild von der Festplatte:
    <INPUT NAME="UPLOADPIC" TYPE="file"><br>
    Einsetzen an der Stelle
    <INPUT TYPE="TEXT" NAME="pic">
    (z.B.: 01, 02, 10,...)<br>
    <INPUT TYPE="submit" NAME="abdiepost" VALUE="Send File">
    </FORM>
    <?
    }
    else
    {

    $k_size = getimagesize ("$UPLOADPIC");
    $g_size = getimagesize ("$UPLOADPIC");

    $G_UPLOADPIC = "$UPLOADPIC";
    $K_UPLOADPIC = "$UPLOADPIC";

    // Schauen wir mal, ob wir das Bild verkleinen müssen
    // Zuerst ob die maximale Breite nicht überschritten wird

    // Verarbeitung kleines Bild
    if ($k_size[0] < $K_MB)
    {
    // Also die Breite passt, da müssen wir nix tun
    $K_NB = $k_size[0];
    $K_NH = $k_size[1];
    }
    else
    {
    // Jetzt ist also Handlungsbedarf
    // Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
    $ProportionFaktor = $k_size[0] / $K_MB;
    $K_NB = $K_MB;
    $K_NH = round($k_size[1] / $ProportionFaktor);
    }

    // Verarbeitung grosses Bild
    if ($g_size[0] < $G_MB)
    {
    // Also die Breite passt, da müssen wir nix tun
    $G_NB = $g_size[0];
    $G_NH = $g_size[1];
    }
    else
    {
    // Jetzt ist also Handlungsbedarf
    // Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
    $GProportionFaktor = $g_size[0] / $G_MB;
    $G_NB = $G_MB;
    $G_NH = round($g_size[1] / $GProportionFaktor);
    }

    // So das mit der Breite hätten wir, nun die Höhe

    // Verarbeitung kleines Bild
    if ($K_NH < $K_MH)
    {
    // Also die Hoehe passt, da müssen wir nix tun
    }
    else
    {
    // Jetzt ist also Handlungsbedarf
    // Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
    $ProportionFaktor = $K_NH / $K_MH;
    $K_NH = $K_MH;
    $K_NB = round($K_NB / $ProportionFaktor);
    }

    // Verarbeitung grosses Bild
    if ($G_NH < $G_MH)
    {
    // Also die Hoehe passt, da müssen wir nix tun
    }
    else
    {
    // Jetzt ist also Handlungsbedarf
    // Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
    $GProportionFaktor = $G_NH / $G_MH;
    $G_NH = $G_MH;
    $G_NB = round($G_NB / $GProportionFaktor);
    }

    // Und jetzt geht es munter weiter <img src="images/smilies/biggrin.gif" border="0" alt="">

    // Verarbeitung kleines Bild
    if ($k_size[0] == $K_NB && $k_size[1] == $K_NH)
    {
    $UPLOADPIC_name = "$pic-klein.jpg";
    // Da mußte das Bild nicht verkleinert werden
    copy ($K_UPLOADPIC, "images/klein/$UPLOADPIC_name");
    //echo "$pic-klein.jpg = pic<br>Das Bild mußte für die Vorschau nicht verkleinert werden. Es ist wahrscheinlich zu klein!<br><hr>";
    }
    else
    {
    $UPLOADPIC_name = "$pic-klein.jpg";
    // Hier wird PIC verkleinert und gespeichert
    $td=imageCreate($K_NB, $K_NH);
    $ts=imageCreateFromJPEG($K_UPLOADPIC);
    imagecopyresized($td, $ts, 0, 0, 0, 0, $K_NB, $K_NH, $k_size[0], $k_size[1]);
    imageJPEG($td,"images/klein/$UPLOADPIC_name");
    echo "$pic-klein.jpg = pic<br>Bild für Vorschau verkleinert..... ok<br><hr>";
    }


    // Verarbeitung grosses Bild
    if ($g_size[0] == $G_NB && $g_size[1] == $G_NH)
    {
    $UPLOADPIC_name = "$pic-gross.jpg";
    // Da mußte das Bild nicht verkleinert werden
    copy ($G_UPLOADPIC, "images/gross/$UPLOADPIC_name");
    echo "$pic-gross.jpg = pic<br>Das Bild hat die richtigen Maße..... ok";
    }
    else
    {
    $UPLOADPIC_name = "$pic-gross.jpg";
    // Hier wird PIC verkleinert und gespeichert
    $td1=imageCreate($G_NB, $G_NH);
    $ts1=imageCreateFromJPEG($G_UPLOADPIC);
    imagecopyresized($td1, $ts1, 0, 0, 0, 0, $G_NB, $G_NH, $g_size[0], $g_size[1]);
    imageJPEG($td1,"images/gross/$UPLOADPIC_name");
    echo "$pic-gross.jpg = pic<br>Bild für normale Ansicht verkleinert..... ok";
    }
    }
    ?>

  • #2
    Moin.

    Die zulässige Dateigröße bestimmst du mit dem maxlength - Attribut.
    Ungefähr so:

    Code:
    <input name="Datei" type="file" maxlength="100000" accept="text/*">
    Im obigen Beispiel darf die Datei nicht größer als 100000 Byte sein.

    OffTopic:
    So etwas findet man ganz schnell im SelfHTML!!!
    Zumal du ja schon das input-Feld hattest!!!

    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      Das kannst du mit dem Befehl filesize($datei)... herausfinden... die Ausgabe erfolgt in Byte

      Kommentar


      • #4
        Original geschrieben von XGremliN
        Die zulässige Dateigröße bestimmst du mit dem maxlength - Attribut.
        OffTopic:
        So etwas findet man ganz schnell im SelfHTML!!!
        Zumal du ja schon das input-Feld hattest!!!
        wenn du schon selfhtml zitierst, dann solltest du einen solch elementaren satz nicht weglassen:

        Beachten Sie jedoch, dass diese Angabe mit Vorsicht zu genießen ist. In der HTML-Version 3.2 wurde es so bestimmt, in der Version 4.0 wird diese Funktionalität beim maxlength-Attribut dagegen nicht mehr erwähnt. Verlassen Sie sich also nicht auf diese Angabe. Sicherer ist es, bei der Weiterverarbeitung mit einem CGI-Script im Script die Dateigröße zu ermitteln und das Script davon abhängig entscheiden zu lassen, ob die Datei akzeptiert oder verworfen wird.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Und wiedereinmal mein Lieblingsgrundprinzip: "Never trust incomming Data!" ...
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            maxlength="" - das ist zwar ganz nett, aber das funktioniert ja ziemlich selten. Ich habe das ausprobiert und es hat regelrecht nach Lust und Laune funktioniert.

            Kommentar


            • #7
              tja, dann also wie geschrieben mit dem filesize, oder direkt aus dem $_FILES-Array

              Kommentar

              Lädt...
              X