kostenloser Webspace werbefrei: lima-city


Nur bestimmte Sachen uploaden.

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    f*************s

    Hallo Leute,
    Ich habe ein Upload Script gemacht.
    Aber ich möchte ,das er nur bestimmte Dateien hochlädt.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title><?php
    print ("$PageTitle");
    ?></title>
    <body>
    <?php
    if ($File) {
    print ("File name: $File_name<P>\n");
    print ("File size: $File_size<P>\n");
    if (copy ($File, "upload/$File_name"))
    {
    print ("deine Datei wurde erfolgreich hochgeladen!<P>\n");
    } else {
    print ("Datei konnte nicht hochgeladen werden.<P>\n");
    }
    unlink ($File);
    }
    print ("Dateien zum Server hochgeladen:\n");
    print ("<FORM ACTION=
    \"up.php\" METHOD=POST
    
     ENCTYPE=\"multipart/form-data\">\n");
     
    print ("File <INPUT TYPE=FILE
    NAME=\"File\" SIZE=30><BR>\n");
    print ("<INPUT TYPE=SUBMIT NAME=
    \"SUBMIT\" VALUE=\"Submit!\"></FORM>\n");
    
    
    
    ?>
    </body>
    </html>


    Also könnte mir jemand das umscripten ,das man (.jpeg .gif .png .bmp) nur uploaden kann.

    //Edit//:**Habe |Suchbox| benutzt aber nix hatte mit das zu tuen was ich hier meine.**

    Beitrag zuletzt geändert: 9.12.2009 19:00:31 von fabian-meinders
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Ich muss ehrlich gestehen, dass ich mich fast gar nicht mit PHP auskenne, jedoch versuche ich zu helfen:

    Soweit ich mich erinnern kann, war bei einem Upload-Script, das ich mal benutzt habe, folgendes in der config.php:
    $filetypes = array('jpg','jpeg','gif','png','bmp');


    Ob du damit was anfangen kannst, ist eine andere Frage, aber wie schon erwähnt: Ich versuche nur zu helfen.
  4. Autor dieses Themas

    f*************s

    Kannst du mal den ganzen Upload Script zeigen ...
    Bestimmt stehen da elsen usw..
  5. Der ganze Script ist etwas lang und enthält auch einiges an Text usw, aber ich zeig ihn dir mal: :wink:

    Code der index.php:
    <!--
    /////////////////////////////////////////////////////////////////////
    //                          **                                     //
    //                          **     Copyright (c) 2007 by Arne      //
    //                          **      http://www.arne-home.de        //
    //   v1.1 vom 10.06.2007    **       Don't remove any (c)          //
    //                          **   Dieser Eintrag darf nicht         //
    //                          **       entfernt werden.              //
    //                          **                                     //
    //                          ** BITTE Lesen sie die lies_mich.html! //
    //                          **                                     //
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //
    // Der Copyright-Hinweis am Beginn des Quellcodes des Scripts muss //
    // unverändert bleiben, der Copyright-Hinweis und Link zu          //
    // www.arne-home.de bei der Ausgabe des Scripts muss auch erhalten //
    // bleiben, und darf in keiner weise unkentlich gemacht werden !   //
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
    /////////////////////////////////////////////////////////////////////
    -->
    <?php
    require('config.php');
    $mb = $b_max/1048576;
    $mb = round($mb, 2);
    @chmod(''.$_SERVER[DOCUMENT_ROOT].'/'.$pfad.'/.', $up_chmod);
    
    if($upw=="1"){
    if(isset($_POST['sendfiles'])){
    if($_POST['pwd'] != $pw){
            include("header.php");
            echo "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">
            <tr><td align=\"center\">
            <span class=\"headline\">
            <b>Bilder hochladen</b>
            </span>
            </td></tr>
            <tr><td width=\"100%\" align=\"center\">
            <span class=\"headline\">
            <br>
            Das Passwort fehlt oder ist falsch!<br>
            <br>
            <a href=\"javascript:history.back(-1)\" class=\"small\">&#171 zur&uuml;ck</a>
            <br><br>
            </td></tr>
            </table>";
            include("footer.php");
            exit;}
            }
    }
    
    if($_GET['action'] == 'inhalt') {
            include("header.php");
            echo "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">
            <tr><td align=\"center\">
            <span class=\"a\"><b>Inhalt des Bildordners</b></span>
            </td></tr>
            <tr><td width=\"100%\" align=\"center\"><br>";
                    $verz=opendir (''.$_SERVER[DOCUMENT_ROOT].'/'.$pfad.'/.');
                    while ($File = readdir ($verz)) {
     {
                    echo "<table cellpadding=\"0\" cellspacing=\"0\" width=\"50%\"><tr><td align=\"left\"><span class=\"headline\">";
                    if($dl_link==1){
                            echo "<img width=\"11\" height=\"11\" src=\"./img/$li_bild\" alt=\"\" name=\"li\"><a href=\"$pfad/$File\" target=\"_blank\" class=\"list\"> $File</a>";
                            }
                            else{
                                    echo "<span class=\"headline\"><img width=\"11\" height=\"11\" src=\"./img/$li_bild\" alt=\"\" name=\"li\"> $File</span>";
                                    }
                    echo "</td></tr></table>";}
                    }
                    if ($dl_gesamt==1) {
                            function dir_size($dir, &$size, $recursive=TRUE){
                            $handle = @opendir($dir);
                            if(!$handle)
                                    return false;
                                    while ($file = @readdir ($handle)){
                                            if (eregi("^\.{1,2}$",$file)){
                                            continue;}
                                            if(!$recursive && $dir != $dir.$file."/"){
                                                    if(is_dir($dir.$file))
                                                    continue;}
                                                            if(is_dir($dir.$file)){
                                                            dir_size($dir.$file."/", $size, $recursive);}
                                                            else{
                                                                    $size += filesize($dir.$file);}
                                                    }
                                                    @closedir($handle);
                                    }
                                    function sizeMath($size){
                                            if($size >= 1024000){
                                                    $size = $size / 1024000;
                                                    $size = sprintf("%01.2f", $size) . ' MB';
                                            }
                                            else{
                                                    $size = $size / 1024;
                                                    $size = sprintf("%01.1f", $size) . ' KB';
                                            }
                                    return $size;
                                    }
                    $size = 0;
                    dir_size(''.$_SERVER[DOCUMENT_ROOT].'/'.$pfad.'/', $size, TRUE);
                    $sizeD = sizeMath($size);
                    echo "<br><span class=\"kleinschrift\">Gesamtgr&ouml;sse der Bilder: ";
                    echo $sizeD;
                    echo "</span><br>";
                    }
            echo "<br><a href=\"javascript:history.back(-1)\" class=\"small\">&#171 zur&uuml;ck</a><br><br></td></tr></table>";
            include("footer.php");
            exit;
    }
    
    include("header.php");
    ?>
    <table width="100%" cellpadding="0" cellspacing="0">
    <tr><td align="center">
    <span class="headline">
    <b>Bilder hochladen</b>
    </span>
    </td></tr>
    <tr><td width="100%" align="center">
    <span class="headline">
    <br>
    Das Bild darf nicht gr&ouml;&szlig;er als <b><?php echo "$mb"; ?></b> MB sein.<br>
    <?php if($dl_endung==1){ echo"<u><b>Zugelassene Bildformate:</b></u> "; foreach ($filetypes as $value){echo " $value";}echo ".<br>
    <h2 style=\"color:green; text-decoration:underline;\">Bitte beachten!</h2><br>
    <div style=\"font-size: 13px;\">Bitte beachten Sie, dass der Dateiname sowohl <u>kein Umlaut</u> wie <b><i>ä</i></b>, <b><i>ö</i></b> oder <b><i>ü</i></b>, als auch kein <b><i>ß</i></b> und keinen Space (Abstand) und kein <b>()</b>, <b>[]</b> und <b>{}</b> enthält! <br>
    Mögliche Alternativen wären <b><i>ae</i></b> statt <b><i>ä</i></b>, <b><i>oe</i></b> statt <b><i>ö</i></b>, <b><i>ue</i></b> statt <b><i>ü</i></b>, <b><i>ss</i></b> statt <b><i>ß</i></b> und <b><i>_</i></b> statt <b><i>[Space]</i></b>. Klammern bitte einfach weglassen.</div><br>";} ?>
    <br><b><big>Wieviele Bilder sollen hochgeladen werden?</b></big></span><br>
    <br>
    <?php if($inhalt==1){ echo "<a href=\"index.php?action=inhalt\"><b>Inhalt des Bildordners</b></a><br>";} ?>
    <br>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <select name="numfiles" class="select">
    <?php
    for ($i=1; $i<=$dateien; $i++) {
    echo ("<option value=$i>$i");
    }
    ?>
    </select>
    <input type="Submit" value="Weiter" name="up" class="button">
    <br><br>
    </form>
    <form enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <?php
    if (isset($_POST['up'])){
            echo '<span class="headline"><b>'.$numfiles.'</b> ';
            echo $_POST['numfiles'] == '1' ? 'Datei kann' : 'Dateien k&ouml;nnen';
            echo ' hochgeladen werden.</span><p>';
            for ($i=1; $i<=$_POST['numfiles']; $i++){
                    echo "<input type=\"File\" name=\"myfile$i\" class=\"input\"><br>\n";}
                    if($upw==1){echo'<br><span class="headline">Passwort</span> <input type="password" name="pwd" class="input">';}
                    echo '<br><input type="Submit" name="sendfiles" value="Hochladen!" class="button"><br><br>';}
    if (isset($_POST['sendfiles'])){
            $numsendfiles = count($_FILES);
            foreach($_FILES as $strFieldName => $arrPostFiles){
        if ($arrPostFiles['size'] > $b_min && $arrPostFiles['size'] < $b_max){
                            $strFileName = $arrPostFiles['name'];
                            $strFileTemp = $arrPostFiles['tmp_name'];
                            if ($dl_endung==0) {
                                    @copy ($strFileTemp, "$_SERVER[DOCUMENT_ROOT]/$pfad/$strFileName");
                                    echo "<span class=\"headline\"><font color=green><b>Bild $strFileName erfolgreich  hochgeladen.</b></font><br>
    <b>URL:</b> <a href=\"http://cscrack.lima-city.de$pfad/$strFileName\" class\"small\" target=\"_blank\">http://cscrack.lima-city.de$pfad/$strFileName</a> <br><br>
    <b>HTML-Code zum Einbinden und Verlinken der Grafik:</b><br>
    <textarea cols=\"80\" rows=\"4\">
    <a href=\"http://cscrack.lima-city.de\" target=\"_blank\" title=\"Gratis Bildupload\" style=\"text-align:center;\"><img src=\"http://cscrack.lima-city.de$pfad/$strFileName\" border=\"0\" alt=\"Gratis Bildupload\"></a>
    </textarea></span>
    <br><br>";
                                    if ($upmail==1 && $numsendfiles != 1) {
                                            $ip = $_SERVER["REMOTE_ADDR"];
                                            $subject = "Upload auf Homepage";
                                            $body .= "Datum: ".date("d.m.Y, H:i:s")." Uhr\n";
                                            $body .= "IP: $ip\n";
                                            $body .= "$numsendfiles Bild(er) wurden hochgeladen\n";
                                            $body .= "Domain: http://$_SERVER[HTTP_HOST]$pfad/$strFileName";
                                            @mail($email, $subject, $body, "From: $email");
                                            }
                            }
                            elseif($dl_endung==1) {
                                    $pfad_info = pathinfo($strFileName);
                                    $extension = strtolower($pfad_info["extension"]);
                                    if (in_array($extension,$filetypes)) {
                                        if ($dateien_w  == 0) {
                            $unixtime = time();
                                        $strFileNameComponents = explode(".",$arrPostFiles['name']);
                        $strFileName = "$strFileNameComponents[0]-$unixtime.".$strFileNameComponents[1];
                                        $strFileName = ereg_replace("ä","ae",$strFileName);
                                        $strFileName = ereg_replace("ö","oe",$strFileName);
                                        $strFileName = ereg_replace("ü","ue",$strFileName);
                                        $strFileName = ereg_replace("ß","ss",$strFileName);
                                        $strFileName = ereg_replace(" ","_",$strFileName);
                                        $strFileName = ereg_replace("-","_",$strFileName);}
                                            @copy ($strFileTemp, "$_SERVER[DOCUMENT_ROOT]/$pfad/$strFileName");
                                            echo "<span class=\"headline\"><font color=green><b>Bild $strFileName erfolgreich  hochgeladen.</b></font><br>
    <b>URL:</b> <a href=\"http://cscrack.lima-city.de$pfad/$strFileName\" class=\"small\" target=\"_blank\">http://cscrack.lima-city.de$pfad/$strFileName</a> <br><br>
    <b>HTML-Code zum Einbinden und Verlinken der Grafik:</b><br>
    <textarea cols=\"80\" rows=\"4\">
    <a href=\"http://cscrack.lima-city.de\" target=\"_blank\" title=\"Gratis Bildupload\" style=\"text-align:center;\"><img src=\"http://cscrack.lima-city.de$pfad/$strFileName\" border=\"0\" alt=\"Gratis Bildupload\"></a>
    </textarea></span><br><br>";
                                            if ($upmail==1 && $numsendfiles != 0) {
                                                    $ip = $_SERVER["REMOTE_ADDR"];
                                                    $subject = "Upload auf Homepage";
                                                    $body .= "Datum: ".date("d.m.Y, H:i:s")." Uhr\n";
                                                    $body .= "IP: $ip\n";
                                                    $body .= "$numsendfiles Datei(en) wurden hochgeladen\n";
                                                    $body .= "Domain: http://$_SERVER[HTTP_HOST]$pfad/$strFileName";
                                                    @mail($email, $subject, $body, "From: $email");
                                                    }
                            }
                            else {
                                    echo "<span class=\"headline\"><font color=red><b>Unerlaubtes Dateiformat!</span><br><br>";}
                            }
                    }
                    else {
                            echo "<span class=\"headline\"><font color=#EE0000><b>Die Datei muss gr&ouml;&szlig;er als $b_min Bytes und kleiner als $mb MB sein!</b><br><br>
    <a href=\"javascript:history.back(-1)\" class=\"small\">&#171 zur&uuml;ck</a></font></span><br><br>";}
            }
    }
    ?>
    </form>
    </td></tr>
    </table>
    <?php include("footer.php");?>


    Code der config.php:
    <?php
    $pfad           = "/upload/files";                              # relative Pfad zu dem Ordner der hochgeladenen Dateien
    $up_chmod   = 0777;                                       # Chmodrechte das up Ordners 0755 oder 0777
    $upmail         = 1;                                                                      # eMail nach Upload ja = 1 / nein = 0
    $email          = "e@ma.il";                              # wenn eMail nach Upload ja, dann eMail an die Adresse
    $dateien    = 50;                                                                          # Anzahl der Uploadfelder
    $b_min          = 10;                                                                             # minimale Bytes
    $b_max          = 2097152 ;                                                               # maximale Bytes / 1024 Bytes = 1 KB / 1024 KB = 1 MB
                                                              # Falls unbekannt ist, wieviele Bytes der Server zuläßt, 'maximale-bytes.php' hochladen und öffnen.
    $pw         = 1234;                                                                       # Passwort
    $upw            = 0;                                                                      # Passwort ja = 1 / nein = 0
    $inhalt         = 1;                                                                      # Inhalt des Uploadornders anzeigen ja = 1 / nein = 0
    $dl_link    = 1;                                                                                  # hochgeladene Dateien im up Ordner können verlinkt werden ja = 1 / nein = 0
                                                                                                                      # ACHTUNG bei Chmod 0777!
                                                                                                                      # Dazu muß die .htaccess Datei im up Ordner gelöscht werden.
                                                                                                                      # Der up Ordner ist jetzt nicht mehr sicher geschütz,
                                                                                                                      # und Hacker können über ihn Zugriff auf den Server erlangen.
    $dl_endung  = 1;                                                                                  # bestimmte Dateiendungen zulassen ja = 1 / nein = 0
    $filetypes      = array('jpg','gif','png','bmp','ai','jpeg','jpe','psd','tif','tiff','wbmp','ico');                   # Zugelassene Upload-Dateiformate
    $dateien_w  = 0;                                                                                  # Dateien überschreiben ja = 1 / nein = 0
                                                                                                                      # Bei nein (0) wird ein Unixtimekürzel nach den Dateinamen angehängt.
    $li_bild    = "pupf_08.png";                              # Listenbild im Inhalt / weitere im Ordner /img
    $dl_gesamt  = 1;                                          # Gesamtgrösse der Dateien anzeigen ja = 1 / nein = 0
    $timestamp = time();                                      # aktuelle Zeit
    $heute = date("d.m.Y", $timestamp);                       # Datum von heute
    ?>


    Viel Spaß/Erfolg beim Herauslesen der benötigten Daten, ich kann dir dabei leider nicht helfen! :blah:

    Beitrag zuletzt geändert: 9.12.2009 20:31:34 von cscrack
  6. zum umscripten hab ich leider nicht genug zeit aber schu dir die Funktion exif_imagetype() an

    $typ=exif_imagetype($_FILES["file"]["tmp_name"]);
    if($typ == 1 or $typ == 2 or $typ == 3){
    //speichern
    }else {
    //error
    }
  7. Autor dieses Themas

    f*************s

    Ich kann mit dem Kram leider nix anfangen :( Könnte jemand das für mich machen bis morgen :)
    Wäre sehr dankbar :)
  8. Die erlaubten Dateitypen stehen doch fein säuberlich in der Config.php:
    $filetypes      = array('jpg','gif','png','bmp','ai','jpeg','jpe','psd','tif','tiff','wbmp','ico');                   # Zugelassene Upload-Dateiformate


    Nichterwünschtes löschen und fertig. :wink:

    FF
  9. fatfreddy schrieb:
    Die erlaubten Dateitypen stehen doch fein säuberlich in der Config.php:
    $filetypes      = array('jpg','gif','png','bmp','ai','jpeg','jpe','psd','tif','tiff','wbmp','ico');                   # Zugelassene Upload-Dateiformate


    Nichterwünschtes löschen und fertig. :wink:

    FF



    Den Code habe ich auch schon gefunden und gepostet, aber muss er $filetypes nicht irgendwie mit der Upload-Anfrage verknüpfen? Ich will dich nicht kritisieren, du kennst dich bestimmt besser aus als ich, mich interessiert es jetzt nur selbst, wie die ganze Geschichte funktioniert.
  10. In der Index.php wird in Zeile 179 geprüft, ob die Endung der hochzuladenden Datei im Array $filetypes vorhanden ist:
    if (in_array($extension,$filetypes)) {

    Allerdings nur, wenn in der Config der Wert für $dl_endung auf 1 gesetzt wurde. Mit einer 0 würde die Typprüfung abgeschaltet.


    Nachtrag: Argh! Ich sehe gerade, daß ich mir DEIN Skript vorgenommen habe und nicht das des Themenstarters. *schäm*

    Du hast natürlich recht, Vergleichbares muß in SEINEM Skript natürlich eingebaut sein/werden, sonst klappt es nicht.

    Mit den Schnipseln, sollte das jetzt aber kein Problem mehr darstellen.

    FF

    Beitrag zuletzt geändert: 9.12.2009 21:06:12 von fatfreddy
  11. Gut, danke. :wink: Und schon bin ich wieder eine Ecke klüger geworden! :blah:

    Antwort auf deinen Nachtrag: Ahja, mach das lieber mal du, ich kann das nicht! :-P

    Beitrag zuletzt geändert: 9.12.2009 21:06:30 von cscrack
  12. cscrack schrieb:
    Antwort auf deinen Nachtrag: Ahja, mach das lieber mal du, ich kann das nicht! :-P


    Das sollte fabian-meinders jetzt auch selber schaffen.

    FF
  13. 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!