02. marts 2007 - 12:30Der er
10 kommentarer og 1 løsning
opdele ud fra bestemte krav.
Hej. Jeg har lavet et lille script som viser hvormange mails jeg har liggende i min queue. <? $command = "sudo $qmhandle -l"; exec($command, $queue); echo queue[0]; .....
?> resultater bliver så:
15861284 (203, L) Return-path: anonymous@michaelsenonline.dk From: anonymous@michaelsenonline.dk To: 123@michaelsenonline.dk Subject: Oprettelse Date: 2 Mar 2007 12:28:46 +0100 Size: 417 bytes
15861465 (173, L) Return-path: test@michaelsenonline.dk From: "test" To: <123@michaelsenonline.dk> Subject: f Date: Fri, 2 Mar 2007 11:37:43 +0100 Size: 3145916 bytes
Messages in local queue: 2 Messages in remote queue: 0
Hver mail som ligger i queuen bruger 7 linjer og jeg kunne godt tænke mig at få det splittet op således at: queue-final[0] viser den første mail i køen queue-final[1] viser den anden mail i køen og så frem deles.
Derefter skal jeg ind og have fat i den første linje fra queue-final f.eks den første linje i queue-final[0] ser sådan ud: 15861284 (203, L) og her skal jeg så have det lavet sådan at 15861284 kommer til at så for sig selv i f.eks. queue-final-number[0] osv. kan i følge mig??
Jeg kan lige så godt indrømme at preg_match -replace mv kan jeg ik finde ud af at bruge - da jeg ikke kan stille div. kritiere op - og det er jo lidt det som skal bruges her.. nogen bud????
Den vil ikke rigtig. Det er jo sådan at queue er et array. sådan så queue[0] giver denne linje: 15861284 (203, L) queue[1] giver denne: Return-path: anonymous@michaelsenonline.dk queue[2] giver denne: From: anonymous@michaelsenonline.dk
den linje som du skriver, den giver intet resultat :(
hehe ;) nu har jeg lavet det så det ser sådan ud: $command = "sudo $qmhandle -l"; exec($command, $queue); $queue = implode('',$queue); if(preg_match_all('/(\\d+)\\s\\(\\d{3},\\sL\\)\\r\\nReturn-path:\\s(.+)\\r\\nFrom:\\s(.+)\\r\\nTo:\\s(.+)\\r\\nSubject:\\s(.+)\\r\\nDate:\\s(.+)\\r\\nSize:\\s(\\d+)\\sbytes/', $queue, $matches)) { echo '<pre>'; print_r($matches); echo '</pre>';
Det skal være sådan at array1 ser sådan ud: 15861284 (203, L) Return-path: anonymous@michaelsenonline.dk From: anonymous@michaelsenonline.dk To: 123@michaelsenonline.dk Subject: Oprettelse Date: 2 Mar 2007 12:28:46 +0100 Size: 417 bytes
mens array 2 skal se ud sådanne: 15861465 (173, L) Return-path: test@michaelsenonline.dk From: "test" To: <123@michaelsenonline.dk> Subject: f Date: Fri, 2 Mar 2007 11:37:43 +0100 Size: 3145916 bytes
og så frem deles. Altså at hver mail i køen får sit eget array
Så har jeg mere eller mindre fået det til at køre. Måske på en lidt bøvlet og uoverskuelig måde, men har fået det til at virke. Jeg fandt en anden måde at frem tvinge informationerne på, og efter at have læst en del om regxp fik jeg det nogen lunde til at køre. Jeg fik hvertfal meddelsesnummeret pillet ud - hvilket et eller andet sted var alpha omega. hvis nogen ønsker nogle points for indsats - så smid et svar
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.