close× Call Us +49 (1805) 01 29 59

SGI Fusion
Thread Author: phppower
Thread ID: 2955
Thread Info
Es gibt 6 Beiträge zu diesem Thema, und es wurde 1819 mal angesehen.
Wer ist hier? 1 Gäste
 Thema drucken
Fehler in meinem Code??
phppower
Hallo,

ich habe mir eine Abfrage geschrieben und die Menge bestimmter Dateien aus einem Ordner + aller Unterordner auszulesen. Jedoch bekomme ich ständig Fehlermeldungen. Vielleicht sieht von euch einer die Ursache dafür?


<?php
$endung = array('bmp','png','jpg','gif');
function myReadDir($path)
{
if ($handle = opendir($path))
{
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
if (in_array(substr($file, -3), $endung))
}
if (is_dir($path . '/' . $file))
{
myReadDir($path . '/' . $file);
}else
{
$anzahl = count($file);
if ($anzahl != 0)
{
sort($file);
for($i=0; $i<$anzahl; $i++)
}
echo "<p>".$anzahl." Dateien</p>";
}
}
closedir($handle);
}
}
myReadDir("./files");
?>
 
SC-Ad-Bot
 
emblinux
Du hast in deinem Code eine IF-Anweisung, die keinen Anweisungsblock hat also keine { } dahinter mit dem enthaltenem Code darin.

Dasselbe bei der For-Schleife. Also nochmal drüber schauen und die Anweisungsblöcke beachten, das diese an der richtigen Stelle anfangen und beendet werden.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
phppower
hmm ich muß Blind sein oder doof oder beides, habe die {} nochmal geprüft und jede Anweisung hat eine.

Egal welche Änderung ich mache meine Fehlermeldung (Parse error: syntax error, unexpected '}' in) kommt immer wieder obwohl alle geschlossen sind.
 
phppower
Aber es sind doch beide rot markierten Felder korrekt geöffnet und geschlossen. Versteh ich grad nicht NEIN
 
phppower
Supi das hat ja schon mal geklappt. Eine Meldung weg und schon kommt die nächste jetzt sagt der ich habe einen array Fehler
Notice: Undefined variable: endung in /var/www/web361/html/php0344a/templates/default/tpl_uploader.php on line 107

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /var/www/web361/html/php0344a/templates/default/tpl_uploader.php on line 107

wäre genau die rot markierte zeile wovon du gesprochen hattest


<?php
$endung = array('jpg','png','gif','bmp');
function myReadDir($path)
{
   if ($handle = opendir($path))
   {
      while (false !== ($file = readdir($handle)))
      {
         if ($file != "." && $file != "..")
         
       if (in_array(substr($file, -3), $endung))
         
         if (is_dir($path . '/' . $file))
         {
            myReadDir($path . '/' . $file);
         } else
         {
            $anzahl = count($file);
            if ($anzahl != 0)
            {
               sort($file);}
               for($i=0; $i<$anzahl; $i++)
           
            echo "<p>".$anzahl." Dateien</p>";
         }
      }
      closedir($handle);
   }
}
myReadDir("./files");
?>


 
phppower
So ich habe jetzt nochmal von vorne mit nem UrsprungsCode gegonnen, da mein alter Code ne Mischung aus php4 und 5 war und ich da einige Fehler von vornherein gemacht habe. Nun hab ich mich Schritt für Schritt ran getastet und neu angefangen und mit Buch gearbeitet und es kam das herraus:


<?php
ini_set('display_errors', TRUE);
error_reporting(E_ALL);
function get_files($dir,&$endungen)
{
$result = array();
foreach(glob($dir.'/*') as $file)
{
$path_parts = pathinfo($file);
if(   is_file($file) &&
isset($path_parts['extension']) &&
in_array($path_parts['extension'],$endungen)
) $result[] = $file;
if(is_dir($file))
$result = array_merge($result,get_files($file,&$endungen));
}
return $result;
}
$dir = './files';
$endungen = array('pdf','doc,'txt','ppt','xst');
foreach(get_files($dir,&$endungen)  as $file) echo $file.'<br>';
?>


Funktioniert soweit auch Fehlerfrei. Jetzt komme ich aber an einen Punkt, den ich nicht im Lehrbuch finden konnte auch nicht bei google.

Diese Zeile:

foreach(get_files($dir,&$endungen)  as $file) echo $file.'<br>';
gibt mir alles (Ordner Struktur und Dateien) untereinander aus soll aber garnicht. Im Prinzip möchte ich nur die Menge der vorgegebenen Endungen insgesamt ausgeben lassen. normalerweise funktioniert dies mit count oder global jedoch zählt er dann auch die Unterordner mit dabei sollen ja nur Dateien gezählt werden.

Wäre schön wenn jemand eine Idee zur Umsetzung hätte.

MFG
Bearbeitet von phppower am 17.08.2010 00000008 13:38
 
Springe ins Forum:

 Ähnliche Themen 

TEST
Thema Forum Antworten Letzter Beitrag
My Buddysytem-Fehler: Bitte überprüfe die Dateien des Benutzerfeldes Infusionen 3 22.02.2018 00000002 14:56
Datenbank fehler Infusionen 7 24.03.2017 00000003 07:20
Hilfe MWN Geschenke System fehler Infusionen 2 27.12.2016 00000012 20:11
17+4 Fehler Games, Spiele & Co. 1 04.12.2016 00000012 09:41
Im BB Code direkt Erklärung einbinden Allgemeine Support Fragen 14 16.08.2016 00000008 06:56
Gr@n@dE