kostenloser Webspace werbefrei: lima-city


case 7z --> wird als fehler angezeigt!?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    d****n

    Hey Leudde,
    ich hätte da so nen kleines prob!

    Nutze schon ewig einen Uploadmanager auf meiner HP, doch um den bestimmungen limas gerecht zu werden, habe ich natürlich einige dateiendungen verboten, doch *.7z ist ein fehler!?

    <?php
    if(!empty($datei))
    {
    $dateiname=$datei_name;
    $dateiinfo=pathinfo($dateiname);
    switch ($dateiinfo[extension])
     {
       case avi:
       case php:
       case php4:
       case php3:
       case phtml:
       case html:
       case htm:
       case xml:
       case xhtml:
       case mpeg:
       case mpg:
       case mp3:
       case wmv:
       case wma:
       case mov:
       case rar:
       case bik:
       case wav:
       case vir:
       case ogg:
       case zip:
       case ace:
       case tar:
       case exe:
       case lzh:
       case tar.gz:
       case tar.bz2:
       case gz:
       case bz2:
       case reg:
       case bmp:
       case mp4:
       case midi:
       case jar:
       case psd:
       case cab:
       case mid:
       case zi0:
       case torrent:
       case dem:
       case w3g:
       case w3x:
       case wmf:
       case dll:
       case bin:
       case psp:
       case tgz:
       case ram:
       case rmvb:
       case 7z:
          {
             die("<br/>$dateiinfo[extension]-Dateien sind nicht erlaubt<br/>");
          }
       default:
          {
             if(file_exists($dateiname))
                {
                   while(file_exists($dateiname))
                   {
                      $dateiname="(1)".$dateiname;
                   }
                   echo "Die Datei mit dem Dateinamen <b>$datei_name</b> existierte bereits.<br> Ihre Datei wurde in <b>$dateiname</b> umbenannt";
                }
              if($datei_size > $MAX_FILE_SIZE)
                    {
                        echo "Die Datei ist zu groß, die maximale Dateigrösse beträgt $MAX_FILE_SIZE Byte(s)";
                    }
                 else
                    {
                        copy($datei,"$dateiname");
                        if( file_exists($dateiname))
                           {
                                  echo "<br>Die Datei <b>$datei_name</b> wurde mit <b>$datei_size Byte</b> erfolgreich hochgeladen.<BR>
                         <b><a href='http://disoon.pyrokar.lima-city.de/upload/$datei_name'>http://disoon.pyrokar.lima-city.de/upload/$datei_name</a></b>";
                           }
                        elseif(! file_exists($dateiname))
                           {
                                  echo "Die Datei ist nicht vorhanden";
                           }
                    }
          }
    }
    }
    ?>


    Die unterste 'case'-Zeile 'case 7z:' also Zeile 57 soll ein fehler sein! Ich denke es liegt ganz einfach daran dass es eine Zahl ist. kann man das irgendwie trotzdem irgendwie hinbekommen?


    greetz
    Disoon

    Beitrag geaendert: 29.4.2007 12:52:16 von disoon
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. b****y

    Du kannst dir eigentlich alle case-Anweisungen sparen, indem du alle Extensions in ein Array packst, und dann mit in_array() prüfst, ob sich die Extension im Array befindet. Befindet sie sich im Array, brichst du das Script ab.

    MfG, Bohrty.
  4. Autor dieses Themas

    d****n

    Nun gut, wenn ich PHP könnte, könnte ich evtl. deuten was du meinst, aber da ich wirklich nur ganz wenig ;)

    da das das einzige script war was ich gefunden hab, was ging, nutze ich nunmal dieses. Wenn du mir die änderung sagen kannst, bzw. mir ein funktionierendes script geben kannst, dann wär ich auch froh :)


    greetz
    Disoon
  5. b****y

    <?php
    if(!empty($datei))
    {
      $dateiname=$datei_name;
      $dateiinfo=pathinfo($dateiname);
      // Hier in das array die nicht-erlaubten Dateien eintragen
      $badfiles = array("avi","php","php4","php3","phtml","html","html","htm","xml","xhtml","mpeg","mpg");
    
      if (in_array($dateiinfo[extension], $badfiles))
      {
        echo "<br/>$dateiinfo[extension]-Dateien sind nicht erlaubt<br/>";
      }
      else
      {
        if(file_exists($dateiname))
        {
           while(file_exists($dateiname))
          {
            $dateiname='(1)'.$dateiname;
          }
          echo 'Die Datei mit dem Dateinamen <b>$datei_name</b> existierte bereits.<br> Ihre Datei wurde in <b>$dateiname</b> umbenannt';
        }
        if($datei_size > $MAX_FILE_SIZE)
        {
          echo 'Die Datei ist zu groß, die maximale Dateigrösse beträgt $MAX_FILE_SIZE Byte(s)';
        }
        else
        {
          copy($datei,'$dateiname');
          if( file_exists($dateiname))
          {
            echo "<br>Die Datei <b>$datei_name</b> wurde mit <b>$datei_size Byte</b> erfolgreich hochgeladen.<br>
            <b><a href='http://disoon.pyrokar.lima-city.de/upload/$datei_name'>http://disoon.pyrokar.lima-city.de/upload/$datei_name</a></b>";
          }
          elseif(! file_exists($dateiname))
          {
            echo 'Die Datei ist nicht vorhanden';
          }
        }
      }
    }
    ?>

    So sieht das mit dem array aus. Ist doch viel übersichtlicher, oder? :biggrin:
    ( Bitte beachte, dass hier alle doppelten Anführungszeichen in einfache Anfürhungszeichen umgewandelt werden :mad: )

    MfG, Bohrty.

    Beitrag geaendert: 30.4.2007 15:27:20 von bohrty
  6. Autor dieses Themas

    d****n

    wow, vielen herzlichen dank!
    es ist also im grunde das selbe script :)

    geht klar, ich denke das dürfte das dürfte so gehen,
    nochmals danke ;)


    greetz
    Disoon

  7. Hmm das Skript ist ja nun ok, aber ich frage mich gerade... Wenn es ein Uploadmanager-Skript ist zwecks lima, wieso sind dann PHP, HTML usw. verboten?

    ...sind das nicht die Datei-Endungen die zugelassen sind?

    Wenn nicht ist auch nicht schlimm, bin nur gerade drüber gestolpert ;-)
    Grüßle
  8. b****y

    Das hab' ich mich auch schon gefragt, als ich das Script umgeschrieben habe. Ich denke mal die Dateiendungen waren schon drin, als er das Script gefunden hat.

    MfG, Bohrty.
  9. 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!