HTH-C.com - Forum
Latest News Latest Threads
Neuerung: Persönliche Galerie
Informationen zur Übernahme der Erweite..
HTH Blog - Version 2.0
#HTH.Systems - Betatester gesucht
Neueröffnung - PHPKit-Award.de
HTH Webchat v3
Letzter Beitrag Happy Birthday Bottyline Weiblicher Benutzer Heute, 0:00 Zeit der letzten Antwort
Letzter Beitrag Herzlich Willkommen Botty Männlicher Benutzer 17.05.2024 - 10:59 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 Treffnix Männlicher Benutzer 14.03.2024 - 06:20 Zeit der letzten Antwort
Letzter Beitrag Gibt es eigentlich noch jemand der PHPki.. Treffnix Männlicher Benutzer 14.03.2024 - 06:19 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 ohne ASCE auf PHP8x Myrddin Männlicher Benutzer 22.03.2023 - 13:36 Zeit der letzten Antwort
 53.825 Posts & 4.945 Themen in 78 Foren
Forenübersicht » Support / Hilfe » Allgemein » PHP/MySQL » PHP - Mehrere Verzeichnise aus..

PHP - Mehrere Verzeichnise auslesen und Bilder zählen
5 Beiträge in diesem Thema
 Seiten (1):    1  
16.12.2011 - 20:36 Uhr
Beitrag: #1
Hallo zusammen,

ich würde gerne mehrere Verzeichnisse auslesen und den Inhalt (Bilder) zählen.

Aktueller Code:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

PHP-Quelltext

<?php
$ordner 
= array('../images/finish/','../images/finish/parfum/','../images/finish/schachtel/','../images/finish/logo/');
foreach (
$ordner as $ordnere) {
    
$handle opendir($ordnere);
    while (
false !== ($file readdir($handle))) {
        if (
$file != "." && $file != "..") {
            
$sub substr($file, -4);
            if (
$sub == ".png" || $sub == ".jpg" || $sub == ".gif" || $sub == ".bmp") {
                
$filecount count(glob($ordnere.$file));
                echo 
$filecount;
            }
        }
    } 
}
?>


Bekomme aber nur die Ausgabe:
11111111111111111111111111111111111111111111111111111111

 
Zum Anfang der Seite
16.12.2011 - 22:04 Uhr
Beitrag: #2
Die Ausgabe macht doch auch Sinn. Immerhin gibst du innerhalb der Schleife eine Ausgabe aus. Die Ausgabe besteht ja darin, ein Array zu zählen, das die durch glob() definierten Werte enthält und ein Array erzeugt. Da dies aber pro Durchgang erfolgt, wird auch immer ein neues Array mit einen Key mit Wert erstellt.

Ändere den Code einfach so um:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

PHP-Quelltext

<?php
$ordner 
= array('../images/finish/','../images/finish/parfum/','../images/finish/schachtel/','../images/finish/logo/');
foreach (
$ordner as $ordnere) {
    
$handle opendir($ordnere);
    while (
false !== ($file readdir($handle))) {
        if (
$file != "." && $file != "..") {
            
$sub substr($file, -4);
            if (
$sub == ".png" || $sub == ".jpg" || $sub == ".gif" || $sub == ".bmp") {
                
$filecount[] = glob($ordnere.$file);
            }
        }
    }
    
$count=count($filecount);
    echo 
$count;
}
?>


 
Zum Anfang der Seite
16.12.2011 - 23:04 Uhr
Beitrag: #3
Danke für die Antwort, aber die Ausgabe ist immer noch nicht korrekt.
Die Ausgabe sieht so aus:
0111

Alleine im ordner ../images/finish sind 116 Dateien vorhanden und in dem ordner ../images/parfum ist nur eine Datei

Es soll auch zusammengezählt werden, so das die Ausgabe dann 117 wäre

 
Zum Anfang der Seite
17.12.2011 - 07:54 Uhr
Beitrag: #4
Ach ja, kleiner Denkfehler. glob() erzeugt ja ein Array   Dadurch hast ja dann ein 2-dimensionales Array.

Schmeis die glob() funktion in der While-Schleife raus. Überhaupt, wofür soll das gut sein? Du suchst ja nicht nach bestimmten Werten, und eine Filterung hast ja bereits vorher eingebaut.

Und die Zusammenzählung: Pack die Ausgabe und Zusammenzählung nach der foreach-Schleife.

 
Zum Anfang der Seite
17.12.2011 - 13:31 Uhr
Beitrag: #5
Das liegt an meinen Erfahrungen die ich nicht habe. Daher probiere ich halt nur aus.

Wenn ich das Script nun so verwende:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

PHP-Quelltext

<?php
$ordner 
= array('../images/finish/','../images/finish/parfum/','../images/finish/schachtel/','../images/finish/logo/');
foreach (
$ordner as $ordnere) {
    
$handle opendir($ordnere);
    while (
false !== ($file readdir($handle))) {
        if (
$file != "." && $file != "..") {
            
$sub substr($file, -4);
            if (
$sub == ".png" || $sub == ".jpg" || $sub == ".gif" || $sub == ".bmp") {
                
$filecount[] = $ordnere.$file;
            }
        }
    }
    
$count=count($filecount);
}
echo 
$count;
?>  

Dann gibt es nur eine "1" aus.
Aber im ordner "../images/finish" befinden sich schon 165 Bilder alleine

Edit:
Habe da nun endlich etwas, was funktioniert!



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

PHP-Quelltext

<?php
$folderImgCount
=0;
$ordner = array('../images/finish/','../images/finish/parfum/','../images/finish/schachtel/','../images/finish/logo/');
foreach (
$ordner as $ordnere) {

    
$handle opendir($ordnere);
    while (
false !== ($file readdir($handle))) {
    
        if (
$file != "." && $file != "..") {
        
            
$sub end(explode('.',$file));    
            if (
$sub == "png" || $sub == "jpg" || $sub == "jpeg" || $sub == "gif" || $sub == "bmp"$folderImgCount++;
        }
    }
    
closedir($handle);
}
    echo 
'Es wurden heute '.$folderImgCount.' Bilder erstellt';
    
$folderImgCount=0;
?> 


Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Sumale.nin - 17.12.2011 - 13:37 Uhr
 
Zum Anfang der Seite
 Seiten (1):    1  

Ähnliche Themen
 
Modifikationen Modifikationen » Profilfeld auslesen? - Letzte Antwort von ReeN am 12.09.08, 20:11 Profilfeld auslesen?  (12.09.08, 20:11)
PHP/MySQL PHP/MySQL » Daten aus MySQL auslesen und Wert speichern - Letzte Antwort von PHpogo am 09.03.07, 12:15 Daten aus MySQL auslesen und Wert speichern  (09.03.07, 12:15)
Spam Spam » Bilder erraten - Letzte Antwort von WEBI am 13.01.12, 16:29 Bilder erraten  (13.01.12, 16:29)
Support Support » fehler bei bilder galerie 1.6 - Letzte Antwort von WEBI am 12.07.07, 16:36 fehler bei bilder galerie 1.6  (12.07.07, 16:36)
Fragen und Antworten Fragen und Antworten » Bilder Webfähig machen - Letzte Antwort von Leiche am 09.07.08, 15:54 Bilder Webfähig machen  (09.07.08, 15:54)

HTH-C.com - Webmedien & Community