+ Antworten
Ergebnis 1 bis 11 von 11

Thema: Dateigröße auslesen /ausgeben innerhalb Schleife

  1. #1
    TP-Member uedde001 macht alles soweit korrekt Avatar von uedde001
    Registriert seit
    Jul 2002
    Ort
    Pforzheim
    Beiträge
    78

    Dateigröße auslesen /ausgeben innerhalb Schleife

    Ahoi,

    ich hab folgendes Problem.
    Mein Script soll Alle Dateien aus einem Ordner auslesen, mit Link ausgeben und die Dateigröße sowie die DL-Zeit mit ISDN und DSL ausgeben.
    Bisher funzt alles, bis auf die Dateigröße und DL-Zeit

    hier der Code:

    PHP-Code:

    function Dateigroesse($URL)
                {
                    
    $Groesse filesize($URL);
                    if(
    $Groesse<1000)
                    {
                        return 
    number_format($Groesse0","".")." Bytes";
                    }
                    elseif(
    $Groesse<1000000)
                    {
                        return 
    number_format($Groesse/10240","".")." kB";
                    }
                    else
                    {
                        return 
    number_format($Groesse/10485760","".")." MB";
                    }
                }
                

                  print 
    "<span class=\"Titleleft\">Dokumente</span>\n"$verzname "documents"$dh opendir$verzname ); print 
                  <table>
                     \n"
    ; while ( gettype($datei readdir$dh)) != "boolean" ) { if ( is_dir"$verzname/$datei" ) ) { print ""; } else { print 
                    <tr>\n 
                      <td>\n<a href=\"$verzname/$datei\" class=\"links1\" target=\"_blank\"><img src=\"/img/symbols/pdf_kl.gif\" width=\"22\" height=\"25\" border=\"0\"></a></td> 
                      <td><a href=\"$verzname/$datei\" class=\"links1\" target=\"_blank\"><b>$datei</b></a>$datgr\n</td>\n
                                     </tr> 
                    \n" 
    ; }} print 
                  </table> 
    "
    closedir$dh ); ?> 

    Vielen Dank für eure Mühe

    Grüße

    Uedde
    "der Einäugige ist unter den blinden König"
    Meiner -> Dual XEON 3.06 GHZ, 2GB PC266 RAM

  2. #2
    TP-Moderator Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Avatar von Adromir
    Registriert seit
    Jun 2004
    Ort
    Hannover
    Beiträge
    4.806
    Ich würde sagen, daß die Schleifen erstmal nicht eindeutig geregelt sind.
    Wenn eine Zahl kleiner als 1000 ist, ist sie gleichzeitig kleiner als 1000000

    Also würde ich es vieleicht so machen:

    elseif($Groesse<1000000 && $Groesse>1000)
    {
    return number_format($Groesse/1024, 0, ",", ".")." kB";
    }
    else
    {
    return number_format($Groesse/1048576, 0, ",", ".")." MB";
    }

  3. #3
    321
    321 ist offline
    TP-Specialist 321 hilft, wo's geht 321 hilft, wo's geht 321 hilft, wo's geht Avatar von 321
    Registriert seit
    Nov 2004
    Ort
    Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
    Beiträge
    4.248
    wo wird die Funktion Dateigroesse($URL) aufgerufen?

    Dateigrössen von 1000 - 1023 Bytes würden als 0 kB ausgewiesen

    @Adromir: er hat ja else if
    Geändert von 321 (01.02.2005 um 12:12 Uhr)
    [321 Name="Joe"]
    wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
    [/321]


    use my HTML-Tester

    Motto'06: Mut zur deutschen Sprache!

  4. #4
    TP-Member uedde001 macht alles soweit korrekt Avatar von uedde001
    Registriert seit
    Jul 2002
    Ort
    Pforzheim
    Beiträge
    78
    Hallo

    erstmal danke für eure antworten.

    Wichtiger als die richtige Formatierung ist mir erstmal das generelle anzeigen der Dateigröße innerhalb der Schleife, da die Datei ja mit $verzname/$datei
    richtig ausgegeben wird, ich aber mit filesize( $verzname/$datei ) innerhalb dieser Schleife nicht weiterkomme.

    Ich bin ein ziemlicher PHP NOOB

    Gruß´

    U
    "der Einäugige ist unter den blinden König"
    Meiner -> Dual XEON 3.06 GHZ, 2GB PC266 RAM

  5. #5
    TP-Specialist Dennis The Menace bringt sich richtig ein Dennis The Menace bringt sich richtig ein Avatar von Dennis The Menace
    Registriert seit
    Nov 2004
    Ort
    Ich komme aus dem Zauberwald
    Beiträge
    2.035
    Ich will mich ja nicht beschweren, nur - du benutzt niergendswo filesize. Nur in der Funktion, die du aber innerhabl der Schleife gar nicht aufrufst. Auch wenn ich nicht behaupten kann, dass ich so ganz verstanden habe, wo nun das Problem ist...

    ... hier mein Lösungsvorschlag:

    PHP-Code:
    function Dateigroesse($URL
                { 
                    
    $Groesse filesize($URL); 
                    if(
    $Groesse<1000
                    { 
                        return 
    number_format($Groesse0","".")." Bytes"
                    } 
                    elseif(
    $Groesse<1000000
                    { 
                        return 
    number_format($Groesse/10240","".")." kB"
                    } 
                    else 
                    { 
                        return 
    number_format($Groesse/10485760","".")." MB"
                    } 
                } 
                 

                  print 
    "<span class=\"Titleleft\">Dokumente</span>\n"$verzname "documents"$dh opendir$verzname ); print 
                  <table> 
                     \n"
    ; while ( gettype($datei readdir$dh)) != "boolean" ) { if ( is_dir"$verzname/$datei" ) ) { print ""; } else { print 
                    <tr>\n 
                      <td>\n<a href=\"$verzname/$datei\" class=\"links1\" target=\"_blank\"><img src=\"/img/symbols/pdf_kl.gif\" width=\"22\" height=\"25\" border=\"0\"></a></td> 
                      <td><a href=\"$verzname/$datei\" class=\"links1\" target=\"_blank\"><b>$datei</b></a>"
    .Dateigroesse($verzname."/".$datei)."\n</td>\n 
                                     </tr> 
                    \n" 
    ; }} print 
                  </table> 
    "
    closedir$dh ); ?> 
    Zwei Dinge sind Unbestreitbar:
    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
    • Die Erde ist eine Scheibe!
    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

  6. #6
    TP-Insider skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE Avatar von skipperjan
    Registriert seit
    Jan 2005
    Ort
    Düsseldorf
    Beiträge
    981
    Hi,

    dein String $verzname/$datei klappt natürlich prima für die Bildung eines Pfades aber etwas wie Dateigroesse($verzname/$datei) wird wohl nicht klappen, gibt immer null bytes, da Division by Zero rauskommen wird, funktionieren wird allerdings: Dateigroesse($verzname."/".$datei) Dein Code könnte z.B. dann so aussehen

    PHP-Code:
    <?php
    function Dateigroesse($URL)
                {
                    
    $Groesse filesize($URL);
                    if(
    $Groesse<1000)
                    {
                        return 
    number_format($Groesse0","".")." Bytes";
                    }
                    elseif(
    $Groesse<1000000 && $Groesse>1000)
                    {
                        return 
    number_format($Groesse/10240","".")." kB";
                    }
                    else
                    {
                        return 
    number_format($Groesse/10485760","".")." MB";
                    }
                }
                 
    $ausgabe "<span class=\"Titleleft\">Dokumente</span>\n";
                 
    $verzname "documents"
                 
    $dh opendir$verzname );
                 
    $ausgabe.="<table>\n"
                    while ( 
    gettype($datei readdir$dh)) != "boolean" ) { 
                        if ( 
    is_dir"$verzname/$datei" ) ){ 
                            
    $ausgabe.=""
                            } 
                        else {
                            
    $ausgabe.="    <tr>\n
                                      <td>\n
                                        <a href=\"$verzname/$datei\" class=\"links1\" target=\"_blank\">
                                        <img src=\"/img/symbols/pdf_kl.gif\" width=\"22\" height=\"25\" border=\"0\"></a>
                                    </td>
                                      <td>
                                        <a href=\"$verzname/$datei\" class=\"links1\" target=\"_blank\"><b>$datei</b></a>
                                        "
    .Dateigroesse($verzname."/".$datei)."\n</td>\n
                                    </tr>\n"
    ;
                             }
                        }
                    
    $ausgabe.="</table>";
                    echo 
    $ausgabe;
                    
    closedir$dh ); 
    ?>
    Deine Formatierung ist übrigens echt beschissen


    So long,

    skip
    Chenaski - Klamotten designed by Pete
    USE - nicht immer nur mit Stars and Stripes rumlaufen!

    Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....

  7. #7
    TP-Insider skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE Avatar von skipperjan
    Registriert seit
    Jan 2005
    Ort
    Düsseldorf
    Beiträge
    981
    Mein Gott Dennis,

    ich bin einfach zu lahm,

    meine antwort ist damit wohl obsolet, wie man so schön sagt.

    so long,

    skip
    Chenaski - Klamotten designed by Pete
    USE - nicht immer nur mit Stars and Stripes rumlaufen!

    Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....

  8. #8
    TP-Member uedde001 macht alles soweit korrekt Avatar von uedde001
    Registriert seit
    Jul 2002
    Ort
    Pforzheim
    Beiträge
    78

    Talking

    @Dennis&Skipper,

    vielen Dank für die Lösungen.. klappt wunderbar*GGGG*



    @ SKipper.. an der formatierung arbeite ich noch


    was muss ich denn tun, damit ich auch noch die DL Zeit Modem/ISDN/DSL
    mit angezeigt bekomme ?
    "der Einäugige ist unter den blinden König"
    Meiner -> Dual XEON 3.06 GHZ, 2GB PC266 RAM

  9. #9
    TP-Insider skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE Avatar von skipperjan
    Registriert seit
    Jan 2005
    Ort
    Düsseldorf
    Beiträge
    981
    Rechnen:

    Dateigroesse/Transferrate pro sekunde = Sekunden

    so long,

    Skip
    Chenaski - Klamotten designed by Pete
    USE - nicht immer nur mit Stars and Stripes rumlaufen!

    Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....

  10. #10
    TP-Member uedde001 macht alles soweit korrekt Avatar von uedde001
    Registriert seit
    Jul 2002
    Ort
    Pforzheim
    Beiträge
    78
    @skip. *G*

    Danke
    ich bin zwar mit jeglicher Syntax auf Kriegsfuß aber ich habs hinbekommen.

    Viele Danke nochmals !!!!!
    "der Einäugige ist unter den blinden König"
    Meiner -> Dual XEON 3.06 GHZ, 2GB PC266 RAM

  11. #11
    TP-Specialist jayjay ist ein richtiges Arbeitstier - DANKE jayjay ist ein richtiges Arbeitstier - DANKE jayjay ist ein richtiges Arbeitstier - DANKE jayjay ist ein richtiges Arbeitstier - DANKE Avatar von jayjay
    Registriert seit
    May 2003
    Ort
    krefeld
    Beiträge
    3.631
    das funzt ja klasse,
    1-was mache ich aber um den aktuellen und die unterordner auszulesen inkl grösse?
    2-mit dem icon ist auch gut aber es gibt so viele endungen, wie kann man diese mit den richtigen kennzeichnen?
    3-sortieren nach dateinamen?
    4-link als download, nicht öffnen?
    computer tun nur das was man ihnen sagt, meistens

+ Antworten

Ähnliche Themen

  1. CSS über ID auslesen?? Bin ich zu blöööd??
    Von saphir2k im Forum HTML & CSS
    Antworten: 2
    Letzter Beitrag: 13.12.2004, 12:10
  2. komplette homepage auslesen und ausgeben...
    Von RanDalt im Forum Traum-Dynamik
    Antworten: 1
    Letzter Beitrag: 03.12.2004, 12:15
  3. For schleife
    Von Kawa im Forum Traum-Dynamik
    Antworten: 6
    Letzter Beitrag: 12.02.2004, 14:59
  4. Inhalt einer Schleife in eine Variable?
    Von SKYRUNNER im Forum Traum-Dynamik
    Antworten: 3
    Letzter Beitrag: 12.07.2003, 07:25
  5. gif-Banner mit kleiner Dateigröße
    Von fragenüberfrage im Forum Photoshop
    Antworten: 12
    Letzter Beitrag: 20.11.2002, 22:06

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51