OffTopic:
bitte öffne mal das fenster, da steht einer, der schreit abwechselnd rekursion und is_dir(), ich kanns bis hier hören!
Last Update
Einklappen
X
-
also ich hab in DIESEM thread genau das gefunden was ich suche, das ganze rekursiv. Also ich habe es hiermit versucht:
PHP-Code:<?php
GetDirArray(".");
// Ausgabe von $dir
for($i=0;$i<count($dir);$i++) {
echo "$dir[$i]<br>";
}
function GetDirArray($sPath)
{
global $dir; // ARRAY $DIR MUSS GLOBAL SEIN
//Load Directory Into Array
$handle=opendir($sPath);
while ($file = readdir($handle))
{
$retVal[count($retVal)] = $file;
}
//Clean up and sort
closedir($handle);
sort($retVal);
//return $retVal;
while (list($key, $val) = each($retVal))
{
if ($val != "." && $val != "..")
{
$path = str_replace("//","/",$sPath.$val);
$dir[] = $path; // SPEICHERUNG IM ARRAY $DIR
if (is_dir($sPath.$val))
{
GetDirArray($sPath.$val."/");
}
}
}
}
?>
Kommentar
-
ok, vergesst das von voher. Ich hab mir nun diese Rekursion selber geschriben:
PHP-Code:<?PHP
function get($verzeichniss)
{
$verz=opendir ($verzeichniss);
while ($file = readdir ($verz)) {
if (($file == ".") OR ($file == ".."))
{
}
else
{
if (is_dir($file) == true)
{
get($file);
}
else
{
echo(filemtime($file));
echo($file);
echo("<br><br>");
}
}
}
closedir($verz);
}
get(".");
?>
Also bei den Dateien, die im selben ordner wie das scriipt liegen gehts. Bei den anderen gibt es oben genannten fehler
Kommentar
-
Hmm, ich hab das ganze noch ein bischen modifiziert:
PHP-Code:<?PHP
function get($verzeichniss)
{
$verz=opendir ($verzeichniss);
while ($file = readdir ($verz)) {
if (($file == ".") OR ($file == ".."))
{
}
else
{
if (is_dir($file) == true)
{
$newverz=$verzeichniss."/".$file;
get($newverz);
}
else
{
$newfile=$verzeichniss."/".$file;
echo(filemtime($newfile));
echo($verzeichniss);
echo($file);
echo("<br><br>");
}
}
}
closedir($verz);
}
get(".");
?>
Kommentar
-
juhuu, ich habs geschafft. Ich darf nur nicht mit $file vergleichen, sondern mit $newverz. Dann klappts. Jetzt noch ne Frage zu den Timestamps: Kann ich einfach diese UNIX Timestamps überprüfen, und den höchsten dann in ein richtiges datum umwandeln? Oder wie kann man diese Timestamps vergleichen? Also wenn ich z.b. sage 234234432>324234234 ist dann 324234234 auch wirklic die aktuellste, oder setzt sich der Timestamp anders zusammen?
Kommentar
-
OK, also kann ich sie vergleichen. HAb das jetzt so gemacht:
PHP-Code:<?PHP
$high=0;
function get($verzeichniss)
{
$verz=opendir ($verzeichniss);
while ($file = readdir ($verz)) {
if (($file == ".") OR ($file == ".."))
{
}
else
{
$newverz=$verzeichniss."/".$file;
if (is_dir($newverz) == true)
{
get($newverz);
}
else
{
if (filemtime($newverz) > $high)
{
$high=filemtime($newverz);
}
}
}
}
closedir($verz);
}
get(".");
echo($high);
?>
Kommentar
Kommentar