kostenloser Webspace werbefrei: lima-city


Upload script

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    c******h

    Hallo,

    also ich suche ein Upload script, dass nur das Hochladen von .gif. jpg Dateien erlaubt, diese m?ssen aber kleiner also 100 kb sein und sie sollten nicht gro?er also 100 *100 Pixel gro? sein.
    Au?erdem sollten die Bilder automatisch umbenannt werden.

    Danke F?r Hilfe!

    ciao


    Chefkoch
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. theuntouchables

    theuntouchables hat kostenlosen Webspace.

    Ich mach dir mal eins, weil mir gerade langweilig ist...

    PS: Kann bis morgen mittag dauern...


    Edit:
    So ging doch etwas schneller als gedacht, war nicht so kompliziert wir ich es mir vorgestellt hatte.

    Edit2:
    Da (der ;-) Chefkock die Dateinamen verschl?sselt haben wollte, werden sie nun md5 verschl?sselt...

    Da das script einen bug hatte habe ich es schnell gel?scht... :biggrin:

    * Der Pfad muss von der datei aus angegeben werden und am Ende ein / haben, falls die datein im selben ordner gespeichert werden sollen, in dem die datei liegt, leer lassen.
    Beispiel:
    Pfad der Upload Datei:
    http://theuntouchables.xardas.lima-city.de/Daten/Bilder

    Pfad in dem die Bilder sp?ter gespeichert werden sollen:
    http://theuntouchables.xardas.lima-city.de/Daten/Bilder/Avatare

    $path m?sste dann Avatare/ hei?en.

    Bei unklarheiten bitte schreiben
  4. Autor dieses Themas

    c******h

    Hallo,

    es gibt einen Fehler bei dem Script:

    Alle Bilder die hochgeladen werden, haben den selben Namen, so ?berspeichern sie immer das letzte bild!
    K?nntest du dass bitte beheben, thx!
    Falls es nicht geht, ist es auch gut, wenn die bilder durchnummerriert werden.


    ciao


    Chefkoch
  5. theuntouchables

    theuntouchables hat kostenlosen Webspace.

    So ich komme gerade ausm kurzurlaub zur?ck...
    Ich k?mmer mich mal drum...

    Edit:
    Ich habe den fehler gefunden...
    also hier ist nun das hoffentlich bugfreie script...

    <?php
    $filesize = "102400";
    $sizeabfrage = "yes";

    $extend = "jpg|gif";
    $extending = "yes";

    $width = "100";
    $height = "100";
    $bulk = "no";

    $path = "";
    ?>

    <html>
    <head>
    <title>UPLOAD</title>
    </head>
    <body bgcolor=#ffffff text=#000000 link=#FF0000 alink=#FF0000 vlink=#FF0000>
    <font face=arial size=2>

    <?php

    $fehler = FALSE;
    if($senden)
    {
    $fehler = FALSE;

    if ($file_name == "")
    {
    echo "<BR><font color=#FF0000><b>Es wurden keine Datein ausgew?hlt!</b></font>";
    $fehler = TRUE;
    }

    if (!$fehler)
    if ($sizeabfrage == "yes")
    {

    if ($file_size > $filesize)
    {
    echo "<BR><font color=#FF0000><b>Die Datei $file_name ist zu gro?!</b></font>";
    $fehler = TRUE;
    }

    }

    if (!$fehler)
    if ($extending == "yes")
    {

    if (!eregi($extend, $file_name))
    {
    $typ = substr($file_name, -4, 4);
    echo "<BR><font color=#FF0000><b>Der Dateityp $typ ist nicht erlaubt!</b></font>";
    $fehler = TRUE;
    }

    }

    if (!$fehler)
    {

    $filename = $file_name;

    $typ = substr($file_name,-4);
    $strlen = strlen($file_name);
    $file_name = substr($file_name,0,$strlen-4);
    $file_name = md5($file_name);
    $file_name = $file_name.$typ;

    if (copy($file,$path.$file_name))
    {

    if ($bulk == "yes")
    {

    $imagesize = getimagesize($file_name);
    if ($imagesize[0] > $width)
    {
    echo "<BR><font color=#FF0000><b>Die Datei $filename ist zu breit!</b></font>";
    unlink($file_name);
    $fehler = TRUE;
    }
    elseif ($imagesize[1] > $height)
    {
    echo "<BR><font color=#FF0000><b>Die Datei $filename ist zu hoch!</b></font>";
    unlink($file_name);
    $fehler = TRUE;
    }
    else
    {
    echo "<BR><font color=#00FF00><b>Datei <font color=#0000FF>$filename</font> hochgeladen.</b></font>";
    $fehler = FALSE;
    }

    }
    else
    {
    echo "<BR><font color=#00FF00><b>Datei <font color=#0000FF>$filename</font> hochgeladen.</b></font>";
    $fehler = FALSE;
    }

    }
    else
    {
    echo "<BR><font color=#FF0000><b>Datei $file_name nicht hochgeladen!</b></font>";
    $fehler = TRUE;
    }

    }

    }



    //Eingabe Fenster

    if ($fehler || !$senden)
    {

    echo '<form action="'.$PHP_SELF.'" method="post" enctype="multipart/form-data">
    <table>
    <BR>
    <b>Bitte Datei ausw?hlen:</b>';

    echo '<BR>';

    if ($sizeabfrage == "yes")
    {
    $size = $filesize/1024;
    echo ("Maximale Gr??e: $size KB");
    echo '<BR>';
    }

    if ($extending == "yes")
    {
    echo ("Erlaubte Dateitypen: ".$extend);
    echo '<BR>';
    }

    if ($bulk == "yes")
    {
    echo ("Maximale H?he x Breite: ".$height."x".$width." Pixel");
    echo '<BR>';
    }

    echo '<BR>';
    echo '<tr><td>
    <input type="file" size="30" name="file">
    </td></tr>
    </table>
    <input type="Submit" name="senden" value="Hochladen">
    </form>';

    }

    ?>
  6. theuntouchables

    theuntouchables hat kostenlosen Webspace.

    Nochwas:
    Wenn du zwei dateien mit dem gleichen namen hochl?dst wird die erste ?berschrieben...

    Edit:
    Also da nun keine dateien mehr ?berschrieben werden sollen, auch wenn sie den gleichen namen haben...

    <?php
    $filesize = "102400";
    $sizeabfrage = "yes";

    $extend = "jpg|gif";
    $extending = "yes";

    $width = "100";
    $height = "100";
    $bulk = "no";

    $path = "";
    ?>

    <html>
    <head>
    <title>UPLOAD</title>
    </head>
    <body bgcolor=#ffffff text=#000000 link=#FF0000 alink=#FF0000 vlink=#FF0000>
    <font face=arial size=2>

    <?php

    $fehler = FALSE;
    if($senden)
    {
    $fehler = FALSE;

    if ($file_name == "")
    {
    echo "<BR><font color=#FF0000><b>Es wurden keine Datein ausgew?hlt!</b></font>";
    $fehler = TRUE;
    }

    if (!$fehler)
    if ($sizeabfrage == "yes")
    {

    if ($file_size > $filesize)
    {
    echo "<BR><font color=#FF0000><b>Die Datei $file_name ist zu gro?!</b></font>";
    $fehler = TRUE;
    }

    }

    if (!$fehler)
    if ($extending == "yes")
    {

    if (!eregi($extend, $file_name))
    {
    $typ = substr($file_name, -4, 4);
    echo "<BR><font color=#FF0000><b>Der Dateityp $typ ist nicht erlaubt!</b></font>";
    $fehler = TRUE;
    }

    }

    if (!$fehler)
    {

    $filename = $file_name;

    $typ = substr($file_name,-4);
    $strlen = strlen($file_name);
    $file_name = substr($file_name,0,$strlen-4);
    $file_name = md5($file_name);
    $file_name = $file_name.$typ;

    $num = "0";
    while(file_exists($file_name))
    {

    $file_name = $filename;

    $typ = substr($file_name,-4);
    $strlen = strlen($file_name);
    $file_name = substr($file_name,0,$strlen-4);
    $file_name = $filename.$num;
    $file_name = md5($file_name);
    $file_name = $file_name.$typ;

    $num++;

    }

    if (copy($file,$path.$file_name))
    {

    if ($bulk == "yes")
    {

    $imagesize = getimagesize($file_name);
    if ($imagesize[0] > $width)
    {
    echo "<BR><font color=#FF0000><b>Die Datei $filename ist zu breit!</b></font>";
    unlink($file_name);
    $fehler = TRUE;
    }
    elseif ($imagesize[1] > $height)
    {
    echo "<BR><font color=#FF0000><b>Die Datei $filename ist zu hoch!</b></font>";
    unlink($file_name);
    $fehler = TRUE;
    }
    else
    {
    echo "<BR><font color=#00FF00><b>Datei <font color=#0000FF>$filename</font> hochgeladen.</b></font>";
    $fehler = FALSE;
    }

    }
    else
    {
    echo "<BR><font color=#00FF00><b>Datei <font color=#0000FF>$filename</font> hochgeladen.</b></font>";
    $fehler = FALSE;
    }

    }
    else
    {
    echo "<BR><font color=#FF0000><b>Datei $file_name nicht hochgeladen!</b></font>";
    $fehler = TRUE;
    }

    }

    }



    //Eingabe Fenster

    if ($fehler || !$senden)
    {

    echo '<form action="'.$PHP_SELF.'" method="post" enctype="multipart/form-data">
    <table>
    <BR>
    <b>Bitte Datei ausw?hlen:</b>';

    echo '<BR>';

    if ($sizeabfrage == "yes")
    {
    $size = $filesize/1024;
    echo ("Maximale Gr??e: $size KB");
    echo '<BR>';
    }

    if ($extending == "yes")
    {
    echo ("Erlaubte Dateitypen: ".$extend);
    echo '<BR>';
    }

    if ($bulk == "yes")
    {
    echo ("Maximale H?he x Breite: ".$height."x".$width." Pixel");
    echo '<BR>';
    }

    echo '<BR>';
    echo '<tr><td>
    <input type="file" size="30" name="file">
    </td></tr>
    </table>
    <input type="Submit" name="senden" value="Hochladen">
    </form>';

    }

    ?>
  7. @theuntouchables
    Dein Script ist wirklich gut, aber noch nicht ganz fehlerfrei. So kann man doch ganz einfach verhindern, dass vorhandene Datein ?berschrieben werden (file_exists()) und bei Dateiendungen, die mehr als drei Zeichen lang sind (z.B. .pspimage), werden nur die letzten vier angezeigt.
    Ich hab das Script deshalb nochmal ein kleinwenig ?berarbeitet, ich hoffe du hast nichts dagegen, sonst musst du meinen Beitrag eben l?schen.
    Hier mal "meine" Version:

    <?php
    $filesize = "102400";
    $sizeabfrage = "yes";

    $extend = "jpg|gif";
    $extending = "yes";

    $width = "100";
    $height = "100";
    $bulk = "yes";

    $path = "";
    ?>

    <html>
    <head>
    <title>UPLOAD</title>
    </head>
    <body bgcolor=#ffffff text=#000000 link=#FF0000 alink=#FF0000 vlink=#FF0000>
    <font face=arial size=2>

    <?php

    $fehler = FALSE;
    if(isset($_POST['senden']))
    {
    $fehler = FALSE;
    if ($file_name == "")
    {
    echo "<BR><font color=#FF0000><b>Es wurden keine Datei ausgew?hlt!</b></font>";
    $fehler = TRUE;
    }

    if(!$fehler)
    if ($sizeabfrage == "yes")
    {
    if ($file_size > $filesize)
    {
    echo "<BR><font color=#FF0000><b>Die Datei $file_name ist zu gro?!</b></font>";
    $fehler = TRUE;
    }
    }

    if(!$fehler)
    if ($extending == "yes")
    {
    $typ = substr(strrchr($file_name,"."),0);
    if (!eregi($extend, $typ))
    {
    echo "<BR><font color=#FF0000><b>Der Dateityp $typ ist nicht erlaubt!</b></font>";
    $fehler = TRUE;
    }
    }

    if (!$fehler)
    {
    $filename = $file_name;
    $typ = substr(strrchr($file_name,"."),0);
    $strlen = strlen($file_name);
    $file_name = substr($file_name,0,$strlen-$typ);
    $file_name = md5($file_name);
    $file_name = $file_name.$typ;
    if(file_exists($file_name))
    {
    echo "<BR><font color=#FF0000><b>Datei <font color=#0000FF>$filename</font> existiert schon!</b></font>";
    $fehler = TRUE;
    }
    if (!$fehler && copy($file,$path.$file_name))
    {
    if ($bulk == "yes")
    {
    $imagesize = getimagesize($file_name);
    if ($imagesize[0] > $width)
    {
    echo "<BR><font color=#FF0000><b>Die Datei $filename ist zu breit!</b></font>";
    unlink($file_name);
    $fehler = TRUE;
    }
    elseif ($imagesize[1] > $height)
    {
    echo "<BR><font color=#FF0000><b>Die Datei $filename ist zu hoch!</b></font>";
    unlink($file_name);
    $fehler = TRUE;
    }
    else
    {
    echo "<BR><font color=#00FF00><b>Datei <font color=#0000FF>$filename</font> hochgeladen.</b></font>";
    $fehler = FALSE;
    }
    }
    else
    {
    echo "<BR><font color=#00FF00><b>Datei <font color=#0000FF>$filename</font> hochgeladen.</b></font>";
    $fehler = FALSE;
    }
    }
    else
    {
    echo "<BR><font color=#FF0000><b>Datei $filename nicht hochgeladen!</b></font>";
    $fehler = TRUE;
    }
    }
    }



    //Eingabe Fenster

    if ($fehler || !isset($_POST['senden']))
    {
    echo '<form action="'.$PHP_SELF.'" method="post" enctype="multipart/form-data">
    <table>
    <BR>
    <b>Bitte Datei ausw?hlen:</b>';
    echo '<BR>';
    if ($sizeabfrage == "yes")
    {
    $size = $filesize/1024;
    echo ("Maximale Gr??e: $size KB");
    echo '<BR>';
    }
    if ($extending == "yes")
    {
    echo ("Erlaubte Dateitypen: ".$extend);
    echo '<BR>';
    }
    if ($bulk == "yes")
    {
    echo ("Maximale H?he x Breite: ".$height."x".$width." Pixel");
    echo '<BR>';
    }
    echo '<BR>';
    echo '<tr><td>
    <input type="file" size="30" name="file">
    </td></tr>
    </table>
    <input type="Submit" name="senden" value="Hochladen">
    </form>';
    }

    ?>

    Edit: Wie ich grade sehe hast du deins auch schon ge?ndert, solange ich gearbeitet habe...
  8. theuntouchables

    theuntouchables hat kostenlosen Webspace.

    Also bei dem script sollten ja nur jpg und gif hochgeladen werden, also ist das mit mehr als 4 zeichen kein problem...
    und dateien werden in der letzten version auch nichtmehr ?berschrieben...
    Aber ich habe nix dagegen wenn mein script verbessert wird...
  9. Nee, das nur jpgs und gifs hochgeladen werden sollen ist schon klar, aber es gibt auch immer Leute, die trotzdem versuchen andere Dateitypen hochzuladen, die dann eben mehr Zeichen in der Endung haben, wie eben z.B. die pspimages. Somit w?rde dann bei der Meldung "Der Dateityp XXX ist nicht erlaubt" dastehen "Der Dateityp mage ist nicht erlaubt" und das sieht eben nicht wirklich toll aus, deshalb meine kleine Ver?nderung an der Stelle.

    Allerdings gibt es ein Problem, was ich auch noch nicht l?sen konnte: Sobald in einer Datei irgendwo jpg oder gif steht (z.B. bild_jpg.doc), wird sie hochgeladen, auch wenn sie gar kein Bild ist.

    Edit: So ich hab jetzt eine ganz gute L?sung gefunden: Wenn er jetzt die Datei ?berpr?ft, auf die zugelassenen Dateitypen, schaut er sich nicht mehr die ganze Datei an, sondern nur noch die Endung. Wenn die jetzt ein gif oder jpg enth?lt, l?d er sie zwar hoch, aber mit einer .docjpg-Datei kann man ja nichts weiter anfangen. Das aktualisierte Script ist oben.
  10. 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!