Größe von Files in der DB abspeichern - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Marco (840 Beiträge) am Montag, 7.Februar.2005, 10:05.
    Größe von Files in der DB abspeichern

      Hi,

      ich habe eine DB mit dem Feld "Datei". Um nach dem Upload einer Datei die Filegröße mit abzupeichen, um sie beim Download anzuzeigen, verwende ich folgenden Code, den ich hier im Forum mal aufgeschnappt habe:

      <perl>
      if (%_put)
      {
       if ($_filec_dat == 2)
        {
         $x = get ("http://www.meine-domain.de/files/$_put{dat}");
         $filesize = length($x);
         $filesize = sprintf('%.02f',$filesize/1024);
         $_put{datei_groesse}=$filesize;
         out "Filesize: $_put{datei_groesse}<br>";
        }
      }
      

      Dies klappt aber nicht immer. Teilweise wird die richtige Dateigröße in die DB geschrieben und hin und wieder nur "0.00". Erstaunlicherweise wird auch "0.00" eingetragen, obwohl in der Kontrollausgabe (out "Filesize: $_put{datei_groesse}<br>";) die richtige Größe ausgegeben wird, d.h. $_put{datei_groesse} richtig gesetzt ist!

      Die Dateigröße kann nicht der Grund sein, da sowohl bei Files von 10K als bei Files von mehr als 200K der Mechanismus sowohl funktioniert als auch nicht funktioniert hat :-((

      Ich weiß, dass Fehlermeldungen in der Art "mal geht´s, mal geht´s nicht", extrem ekelig sind. Vielleicht hat trotzdem einer von Euch eine Idee, woran es liegen kann.



      mfg

      Marco


    Ihre Antwort:

    Name: EMail: EMail bei Antwort? WWW:
    Titel:
    Text:

    Neuer Eintrag


 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Marco (840 Beiträge) am Montag, 7.Februar.2005, 10:05.
    Größe von Files in der DB abspeichern

      Hi,

      ich habe eine DB mit dem Feld "Datei". Um nach dem Upload einer Datei die Filegröße mit abzupeichen, um sie beim Download anzuzeigen, verwende ich folgenden Code, den ich hier im Forum mal aufgeschnappt habe:

      <perl>
      if (%_put)
      {
       if ($_filec_dat == 2)
        {
         $x = get ("http://www.meine-domain.de/files/$_put{dat}");
         $filesize = length($x);
         $filesize = sprintf('%.02f',$filesize/1024);
         $_put{datei_groesse}=$filesize;
         out "Filesize: $_put{datei_groesse}<br>";
        }
      }
      

      Dies klappt aber nicht immer. Teilweise wird die richtige Dateigröße in die DB geschrieben und hin und wieder nur "0.00". Erstaunlicherweise wird auch "0.00" eingetragen, obwohl in der Kontrollausgabe (out "Filesize: $_put{datei_groesse}<br>";) die richtige Größe ausgegeben wird, d.h. $_put{datei_groesse} richtig gesetzt ist!

      Die Dateigröße kann nicht der Grund sein, da sowohl bei Files von 10K als bei Files von mehr als 200K der Mechanismus sowohl funktioniert als auch nicht funktioniert hat :-((

      Ich weiß, dass Fehlermeldungen in der Art "mal geht´s, mal geht´s nicht", extrem ekelig sind. Vielleicht hat trotzdem einer von Euch eine Idee, woran es liegen kann.



      mfg

      Marco

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Montag, 7.Februar.2005, 16:29.
    Re: Größe von Files in der DB abspeichern

      speicher doch dann auch direkt den Hashwert ab, wenn ers richtig damit ausgibt sollte ers auch richtig speichern oder da auch nicht?

     Antworten

    Beitrag von Marco (840 Beiträge) am Montag, 7.Februar.2005, 21:03.
    Re: Größe von Files in der DB abspeichern

      Hallo Ruben,

      ich kann Dir leider nicht ganz folgen...

      Dir Zeile:
      out "Filesize: $_put{datei_groesse}<br>";
      
      gibt die korrekte Filesize aus, aber beim späteren "do all" wird teilweise "0.00" gespeichert :-((

      Also im put-Hash muss die richtige Größe angekommen sein...


      mfg

      Marco

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 8.Februar.2005, 07:49.
    Re: Größe von Files in der DB abspeichern

      axo - du machst das mit do_all, sag das doch gleich - hab das leider in der Kristallkugel nich erkannt...
      mhm, dann mach doch das Speichern nur dieses Wertes in den Abfrageblock (ist eigentlich programmtechnischer Unsinn, aber probieren kann mans ja mal ;-)
      ---schnipp
      if (%_put){
      if ($_filec_dat == 2){
         $x = get ("http://www.meine-domain.de/files/$_put{dat}");
         $filesize = length($x);
         $filesize = sprintf('%.02f',$filesize/1024);
         $_put{datei_groesse}=$filesize;
         
         out "Filesize: $_put{datei_groesse}<br>";
         put ["datei_groesse",$_put{datei_groesse], "deinedb";   
        }
      }
      
      ---schnapp
      oder speicher gleich alles in diesem Block und setze dann den Put-Hash auf undef, so dass nicht zwei Datensätze abgespeichert werden, in etwa so:
      ---schnipp
      if (%_put){
      if ($_filec_dat == 2){
         $x = get ("http://www.meine-domain.de/files/$_put{dat}");
         $filesize = length($x);
         $filesize = sprintf('%.02f',$filesize/1024);
         $_put{datei_groesse}=$filesize;
         
         out "Filesize: $_put{datei_groesse}<br>";
         put undef, "deinedb"; 
         %_put = undef;  
        }
      }
      
      ---schnapp
      Hoffe es hilft
      Ruben

     Antworten

    Beitrag von Marco (840 Beiträge) am Dienstag, 8.Februar.2005, 20:51.
    Re: Größe von Files in der DB abspeichern

      Hallo Ruben,

      sorry, hätte ich dazuschreiben können :-((

      Danke für die Anregung, ich werde es mal so probieren.


      mfg

      Marco

     Antworten


     
 Liste der Einträge von 25650 bis 25800:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.05s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!