Shopsystem ShopPilot Shoploesung Diskussionen und Infos zum Shopsystem ShopPilot
Willkommen Gast. Bitte einloggen oder registrieren.
Mai 22, 2012, 22:00:59

Einloggen mit Benutzername, Passwort und Sitzungslänge
Suche:     Erweiterte Suche
5257 Beiträge in 1422 Themen von 333 Mitglieder
Neuestes Mitglied: pje
* Übersicht Hilfe Login Registrieren
+  Diskussionen und Infos zum Shopsystem ShopPilot
|-+  ShopPilot
| |-+  SSP - Shop Server Pages
| | |-+  Dateigröße bei Bildupload limitieren
0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Dateigröße bei Bildupload limitieren  (Gelesen 689 mal)
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« am: Mai 17, 2009, 10:07:36 »

Hallo,

wenn man dem Kunden/Besucher erlaubt Dateien hochzuladen ist es sinnvoll auch die Dateigröße zu limitieren.
Das geht mit ssp ganz einfach  Smiley

hier ein Beispiel anhand der Uploadfunktion für Mouspadbeschriftung im Konfiguratorshop

(die rot markierten Teile beschränken die Dateigröße => ist das Bild größer, wird KEIN upload durchgeführt und eine Fehlermeldung ausgegeben)

        ## Upload durchgeführt: Speichern und in WK-Datei eintragen
      my $image = ssp::get_var_form('uploadimage');
      my $imagedata = ssp::get_var_form_filedata('uploadimage');
      my $imagedirectory = $m_uploaddir;
      my $filename = "";
 
      my $kb = 300;
      my $byte = $kb*1024;

 
        ## Gültige Artikelnummer?
      if ($itemid ne $ssp::undefined) {
            ## Gültiges Bild hochgeladen?
         if (length($image) && ($image ne $ssp::undefined)) {
            ## maximal zulässige Dateigröße?
            if (length($imagedata) < $byte) {

               my $fileextension = "";
               ## Versuche gültige Dateiendung zu bestimmen
               if ($image =~ /.*(\.[\w\d]+)$/) {
                  $fileextension = lc($1);
                  if (!_isExtensionAllowed($fileextension)) {
                     $html .= qq|<div class="error">$m_text_invalidextension</div>|;
                  } else {
                     $filename = "$imagedirectory/" . $ssp::xxsession . "_" . time . $fileextension;
                     ## Zuordnung Artikel <> Bild in WK-Datei eintragen
                     ssp::cart_write_var("image_$itemid", $filename);
                     
                     ## Datei im Uploadverzeichnis speichern
                     my $saveto = "$main::catalog_home/$filename";
                     if (!open( FILEHANDLE, ">$saveto" )) {
                        main::syserr("konnte Datei nicht anlegen: $!");
                     }
                     binmode FILEHANDLE;         # Im Binämodus schreiben
                     print FILEHANDLE $imagedata; # Inhalt in Datei schreiben
                     close( FILEHANDLE );      # Datei schliessen
                     
                     ## Erfolgsmeldung ausgeben
                     $html .= qq|<div class="added">$m_text_added</div>|;
                  }
               } else {
                  ## Ungültige Dateiendung
                  $html .= qq|<div class="error">$m_text_invalidfilename</div>|;
               }
            } else {
                  ## Limit für Dateigröße überschritten
                  $html .= qq|<div class="error">Datei zu groß - maximal $kb KB erlaubt!!!</div>|;
                  }

         } else {
            main::syserr("Ungültiges Bild! |$itemid|$image|$imagedata|");
         }
      }

Bei  my $kb = 300; kann die erlaubte Dateigröße in KB angegeben werden
« Letzte Änderung: Mai 17, 2009, 10:21:57 von dobra » Gespeichert

Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  

mysitelist Impressum Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS