[GastForen Programmierung/Entwicklung PHP und MySQL wieviele .jpg dateien in einem verzeichnis?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

wieviele .jpg dateien in einem verzeichnis?

gipfelstuermer
Beiträge gesamt:

14. Mai 2006, 15:19
Beitrag # 1 von 9
Bewertung:
(2067 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo,

kann mir jemand helfen?

ich suche eine möglichkeit mit php die JPEG-Dateien in einem bestimmten verzeichnis zu zählen. wie mache ich das am einfachsten?

gruss gipfelstürmer
X

wieviele .jpg dateien in einem verzeichnis?

Bitfilme
Beiträge gesamt: 264

14. Mai 2006, 15:55
Beitrag # 2 von 9
Beitrag ID: #229018
Bewertung:
(2062 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo gipfelstuermer,

Ich habe mal schnell gegoogle. Schau Dir mal diese Seite http://www.webmasterwelt.net/artikel,1365,-dateien-zaehlen.html an.


als Antwort auf: [#229013]

wieviele .jpg dateien in einem verzeichnis?

ganesh
Beiträge gesamt: 1981

15. Mai 2006, 02:40
Beitrag # 3 von 9
Beitrag ID: #229053
Bewertung:
(2047 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
nun ja, dieses Skript zählt ALLE Dateien in dem Ordner. Also auch .html, .php, .gif, usw.

Wenn Du wirklich NUR JPGs zählen willst, müsstest Du so etwas verwenden:

<?

$ordner = "."; // Pfad
$i=0; // reset counter

$handle = opendir($ordner);
while ($file = readdir ($handle)) {
if($file != "." && $file != "..") {
if(!is_dir($ordner."/".$file)) {
$size = @getimagesize($file);
if($size['mime'] == "image/jpeg") {
$i++;
$imgArray[] = $file; // Bild-Name in Array speichern
}
}
}
}

closedir($handle);

echo "Verzeichnis beinhaltet $i JPGs: <br /><br />";
$list = implode(", ", $imgArray);
echo $list;

?>


als Antwort auf: [#229013]

wieviele .jpg dateien in einem verzeichnis?

gipfelstuermer
Beiträge gesamt:

15. Mai 2006, 19:39
Beitrag # 4 von 9
Beitrag ID: #229291
Bewertung:
(2027 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo,

vielen Dank für eure Antworten.

@ganesh: ich habe ein ähnliches skript gefunden wie deines.

Code
function anzahl($v) {   
$dir = opendir($v);
while ($d = readdir($dir)) {
if (is_file("$v/$d") && (ereg(".jpg","$v/$d") || ereg(".jpeg","$v/$d")))
$count++;
}//end while
closedir($dir);
return $count;
}


kann mir aber jemand erklären wie dieses skript funktioniert. ich kenne nicht alle funktionen. z.b.
Code
ereg() 

und
Code
opendir() 


gruss gipfelstuermer


als Antwort auf: [#229053]
(Dieser Beitrag wurde von gipfelstuermer am 15. Mai 2006, 19:42 geändert)

wieviele .jpg dateien in einem verzeichnis?

vollueli
Beiträge gesamt: 785

15. Mai 2006, 23:25
Beitrag # 5 von 9
Beitrag ID: #229309
Bewertung:
(2011 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo gipfelstuermer

ich würde auch so ein script verwenden. wenn du verschiedene funktionen nicht kennst, hilft dir das php-manual weiter (php.net/funktion)

ereg prüft das vorhandensein einer gewissen zeichenkette, opendir öffnet (open) ein verzeichnis (dir).

ich würde bei deinem script allerdings ausser ereg die funktion substr nehmen.
mit ereg würde eine datei, die bild.jpg.zip heisst (normalerweise wird es schon vermieden, aber das gibt es teilweise) mitgezählt.

substr($v/$d, -3)==jpg respektive substr($v/$d, -4)==jpeg passiert das nicht.


als Antwort auf: [#229291]

wieviele .jpg dateien in einem verzeichnis?

Robert Zacherl
Beiträge gesamt: 4153

16. Mai 2006, 08:49
Beitrag # 6 von 9
Beitrag ID: #229326
Bewertung:
(1991 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ vollueli ] ich würde bei deinem script allerdings ausser ereg die funktion substr nehmen.
mit ereg würde eine datei, die bild.jpg.zip heisst (normalerweise wird es schon vermieden, aber das gibt es teilweise) mitgezählt.


Hallo vollueli,

das Problem ist ja leicht lösbar, da "ereg" ja Reguläre Ausdrücke als Suchkriterium unterstützt. Durch ein Anhängen von "$" an ".jpg" /bzw. ".jpeg") wird nur am Ende der Zeichenkette gesucht. Außerdem würde ich anstelle von "ereg" besser "eregi" nehmen, weil dann Groß- und Kleinschreibung keine Rolle spielt.


als Antwort auf: [#229309]
(Dieser Beitrag wurde von Robert Zacherl am 16. Mai 2006, 09:06 geändert)

wieviele .jpg dateien in einem verzeichnis?

Pozor
Beiträge gesamt: 892

16. Mai 2006, 13:41
Beitrag # 7 von 9
Beitrag ID: #229466
Bewertung:
(1982 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

mit exif_imagetype() wird wirklich geschaut ob es sich um ein Bild handelt
und nicht nur um ein File mit der entsprechenden Endung.

Noch etwas zu ereg und eregi: lasst die Finger davon! Sie sind veraltet!
Es gibt seit langem die preg Funktionen, die schneller und flexibler sind.


als Antwort auf: [#229326]

wieviele .jpg dateien in einem verzeichnis?

gipfelstuermer
Beiträge gesamt:

16. Mai 2006, 17:22
Beitrag # 8 von 9
Beitrag ID: #229554
Bewertung:
(1972 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo,

vielen dank für die antworten. wie sähe jetzt aber dieses skript aus mit dieser funktion(exif_imagetyp)?

gruss gipfelstuermer


als Antwort auf: [#229466]

wieviele .jpg dateien in einem verzeichnis?

vollueli
Beiträge gesamt: 785

16. Mai 2006, 22:17
Beitrag # 9 von 9
Beitrag ID: #229590
Bewertung:
(1965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo

Code
function anzahl($v)  
{
$dir = opendir($v);
while ($d = readdir($dir))
{
if (is_file($v."/".$d) && exif_imagetype($v."/".$d) == IMAGETYPE_JPEG)
{
$count++;
}
}
closedir($dir);
return $count;
}

so sollte es klappen. eine kürzere variante wäre in linie 6:
Code
if (exif_imagetype($v."/".$d) == IMAGETYPE_JPEG) 



als Antwort auf: [#229554]
X