01. november 2007 - 13:40
Der er
3 kommentarer og 1 løsning
IMAP folder tree
Hej Jeg forsøger at printe et folder tree over mine IMAP folders, men jeg kan simpelthen ikke få det til at virke.. Det skal stilles op på følgende måde INBOX subfolder subfolder subfolder subfolder subfolder subfolder og så videre. Jeg har lavet følgende funktion: function print_mailboxes($start = ""){ global $mbox; $list = imap_getmailboxes($mbox, "{localhost:143/novalidate-cert}$start", "%"); if (is_array($list)) { foreach ($list as $key => $val) { $name = str_replace("{localhost:143/novalidate-cert}$start", "", $val->name); print " ".$name."<br>"; if (!($val->attributes & LATT_HASNOCHILDREN)) { if($start = ""){ $next = $start . "."; } else{ $next = $start; } print_mailboxes($next . $name); } echo "<br />\n"; } } } og efter at have kørt dette: imap_createmailbox($mbox, imap_utf7_encode("{imap.example.org}INBOX.Test")); imap_createmailbox($mbox, imap_utf7_encode("{imap.example.org}INBOX.haha")); imap_createmailbox($mbox, imap_utf7_encode("{imap.example.org}INBOX.Test.hehe")); imap_createmailbox($mbox, imap_utf7_encode("{imap.example.org}INBOX.Test.hehe.huhu")); imap_createmailbox($mbox, imap_utf7_encode("{imap.example.org}INBOX.miav")); udskriver funktionen: INBOX .Test INBOX.miav INBOX.haha Jeg sidder virkelig fast og kan ikke lige se hvordan jeg skal fortsætte.
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
01. november 2007 - 17:19
#1
Problemet er din $start og $next bliver ikke husket fra gang til gang. Du kan overveje at lave dem static?
01. november 2007 - 19:55
#2
Hmm jeg ved ikke helt hvordan det fungere.. kan du give et eksempel i koden?
01. november 2007 - 22:08
#3
Okey, det hjalp ikke kun at lave dem static, men det gav da lidt. Har fået den færdige funktion til at se sådan her ud: <?php function print_mailboxes($start = ""){ global $mbox; static $tree,$name; $list = imap_getmailboxes($mbox, "{localhost:143/novalidate-cert}$start", "%"); if (is_array($list)) { $space = " "; foreach ($list as $key => $val) { $spaces = substr_count($start, "."); $spaces = str_repeat($space, $spaces); $name = str_replace("{localhost:143/novalidate-cert}".$start, "", $val->name); $name = str_replace(".", "", $name); $tree .= $spaces.$name."<br>"; if (!($val->attributes & LATT_HASNOCHILDREN)) { if(empty($start)){ $next = $start; } else{ $next = $start . "."; } //print $next . $name . "<br>"; print_mailboxes($next . $name); } } } return $tree; } ?>
01. november 2007 - 22:09
#4
svar
Vi tilbyder markedets bedste kurser inden for webudvikling