Eurokicker
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 18.03.2005, 18:44   #1
TP-Member
 
Registriert seit: Feb 2005
samuelshp macht alles soweit korrekt
Unhappy

[PHP] Fehler in Script (Dateien zählen mit aktuellem Datum)


Bei folgendem Script liegt irgendwo ein Feheler. Ich weiß aber nicht wo. Normalerweise sollten alle Dateien gezählt werden, deren Erstellungsadatum mit dem aktuellem Datum übereinstimmt. Es wird immer 1 zurückgegeben. Vielleicht könnt ihr mir helfen.
PHP-Code:
function countJpgRecursiv$pfad null )
{
  if( 
is_null$pfad ) ) $pfad dirname__FILE__ );

  
$result null;

  if( !
file_exists$pfad ) )
    die( 
$pfad " existiert nicht" );

  
$opendir opendir$pfad );

  while( 
$file readdir$opendir ) )
    if( 
$file != '.' && $file != '..' ):

      
$file $pfad"/" $file;

      if( 
is_Dir$file ) )
      {
          
$tmp countJpgRecursiv$file );
          if( 
is_null$result ) || date("d.m.Y",filemtime($file))==date("d.m.Y"$datum) )
            
$result += $tmp;

      }else{
          if( 
substr(strtolower$file ), -4) == ".jpg" )
            if( 
is_null$result ) || date("d.m.Y",filemtime($file))==date("d.m.Y"$datum) )
              
$result++;
      }
    endif;
  
closedir$opendir );
  return 
$result;

samuelshp ist offline   Mit Zitat antworten


Alt 18.03.2005, 19:01   #2
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Der Haken liegt an $result.
Was nutzt z.B. die Rekursion, wenn $result dann wieder NULL gesetzt wird.

so funktioniert es:

PHP-Code:
$result=0;
echo 
countJpgRecursiv("/images");
function 
countJpgRecursiv$pfad null 

  global 
$result;
  if( 
is_null$pfad ) ) $pfad dirname__FILE__ ); 

  if( !
file_exists$pfad ) ) 
    die( 
$pfad " existiert nicht" ); 

  
$opendir opendir$pfad ); 

  while( 
$file readdir$opendir ) ) 
    if( 
$file != '.' && $file != '..' ): 

      
$file $pfad"/" $file

      if( 
is_Dir$file ) ) 
      { 
          
$tmp countJpgRecursiv$file ); 
          if( 
date("d.m.Y",filemtime($file))==date("d.m.Y"$datum) ) 
            
$result += $tmp

      }else{ 
          if( 
substr(strtolower$file ), -4) == ".jpg" 
              echo 
"$file - ".date("d.m.Y",filemtime($file))."<br>";
            if( 
date("d.m.Y",filemtime($file))==date("d.m.Y"$datum) ) 
              
$result++; 
      } 
    endif; 
  
closedir$opendir ); 
  return 
$result

__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer

Geändert von steffenk (18.03.2005 um 19:03 Uhr).
steffenk ist offline   Mit Zitat antworten
Alt 18.03.2005, 19:16   #3
TP-Member
 
Registriert seit: Feb 2005
samuelshp macht alles soweit korrekt
nee,das geht noch nicht.

erstmal was soll das da am Anfang, vor der Funktion?

2. Es werden jetzt alle Dateien ausgegeben mit dem Datum aufgrund des Echos das du eingefügt hast, aber zählen tut das Script nicht.
samuelshp ist offline   Mit Zitat antworten
Alt 18.03.2005, 21:22   #4
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
bei mir geht das schon.
Der Anfang - da wird die Variabel $result initialisiert.
Das echo ist nur aus Debuggründen drin, das kannst Du auch löschen.
Da $result auch in der Rekursion bekannt ist, wird immer weiter hochgezählt - ich bekomme das korrekte Ergebnis geliefert.
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 19.03.2005, 12:42   #5
TP-Member
 
Registriert seit: Feb 2005
samuelshp macht alles soweit korrekt
Es tut mir wirklich Leid, dass sagen zu müssen, aber dieser Script funktioniert wirklich nicht. Ich hab den Script jetzt um sicher zu gehen aus dem Gesamtscript herausgenommen. Doch es wird eine unsinnige ausgegeben. Ich hab jetzt eigentlich alles am Code verstanden. Und hab das mit Debug gelassen um per Hand zu zählen wieviel Dateien es sind. Es sind 7, die auch in der Liste richtig angezeigt (mit datum) werden, aber unter der Liste steht 28. Hilfe!

Geändert von samuelshp (19.03.2005 um 12:53 Uhr).
samuelshp ist offline   Mit Zitat antworten
Alt 19.03.2005, 13:02   #6
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Wenn da 0 steht, dann liegt das daran, dass filemtime einen anderen Wert als "heute" liefert.
$datum ist bei Dir auch nicht angegeben.

Also:
1. nimm das $datum raus oder definiere es
2. benutze z.B. fileatime
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 20.03.2005, 17:50   #7
TP-Member
 
Registriert seit: Feb 2005
samuelshp macht alles soweit korrekt
Ich habs mal etwas anders gemacht, so gehts bei mir.
PHP-Code:
function countJpgRecursiv($path)
{
$result 0;
$handle opendir($path);
if (
$handle)
{
while (
false !== ($file readdir($handle)))
{
if (
$file != "." && $file != "..")
{
$name $path "/" $file;
if (
is_dir($name))
{
$result += countJpgRecursiv($name);
}
else
{
if (
substr(strtolower($name), -4) == ".jpg" && date("d.m.Y",filemtime($name))==date("d.m.Y"time()))
$result++;
}
}
}
}
closedir($handle);
return 
$result;
}

echo 
countJPGRecursiv("../wallpaper"); 
samuelshp ist offline   Mit Zitat antworten
Alt 20.03.2005, 19:12   #8
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
aha, also das undefinierte $datum

übrigens, date("d.m.Y", time()) geht auch einfacher mit date("d.m.Y")
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 20.03.2005, 20:56   #9
TP-Member
 
Registriert seit: Feb 2005
samuelshp macht alles soweit korrekt
Thumbs up

Danke, für die Hilfe die ihr mir gegeben habt, aber das mit der Variable $datum war nur ein Fehler. Es ging trotzdem nicht.
samuelshp ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
[PHP] Fehler in Script (Dateien zählen mit aktuellem Datum) [PHP] Fehler in Script (Dateien zählen mit aktuellem Datum)
« 1 DB für 2 verschiedene Domains? | phpweiterleitung »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67