PHP, Verzeichnis auslesen

Schweinchen59

Cadet 1st Year
Registriert
März 2006
Beiträge
14
In meinem Programm (PHP5) soll ein gesamtes Verzeichnis kopiert werden. Quell- und Zielverzeichnisse (incl. Unterverzeichnisse) existieren. Aus jedem Verzeichnis sollen alle Dateien in jeweils ein array (dateien[]) gelesen werden, welche dann in das Zielverzeichnis kopiert werden sollen.
Hauptverzeichnis läuft. Weil aber die Unterverzeichnisse nicht funktionieren, habe ich schon einige „PUNKTE“ zur Kontrolle in den Code eingebaut.
Es sieht nun so aus, als gäbe es weder Verzeichnisse noch Dateien in der Quelle.
Definitiv sind 19 Dateien (*.txt, *.gif, *.php) vorhanden.

Hier der Code
echo "<br />";
$qfile3 = "";
$vh3="";
$dateien=array();
echo "Quelle : = ";
echo $quelle3 = "./kunden/final/lang/";
//echo $quelle_3;
echo "<br />";

if (is_dir($quelle_3))
{
echo "Punkt 1:";echo "<br />";
if ($vh3 = opendir($quelle_3))
{
echo "Punkt 2:";echo "<br />";
while (($qfile3 = readdir($vh3)) !== false)
{
echo "Punkt 3:";echo "<br />";

if (is_file($qfile3))
{
echo "Punkt 4:";echo "<br />";
$dateien[] .= $qfile3;
}
else
{
if (is_dir($qfile3))
{
$dateien[] .= $qfile3;
}
else
{
echo "nix von beiden";echo "<br />";
}
}
}
closedir($vh3);
}
}
else
{
echo "kein VZ:";echo "<br />";
}



das Ergebnis:
Quelle : = ./kunden/final/lang
Punkt 1:
Punkt 2:
Punkt 3:
Punkt 3:
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden
Punkt 3:
nix von beiden

Was bitte ist falsch???

mfg
ein Schweinchen
 
1. Code-Tags benutzen!
2. Weißt du überhaupt was in $qfile3 jeweils drin steht? Du bekommst nämlich immer nur den Dateinamen zurück und ein is_file( $qfile3 ) hilft dir da nicht viel, denn is_file( 'abc' ) wird nie eintreten, wenn die Datei nicht im Script-Root liegt.
 
Code bitte formatieren. Das ist ja unlesbar so. Fast schon Vergewaltigung.

ich persönlich habe die Erfahrung gemacht, dass die "is_dir()"-Funktion unter PHP SEHR unzuverlässig ist. Bei mir wurden oft genug Ordner nicht als solche erkannt (speziell rekursiv versagt die Funktion ziemlich). Ich würde auf eine andere Möglichkeit zur Ordner-Traversierung umschwenken. Ich erinner mich gerade nicht mehr welche ich genutzt hatte und weil mein Mitbewohner unbedingt etwas runterladen muss kann ich auch grad nicht in sinnvoller Zeit googlen ... Aber ich vermute den Fehler beim "is_dir()"

Edith sagt: Die anderen Beiträge sind hilfreicher.
 
Zuletzt bearbeitet:
Zurück
Oben