11
Na szóval itten gondolkodtam hogy miként lehetne backupolni a bejegyzéseket, de csak szépen finoman, abban bízva, hogy remélhetőleg sosem lesz a backupra szükség.
Először arra gondoltam, egy fájlba szépen kiírom a bejegyzések szöveg mezőjét beküldéskor, oszt jóvan.
Második nekifutásra azonban készítettem egy functiont ami xml-be kiírja a bejegyzéshez kapcsolódó összes adatot, de nemcsak itt használható, hanem bárhol, rekurzívan egy akár többszíntü arrayt kinyom egy gyönyörüen formázott plain text alapú xml fájlba.
/** * rekurzÃvan xml-be fejt egy akár többszÃntü array-t */ function arrayToXML($array, $level = 0) { $return = ""; $indent = ""; for ($l = 0; $l < $level; $l++) $indent .= "\t"; foreach ($array as $key => $val) { $return .= "\r\n"; $return .= $indent; if (is_array($val)) $val = arrayToXML($val, $level+1) . "\r\n" . $indent; $return .= "<$key>$val</$key>"; } return $return; }
Majd pedig egy elegáns húzással:
$backupfile = new File(....); $content = arrayToXML($_POST, 1); $content = "\r\n<post>$content\r\n</post>"; $backupfile->appendContent($content);
Az eredmény egy konkrét példája:
<post> <b_id>2439</b_id> <szoveg><p>Müködése a kommentben.</p></szoveg> <b_cim>Quoter function</b_cim> <submit>Ment publikusan</submit> <gall_categ>0</gall_categ> <gall_entry_title></gall_entry_title> <b_commentable>on</b_commentable> <categ> <1>on</1> </categ> <b_privszoveg></b_privszoveg> </post>