Seite 1 von 1

PHP-Datei zur Dateizählung ändern

Verfasst: 18.10.2013 14:29
von fontane
vllt. kennt sich jemand mit PHP aus und kann mir helfen (ich bin Laie).

Ich habe eine anzeige.php mit folgendem Inhalt:

Code: Alles auswählen

<?php
function ReadMyDir($my_dir){
    if ($handle = opendir($my_dir)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != "..") {
                    if(is_file($file) OR is_file($my_dir."/".$file)) {
                        $GLOBALS["dateien"]++;
                        $GLOBALS["groesse"] = $GLOBALS["groesse"] + filesize($my_dir."/".$file);
                    }
                    if(is_dir($file) OR is_dir($my_dir."/".$file)) {
                        $GLOBALS["ordner"]++;
                        ReadMyDir($my_dir."/".$file);                    
                    }
            }
        }
        closedir($handle);
    }
}

global $dateien, $groesse, $ordner, $my_dir;
ReadMyDir('.');

?>
echo "<br> Gr&ouml;&szlig;e: ".round((($GLOBALS["groesse"]/1024)/1024),0)." MB (".number_format($GLOBALS["groesse"])." Bytes)";
echo "<br> Dateien: ".$GLOBALS["dateien"];
echo "<br> in Ordnern: ".$GLOBALS["ordner"];
Die vorstehende Datei bietet mir als Ergebnis die Zusammenfassung, wie viele Dateien (egal welche Endung) in einem Ordner (incl. Unterordner) sind.

Frage: was muss in der vorstehenden PHP-Datei abgeändert werden um z.B. NUR Dateien mit Endung *.jpg zu erfassen wenn sich im Ordner Dateien mit verschiedene Endungen befinden?

Für eine Hilfestellung vorab besten Dank

Re: PHP-Datei zur Dateizählung ändern

Verfasst: 18.10.2013 14:41
von cYbercOsmOnauT

Code: Alles auswählen

if(is_file($file) OR is_file($my_dir."/".$file)) { 
wird zu

Code: Alles auswählen

if((is_file($file) || is_file($my_dir."/".$file)) && substr($file, -4) == ".jpg") { 

Re: PHP-Datei zur Dateizählung ändern

Verfasst: 18.10.2013 15:52
von fontane
Herzlichen Dank

Re: PHP-Datei zur Dateizählung ändern

Verfasst: 18.10.2013 15:56
von cYbercOsmOnauT
und wenn Du sicher gehen willst, auch Dateien wie bla.JPG zu zählen mach es so:

Code: Alles auswählen

if((is_file($file) || is_file($my_dir."/".$file)) && strtolower(substr($file, -4)) == ".jpg") {  

Re: PHP-Datei zur Dateizählung ändern

Verfasst: 18.10.2013 17:21
von fontane
Ich verstehe Deinen Zusatz wie folgt:

Um Dateien nach z.B. Dateiname.* zu zählen müsste durch das "strtolower" somit Dateiname.* lauten? (* wird durch Dateiendung ersetzt?)

Habe ich das so richtig verstanden?

(habe null Ahnung von PHP)

Re: PHP-Datei zur Dateizählung ändern

Verfasst: 18.10.2013 21:32
von cYbercOsmOnauT
Ohne Ahnung von PHP wird es schwer.... strtolower verwandelt alle Buchstaben in kleine. Also wenn eine Datei bla.JPG heisst, wird im Vergleich bla.jpg verwendet. substr schneidet einen String (sagen wir Zeichenkette). Mit -4 sage ich, er soll vom Ende aus gesehen (also von rechts) beim 4ten Zeichen anfangen und alles nehmen. Ergo bleibt .jpg oder .png oder .gif übrig.

Re: PHP-Datei zur Dateizählung ändern

Verfasst: 19.10.2013 14:36
von fontane
Danke für die Erläuterungen! :cookie: