php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.02.2010, 23:24  
Neuer Benutzer
 
Registriert seit: 21.02.2010
Beiträge: 12
PHP-Kenntnisse:
Anfänger
cider befindet sich auf einem aufstrebenden Ast
Standard Wie Größe einer IMAP/NNTP Message ohne kompl. Download rausfinden?

Hi,

ich möchte mir gerne eine Liste der Nachrichten in einer Newsgroup mitsamt der jeweiligen Größe in Bytes ausgeben.

Die Funktionen imap_fetchstructure(), imap_headerinfo() sowie dessen alias imap_header() liefern mir die Größe in Bytes, aber anders als vermutet laden die Funktionen auch den kompletten Body der Nachricht runter. Das wäre zu viel Traffic, das geht nicht.

Die Funktion imap_fetchheader() lädt zwar wirklich nur die Header runter, liefern mir aber wiederum nicht die Größe aus. Statt "Size" bekomme ich ein "Lines", und damit kann ich leider auch nicht die Größe berechnen (so ungefähr würde mir schon reichen, aber mal sinds 50 Zeichen pro Zeile, mal 130 Zeilen - das ist mir dann doch zuviel Abweichung )

Hat jemand ne Idee?

Vielen Dank schonmal!
Cider

Geändert von cider (22.02.2010 um 22:42 Uhr). Grund: versehen, headerinfo lädt doch den body runter
cider ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.02.2010, 23:43  
Erfahrener Benutzer
 
Registriert seit: 21.12.2009
Beiträge: 415
PHP-Kenntnisse:
Fortgeschritten
G.Schuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Öhm...PHP: imap_headerinfo - Manual
Zitat:
Size - Größe der Nachricht in Bytes
fetchheader liefert nach RFC aus, ich glaube kaum, dass das RFC die Größe in Zeilen beschreibt.
Und weil's so schön ist: wie wäre es mit imap_fetch_overview?
Zitat:
size - Größe der Nachricht in Bytes
Wenn du jetzt weiterhin der Überzeugung bist, überall nur die Anzahl Zeilen zu bekommen beglückwünsche ich dich zu deinem aussergewöhnlichen PHP-Kompilat.
G.Schuster ist offline   Mit Zitat antworten
Alt 22.02.2010, 22:02  
Neuer Benutzer
 
Registriert seit: 21.02.2010
Beiträge: 12
PHP-Kenntnisse:
Anfänger
cider befindet sich auf einem aufstrebenden Ast
Standard

Sorry, mit der imap_headerinfo() hab ich mich versehen. Die zeigt zwar die Size an, lädt aber auch den kompletten body runter.

Hier nochmal mein Testscript:
PHP-Code:
<?php
$starttime 
explode(' 'microtime());
$starttime $starttime[1] + $starttime[0];

$SERVER "{europe.news.astraweb.com:119/nntp}";
$GROUP "alt.binaries.cd.image.linux";
$USER "meinusername";
$PASS "meinpasswort";

$nntp imap_open($SERVER.$GROUP$USER$PASS);
$nrMsgs imap_num_msg($nntp);

echo 
"Number of Messages: $nrMsgs"."<br />";

//for($i = 800; $i < 801; $i++){
for($i 8000$i 8100$i++){

    
$header imap_fetch_overview($nntp$i);
    echo 
"Message $i"."<br /><pre>";
//    print_r($header);
    
echo "</pre>";
}

$mtime explode(' 'microtime());
$totaltime $mtime[0] + $mtime[1] - $starttime;
printf('Page loaded in %.3f seconds.'$totaltime);

imap_close($nntp);
?>
Und hier nochmal genau die Ergebnisse mit den verschiedenen Funktionen:
Code:
Funktion                Size?                  Zeit für 100 Messages:
imap_headerinfo         Ja                     31s
imap_fetchheader        Nein                   7s
imap_fetchstructure     Ja                     36s
imap_fetch_overview     Ja                     27s
Wie man in der obigen Tabelle sehen kann werden bei headerinfo, fetchstructure und fetch_overview die kompletten Nachrichten runtergeladen. Das möchte ich gerne verhindern. fetchheader ist schnell da wirklich nur die header runtergeladen werden, allerdings sehe ich da nicht die Size...

Hat noch jemand ne Idee?
cider ist offline   Mit Zitat antworten
Alt 22.02.2010, 22:11  
Erfahrener Benutzer
 
Registriert seit: 21.12.2009
Beiträge: 415
PHP-Kenntnisse:
Fortgeschritten
G.Schuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Poste doch bitte den Output von imap_fetchheader().
Aber bitte unbearbeitet/geschönt.
__________________
actra.development - Schwabstr. 2 - 70825 Münchingen
www.actra.de/velopment/ - eMail: php.de@actra.de
Zend Certified Engineer for PHP5
G.Schuster ist offline   Mit Zitat antworten
Alt 22.02.2010, 22:25  
Neuer Benutzer
 
Registriert seit: 21.02.2010
Beiträge: 12
PHP-Kenntnisse:
Anfänger
cider befindet sich auf einem aufstrebenden Ast
Standard

Ein paar Beispiele:

Code:
Path: news.astraweb.com!news-xref3.astraweb.com!news.astraweb.com!border5.a.newsrouter.astraweb.com!feeder.news-service.com!cyclone01.ams2.highwinds-media.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!XbyXl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Thu, 29 Oct 2009 10:28:16 -0500
From: ub@un.tu
Newsgroups: alt.binaries.cd.image,alt.binaries.cd.image.linux
Subject: Ubuntu 9.10 alternate i386 Karmic Koala - "ubuntu-9.10-alternate-i386.part15.rar" yEnc (18/89)
User-Agent: Newspost/2.1.1 (http://newspost.unixcab.org/)
X-No-Archive: yes
Message-ID: 
Date: Thu, 29 Oct 2009 10:28:16 -0500
Lines: 2692
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-re15o1qPFT63lFoiBmSUWSW8Kw6vpCuJERbZYlOUcEPe0quPilUcLyugnQXbpa6sk3tDwRkm6AO3F/4!TTnO/7i6u7lzvQMTX2EIXS84xnetIhnic9QBuGF6qtal3FQmAM7iz9NFGbCssjRIWjbGXtZi+lg=
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
Xref: news.astraweb.com alt.binaries.cd.image:155239967 alt.binaries.cd.image.linux:1655246
Code:
Path: news.astraweb.com!news-xref2.astraweb.com!border2.a.newsrouter.astraweb.com!news.astraweb.com!border3.a.newsrouter.astraweb.com!eweka.nl!hq-usenetpeers.eweka.nl!proxad.net!cleanfeed3-a.proxad.net!lvsnews-5.proxad.net!not-for-mail
From: FtpMaster <ftpmaster@ftp.free.fr>
Newsgroups: alt.binaries.cd.image.linux
Subject: ftp.free.fr is posting Fedora-10-i386-DVD.iso [15/44] - "Fedora-10-i386-DVD.iso.part14.rar" yEnc (025/100)
Message-ID: <1227625294.82971.25@lvsnews.proxad.net>
X-Newsposter: newsmangler 0.02 (yenc-fred) - http://www.madcowdisease.org/mcd/newsmangler
Date: 25 Nov 2008 16:19:12 GMT
Lines: 8321
Organization: Guest of ProXad - France
NNTP-Posting-Host: 212.27.60.27
X-Trace: 1227629952 lvsnews-5.proxad.net 2356 212.27.60.27:53329
X-Complaints-To: abuse@proxad.net
Xref: news.astraweb.com alt.binaries.cd.image.linux:1626238
Zitat:
Path: news.astraweb.com!news-xref3.astraweb.com!news.astraweb.com!border2.a.new srouter.astraweb.com!multikabel.net!newsfeed10.mul tikabel.net!feeder1.cambriumusenet.nl!feed.tweakne ws.nl!193.201.147.78.MISMATCH!feeder.news-service.com!cyclone03.ams2.highwinds-media.com!cyclone01.ams2.highwinds-media.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!border1.nntp.dca.giganews.com!Xby.tags.g iganews.com!border2.nntp.dca.giganews.com!nntp.gig anews.com!backlog2.nntp.dca.giganews.com!nntp.powe rusenet.com!news.powerusenet.com.POSTED!not-for-mail
NNTP-Posting-Date: Thu, 26 Mar 2009 11:39:36 -0500
From: Yenc@power-post.org (Yenc-PP-A&A)
Sender: Yenc@power-post.org
Newsgroups: alt.binaries.cd.image.linux,alt.binaries.linux.iso
Subject: (nUbuntu 8.12 beta) [13/55] - "nubuntu-8.12-beta.part11.rar" yEnc (10/61)
X-Newsposter: YENC-POWER-POST-A&A-v11b (Modified POWER-POST cosmicwolf.com)
Message-ID:
Date: Thu, 26 Mar 2009 11:39:37 -0500
Lines: 1985
X-Trace: sv3-lRn1eG4qftakNTZQrfOhgS8pAUIqNL691oZzoSEvtLsegEnZDO rTS5xvTzZa+YvkV8oEb4QIuyqvD3B!gnmD0WbSyj5D7LH+9iuS CHDY6OvA3taygfjx151npmPvDlqQ9PqCrf55IJLETtsTWjrE0P DwldLa!X8+l18F/OikZv+7ajLqaLRtt
X-Complaints-To: Power Usenet
X-DMCA-Complaints-To: www.powerusenet.com/docs/abuse.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.39
X-Original-Bytes: 258771
Xref: news.astraweb.com alt.binaries.cd.image.linux:1635240
Code:
Path: news.astraweb.com!news-xref3.astraweb.com!news.astraweb.com!border1.newsrouter.astraweb.com!news.alt.net!news-in-01.newsfeed.easynews.com!easynews.com!easynews!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!209.197.12.242.MISMATCH!nx01.iad01.newshosting.com!newshosting.com!216.196.98.140.MISMATCH!border1.nntp.dca.giganews.com!Xby.tags.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!backlog2.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Fri, 08 May 2009 11:45:08 -0500
From: fobs3470@mypacks.net (fobs3470@mypacks.net)
Sender: fobs3470@mypacks.net
Newsgroups: alt.binaries.cd.image.linux,alt.binaries.linux.iso
Subject: Kubuntu 9.04 "Jaunty Jackalope" DVD full ISO [103/104] - "kubuntu-9.04-dvd-i386.vol159+33.PAR2" yEnc (71/80)
Reply-To: fobs3470@mypacks.net
X-Newsposter: YENC-POWER-POST-A&A-v11b (Modified POWER-POST www.CosmicWolf.com)
Message-ID: 
Date: Fri, 08 May 2009 11:45:08 -0500
Lines: 5082
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-YJPNW9I0GeKaAb1fpbhMV3D9x3yZNz+hQUJAzJ47GEUulKYbYis8sS4XjqlcVR/KQQVDPC/4+sTIKke!PoFTFsOI6Ey4gui+TyLKoqmAUDiqEqmlQZLnfqZBpywBKMWMR1HM0T1UCkpUXCRe4fzQ90y3yBPL!NZEwizIh
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.39
X-Original-Bytes: 661512
Xref: news.astraweb.com alt.binaries.cd.image.linux:1645243
Bei den beiden letzten ist zufällig "X-Original-Bytes" vorhanden, das ist aber leider kein Standard und bei den meisten Nachrichten auch nicht vorhanden...
Danke für deine Hilfe!
cider ist offline   Mit Zitat antworten
Alt 22.02.2010, 22:29  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Vielleicht hilft Dir das: PHP: imap_headerinfo - Manual Dort wird spekuliert, ob imap_headerinfo für jeden Header eine eigene Abfrage startet.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 22.02.2010, 23:44  
Erfahrener Benutzer
 
Registriert seit: 21.12.2009
Beiträge: 415
PHP-Kenntnisse:
Fortgeschritten
G.Schuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ehrlich gesagt, das Letzte, dass ich erwartet hätte, wäre die kontinuierliche Angabe der Zeilenzahl gewesen...
Wie es aussieht bleiben dir als nicht viele Möglichkeiten:
- verzichte auf die Größenangabe
- lade jedes Mal die Ganze Nachricht
- zeige nur die Größe, wenn im Header angegeben
- bau dir eine Mischung - wenn im Header verwende diesen Wert, andernfalls ziehe die ganze Nachricht

Mehr fällt mir dazu jetzt auch nicht ein, dafür hab ich mich zu wenig mit NNTP beschäftigt.
__________________
actra.development - Schwabstr. 2 - 70825 Münchingen
www.actra.de/velopment/ - eMail: php.de@actra.de
Zend Certified Engineer for PHP5
G.Schuster ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
nntp php, php nntp, abuse@astraweb.com, imap größe, newsmangler download, http://www.madcowdisease.org/mcd/newsmangler, maximum subject length nntp, php imap mail size, nntp head message size, yenc-fred, php imap nntp, giganews imap_open, größe imap, imap grösse, giganews nntp, php imap_fetchheader size, abuse@proxad.net, nubuntu-8.12-beta.iso, www.cosmicwolf.com, nntp

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:24 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum