Guten Abend alle mit einander,
ich zerbreche mir den Kopf, ich komm einfach nicht weiter ...
Im Moment schreibe ich eine Seite die die Ausgelagerten Lesezeichen von Firefox nimmt und in eine Array schmeißt, die dann sortiert und schlussendlich dann wieder zu so einer Datei macht die dann Firefox wieder einließt.
Die Funktion die die Lesezeichen jedoch wieder zurück schreiben soll funktioniert nicht so wie gedacht.
Um folgende Methode handelt es sich:
Sie gibt alles richtig aus nur leider immer nur das erste Lesezeichen eines Ordners die Restlichen scheint es zu überspringen. Die Array die Rein kommt ist Korrekt, daran kann es nicht liegen. Ich hab echt nen Brett vorm Kopf. Sitz schon seit zwei Tagen dran und weiß einfach nicht was ich falsch gemacht habe.
Wenn jemand mir helfen könnte wäre ich wirklich glücklich damit ich endlich weiter komme.
Ich habe das Gefühl das einfach die foreach Bedingung zu schnell eintritt.
Solltet ihr die Array brauchen:
Das ist nur ein Beispiel das den Aufbau verdeutlichen soll.
Ich hoffe mit kann jemand helfen, fragt nach falls euch irgendeine Info fehlt.
Mit Hoffnung,
Flo
ich zerbreche mir den Kopf, ich komm einfach nicht weiter ...
Im Moment schreibe ich eine Seite die die Ausgelagerten Lesezeichen von Firefox nimmt und in eine Array schmeißt, die dann sortiert und schlussendlich dann wieder zu so einer Datei macht die dann Firefox wieder einließt.
Die Funktion die die Lesezeichen jedoch wieder zurück schreiben soll funktioniert nicht so wie gedacht.
Um folgende Methode handelt es sich:
PHP-Code:
public function recreate_bookmarks($array,$depth,$first_dir = FALSE){
$time = time();
$content = NULL;
foreach($array as $key => $value){
if(is_array($value)){
switch($value['TYPE']){
case 'directory':
$first_dir = TRUE;
($first_dir === FALSE)? $content .= '<HR />' : NULL;
$content .= str_repeat(' ',$depth).'<DT><H3 ADD_DATE="'.$time.'" LAST_MODIFIED="'.$time.'">'.$key.'</H3>'."\n".
str_repeat(' ',$depth).'<DL><p>'."\n";
$content .= $this->recreate_bookmarks($value,$depth+1,$first_dir)."\n";
$content .= str_repeat(' ',$depth).'</DL><p>'."\n";
break;
case 'entry':
$content .= str_repeat(' ',$depth).'<DT><A HREF="'.$value['URL'].'" ADD_DATE="'.$value['ADD_DATE'].'" LAST_MODIFIED="'.$time.'">'.$value['NAME'].'</A>';
break;
}
}
}
return $content;
}
Wenn jemand mir helfen könnte wäre ich wirklich glücklich damit ich endlich weiter komme.
Ich habe das Gefühl das einfach die foreach Bedingung zu schnell eintritt.
Solltet ihr die Array brauchen:
Code:
Array ( [Lesezeichen-Symbolleiste] => Array ( [test_ordner] => Array ( [test_unterordner] => Array ( [test_unterunterordner] => Array ( [TYPE] => directory ) [TYPE] => directory ) [TYPE] => directory ) [Ein Ordner] => Array ( [0] => Array ( [URL] => http://google.de/ [ADD_DATE] => 1391881200 [LAST_MODIFIED] => 1391881200 [NAME] => G00Gle [TYPE] => entry ) [TYPE] => directory ) [TYPE] => directory ) )
Ich hoffe mit kann jemand helfen, fragt nach falls euch irgendeine Info fehlt.
Mit Hoffnung,
Flo
Kommentar