(PHP 4 >= 4.0.7, PHP 5)
imap_thread — Liefert einen Baum zusammenhängender Nachrichten
Liefert einen Baum von zusammenhängenden Nachrichten.
imap_thread() liefert ein assoziatives Array von Nachrichten die über REFERENCES verknüpft sind oder FALSE bei Fehlern.
Jede Nachricht im aktuellen Postfach wird im zurückgegebenen Array durch drei Einträge repräsentiert:
$thread["XX.num"] - aktuelle Nachrichtennummer
$thread["XX.next"]
$thread["XX.branch"]
Beispiel #1 imap_thread() Example
<?php
// Ausgabe der verschiedenen Themenstränge einer Newsgroup in HTML
$nntp = imap_open('{news.example.com:119/nntp}some.newsgroup', '', '');
$threads = imap_thread($nntp);
foreach ($threads as $key => $val) {
$tree = explode('.', $key);
if ($tree[1] == 'num') {
$header = imap_headerinfo($nntp, $val);
echo "<ul>\n\t<li>" . $header->fromaddress . "\n";
} elseif ($tree[1] == 'branch') {
echo "\t</li>\n</ul>\n";
}
}
imap_close($nntp);
?>
I figure other people may benefit from an explanation of the resulting array, My understanding is:
Key: Essentially a node ID
Num: The mail ID (where 0 indicates the start of a conversation)
Next: The node ID of the first child (where 0 indicates there are no children)
Branch: The node ID of the next sibling (where 0 indicates there is no sibling)
One possible option to imap_thread is the constant SE_UID, which will make imap_thread return UIDs instead of sequence numbers in the x.num-fields of the returned array.