php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.10.2008, 15:02  
Neuer Benutzer
 
Registriert seit: 14.10.2008
Beiträge: 6
ccolucci befindet sich auf einem aufstrebenden Ast
Standard jpg Dateien in einem Ordner und dessen Unterordner zählen

Hallo,

ich würde gerne jpg-Dateien nicht nur in einem Verzeichnis (z.B. "webalben") auslesen/zählen, sondern auch alle jpg-Dateien (und evtl. Ordner) in den Unterverzeichnissen von "webalben" zählen.
Um die Dateien in einem Verzeichnis zu zählen, habe ich folgendes Skript (welches auch funktioniert):

PHP-Code:
<?php
function count_in_dir($where)
{
$cnt = Array('files' => 0,'ordner' => 0);
if($dh = opendir($where)) {
while(($file = readdir($dh)) !== false) {
if(preg_match('/^\.+$/', $file)) ; # . / ..
elseif(is_dir("$where/$file")) $cnt['ordner']++; # directory
else $cnt['files']++; # file
}
closedir($dh);
}
return $cnt;
}
?>


Hab in Foren (404 Not Found...) gelesen, dass es mit rekursiver Programmierung funktioniert. Hab das skript von oben übernommen (teils geändert) und die Funktion "get_dir" hinzugefügt.
Hier der PHP Code
(index_count_all_files.php):

PHP-Code:
<?php
function get_dir($dir)
{
$cnt = Array('files' => 0,'ordner' => 0);
if($fp = opendir($dir)) {
while(($datei = readdir($fp)) !== false) {
if(preg_match('/^\.+$/', $file)) ; # . / ..
elseif (is_dir("$dir/$datei")) $cnt['ordner']++; # directory
else $cnt['files']++; # file
{ get_dir("$dir/$datei"); }
}
closedir($fp);
}
return $cnt;
}
?>


Der Code-Einbau in index_xyz.php sieht so aus:

PHP-Code:
<?php
include 'scripts/php/index_count_all_files.php';
$ordner = 'web-alben';
$anzahl = get_dir($ordner);
echo " {$anzahl['files']} Bilder und "
. "{$anzahl['ordner']} Unterverzeichnisse im Ordner: $ordner";
?>


Ich erhalte folgende Fehlermeldung auf der HP:

Parse error: syntax error, unexpected T_ELSE in /usr/export/www/vhosts/funnetwork/hosting/floli1privat/scripts/php/index_count_all_files.php on line 10

Ich bin mir sicher, dass ich den Befehl
get_dir("$dir/$datei");
nicht an richtiger Stelle eingefügt habe. MÖglicherweise fehlt auch noch etwas!
Ich bin alles andere als ein Profi bei PHP oder was andere Progrommiersprachen betrifft. Ich bitte dies bei Euren Antworten zu berücksichtigen.
Hier komm ich leider nicht weiter.
Wer kann mir helfen?

Vielen Dank im Voraus.

Viele Grüße,
Flo
(ccolucci)
ccolucci ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.10.2008, 15:13  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Beim Posten bitte [php] bbTags statt eigener Formatierung verwenden.

Beispielcodes für ein ähnliches Problem findest Du im Wiki.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 14.10.2008, 15:21  
Neuer Benutzer
 
Registriert seit: 14.10.2008
Beiträge: 6
ccolucci befindet sich auf einem aufstrebenden Ast
Standard

Hallo nikosch,

vielen Dank für deine schnelle ANtwort.

Im Wiki hab ich nur "verzeichnisse auslesen" entdeckt. Unterverzeichnisse auslesen ist zwar auch dabei, aber dies hilft mir leider nicht weiter, da ich die Dateien (möglichst nur .jpg) ja zählen will.
Da ich anfänger bin, weiß ich auch nicht, wie ich das umschreiben müsste..
Könntest du mir da helfen?
Grüße,
ccolucci
ccolucci ist offline  
Alt 14.10.2008, 16:25  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Im Prinzip nicht so schwer.
- if ('.' == $file || '..' == $file) macht dasselbe, wie Deine preg_match Zeile oben. Nur performanter
- In den Block // Ausschluss von Verzeichnisnamen vor continue; käme der Zähler für Verzeichnisse
- Dort, wo $file verarbeitet wird, käme Dein Datei-Counter
- um bestimmte Dateinamen zuzulassen/auszuschließen käme ein ähnlicher Mechanismus wie der zum Einsatz, der . und .. ausschließt. Dazu mußt Du $file auswerten nach bestimmten Dateiendungen, z.B. mit Stringfunktionen
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 14.10.2008, 16:30  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

http://www.php.de/php-einsteiger/476...tml#post368300
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 14.10.2008, 16:33  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Du hast wieder nicht gelesen Jego!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 14.10.2008, 16:58  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

@nikosch: mir ist schon klar, das das damit nicht alles geht. Aber dort stecken unteranderem die ansätze zur Problemlösung drin.
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 14.10.2008, 17:34  
Neuer Benutzer
 
Registriert seit: 14.10.2008
Beiträge: 6
ccolucci befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Im Prinzip nicht so schwer.
- In den Block // Ausschluss von Verzeichnisnamen vor continue; käme der Zähler für Verzeichnisse
- Dort, wo $file verarbeitet wird, käme Dein Datei-Counter
Stringfunktionen

In meinem php skript befindet sich kein "continue". Wie muss der Zähler aussehen?
Wo ist die Stelle genau , an der $file verarbeitet wird?

Kannst du /jemand evtl meinen COde auch einfach ergänzen oder abändern, sodass er funktioniert?
ccolucci ist offline  
Alt 14.10.2008, 17:47  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ich bezog mich auf das Beispiel aus dem Wiki. Dein obiges Script finde ich umständlich und unübersichtlich.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] script das html dateien aus einem bestimmten ordner listet PHP Tipps 2004 16 09.05.2009 18:52
[Erledigt] Alle Dateien eines Ordner und aller Unterordner aufrufen und die Größe ber BartTheDevil89 PHP Tipps 2008 6 12.08.2008 19:17
Ordner inkl. aller Unterordner und Dateien verschieben? BartTheDevil89 PHP Tipps 2008 6 14.02.2008 08:45
TreeMenu Fatal Error PHP Tipps 2006 8 07.04.2006 11:22
Anzahl der Dateien in einem Ordner zählen PHP Tipps 2006 4 16.01.2006 20:44
Problem beim Dateien zählen thefaxx PHP Tipps 2005-2 7 01.07.2005 20:47
Dateien aus einem Ordner löschen PHP Tipps 2005-2 14 13.06.2005 21:27
Dateien zählen! d4rki PHP Tipps 2004-2 1 17.12.2004 17:47
Dateien aus beliebigem Ordner packen ?? nsane PHP-Fortgeschrittene 2 10.12.2004 21:42
*.jpg in Ordner mit Unterordnern zählen. PHP Tipps 2004 1 12.10.2004 03:44
[Erledigt] Ordner und Unterordner auslesen PHP-Fortgeschrittene 8 06.10.2004 18:16
files in ordner UND unterordner zählen? Promaetheus PHP Tipps 2004 4 20.09.2004 16:05
WebFTP: php denkt die ordner wären dateien... phpfortgeschrittener PHP Tipps 2004 15 09.08.2004 18:38
ordner und dateien mit php anzeigen...wie? phpfortgeschrittener PHP Tipps 2004 5 04.08.2004 22:13
Alle Dateien aus Ordner + Unterordner auslesen PHP Tipps 2004 1 02.08.2004 16:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
javascript dateien zählen, http://www.php.de/php-tipps-2008/48130-jpg-dateien-einem-ordner-und-dessen-unterordner-zaehlen.html, php dateien in einem ordner zählen, dateien zählen php verzeichnis, javascript dateien im verzeichnis zählen, php ordner zählen, dateien zählen, php dateien in ordner zählen, php dateien im ordner zählen, php dateien im verzeichnis zählen, php dateien eines ordners zählen, php dateien zählen ordner, unterordner und dateien zählen php, dateien in unterordnern zählen php, php dateien in einem verzeichnis zählen, \dateien zählen mit javascript\, php dateien in einem ordner, bilder in unterordner zählen php, php alle jpeg dateien, php anzahl der dateien unterverzeichnissen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:07 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum