php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.03.2005, 18:48  
Erfahrener Benutzer
 
Registriert seit: 21.01.2008
Beiträge: 595
themonk ist zur Zeit noch ein unbeschriebenes Blatt
Standard Alternative für imap_fetchstructure()

Hallo,
ich habe versucht über einen Code E-Mails mit Anhang anzeigen zulassen, nur es funktioniert nicht.
Nun glaube ich das es an dieser Funktion liegt imap_fetchstructure().

Gibt es eine Alternative dafür?
themonk ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 22.03.2005, 18:51  
Gast
 
Beiträge: n/a
Standard Re: Alternative für imap_fetchstructure()

Zitat:
Zitat von bölckstoff
Gibt es eine Alternative dafür?
Es gibt keine Alternative dafür, den Code zu zeigen, eine klare Frage zu stellen und hinreichend Infos über In- und Output zu geben.
 
Alt 22.03.2005, 18:52  
Gast
 
Beiträge: n/a
Standard

Vieleicht imap_body ?
 
Alt 22.03.2005, 19:07  
Erfahrener Benutzer
 
Registriert seit: 21.01.2008
Beiträge: 595
themonk ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Alternative für imap_fetchstructure()

Zitat:
Zitat von meikel
Zitat:
Zitat von bölckstoff
Gibt es eine Alternative dafür?
Es gibt keine Alternative dafür, den Code zu zeigen, eine klare Frage zu stellen und hinreichend Infos über In- und Output zu geben.
Mein code zum Testen sieht so aus.

PHP-Code:
<?php
<?php

$msgnr 
"1";
$folder ="INBOX";
$user "user";
$passwd ="pw";

$inboximap_open ("{localhost/pop3:110}INBOX"$user$passwd);

// get total messages
$total imap_num_msg($inbox)+1;


for(
$i=1$i<$total$i++) {
// get message headers and structure
$headers imap_header($inbox$i);
$structure imap_fetchstructure($inbox$i);



echo 
$headers->Date;
echo 
"

"
;
echo 
$structure->parts;



}

// clean up
imap_close($inbox);
?>
?>
es wird dann für echo $headers->Date; das Datum wann die Mal geschickt wurde angezeigt und für echo $structure->parts; steht da nur Array.

Im Postfach liegt eine Mail mit einem normeln Bild Anhang.

In meinem Haupt E-Mail Code habe ich dann noch weitere Funktionen die dann denn Anhang Speicheren allerdings wird der nie soweit ausgeführt da vorher irgendwo ein Fehler ist. Deshalb habe ich alles durch getestet und bin bei structure->parts stehen geblieben, weil dort nichts ausgegeben wird.
Und deshalb frage ich nach einer Alternative für diese imap_fetchstructure().
themonk ist offline  
Alt 22.03.2005, 19:43  
Gast
 
Beiträge: n/a
Standard

Zitat:
Und deshalb frage ich nach einer Alternative für diese imap_fetchstructure().
Lies doch mal:
Zitat:
imap_fetchstructure -- Liefert die Struktur der angegebenen Nachricht
Du kriegst also das Inhaltsverzeichnis.
 
Alt 22.03.2005, 20:10  
Gast
 
Beiträge: n/a
Standard

Zusatz:
string imap_fetchbody ( int imap_stream, int msg_number, string part_number [, flags flags])

Part 0 ist der Header.
 
Alt 22.03.2005, 20:50  
Erfahrener Benutzer
 
Registriert seit: 21.01.2008
Beiträge: 595
themonk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habe das jetzt nicht verstanden was du damit sagen willst.

Ich zeig hier jetzt einfach mal einen Ausschnitt aus meinem E-Mail Code.

Ich habe 2 Claasen Dateien.

Die erste sieht so aus.

PHP-Code:
<?php
function anahng($folder$msgnr$user$passwd)
    {
    
$im = &new 2te;
    
$structure imap_fetchstructure($this->mbox($folder$user$passwd), msgnr);
    if(
$structure->parts == 0)
    {
    echo 
"
<div class='normal'>kein anhang</div>\n"
;
    }
    else
        {
        for(
$i 0$i count($structure->parts); $i++)
        {
        
$teile $structure->parts[$i];
        if(
$teile->ifdparameters != 0)
            {
            
$filename $teile->dparameters[0]->value;
            
$filename1[$i] = $im->file_decode($filename);
            
$anhang[$i] = imap_base64(imap_fetchbody($im->mbox($folder$user$passwd), $msgnr"".($i+1).""));
            }
        }
        for(
$i=1;$i<=count($filename1);$i++)
            {
            
$file $filename1;
            
$data $anhang;
            
$im->attachment($file$data);
            echo 
"<div class='normal'>Anhang :"
            
,"[url='tmp/$filename1[$i]']".$filename1[$i]."[/url]</div>
\n"
;
            }
        }

}
?>
und die 2te

PHP-Code:
<?php
function attachment($file$data)
{
for(
$i=1;$i<=count($file);$i++)
{
if(
file_exists("tmp/".$file[$i].""))
{
unlink("tmp/".$file[$i]."");
$FILE fopen("tmp/".$file[$i]."""a+") or die (" nicht oeffnen");
fwrite($FILE$data[$i]) or die (" nicht schreiben");
fclose($FILE);
}
else
{
$FILE fopen("tmp/".$file[$i]."""a+") or die (" nicht oeffnen");
fwrite($FILE$data[$i]) or die (" nicht schreiben");
fclose($FILE);
}
}
}

?>
Vielleicht zeigt das jetzt was ich will.

Ausgegeben wir bei mir immer "kein anhang" egal ob einer Vorhanden ist oder nicht.
themonk ist offline  
Alt 22.03.2005, 21:18  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von bölckstoff
Die erste sieht so aus.
PHP-Code:
<?php
function anahng($folder$msgnr$user$passwd)
    {
    
$structure imap_fetchstructure($this->mbox($folder$user$passwd), msgnr);
    if(
$structure->parts == 0# <---
?>
Vielleicht zeigt das jetzt was ich will.
Das lesen:
Zitat:
parts | Array von Objekten, die die einzelnen Unterteile der Nachricht beschreiben
PHP-Code:
<?php
if (isset($structure->parts) AND is_array($structure->parts))
{
# Teile holen
}
else
{
# gibt nix, also nur body holen.
}
?>
 
Alt 23.03.2005, 13:50  
Erfahrener Benutzer
 
Registriert seit: 21.01.2008
Beiträge: 595
themonk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo

PHP-Code:
<?php
if (isset($structure->parts) AND is_array($structure->parts))
    {
    echo 
"22222";
    }
    else
        {
  
                 echo 
"ggg";
        }
?>
So kann das aber auch nicht richtig sein, denn er gibt jetzt immer "ggg" aus, egal ob eine Anhang da ist oder nicht.
themonk ist offline  
Alt 23.03.2005, 14:48  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von bölckstoff
So kann das aber auch nicht richtig sein, denn er gibt jetzt immer "ggg" aus, egal ob eine Anhang da ist oder nicht.
Ich vermute mal, daß Du PHP4 verwendest. Ich verwende PHP5 und mache das prinzipiell so:

PHP-Code:
<?php
$s 
imap_fetchstructure($this->mbox,     $val->msgno);

switch (
$s->type)
{
    case 
0:
        
# Text
    
case 1:
        
# multipart
}
?>
wenn multipart:
PHP-Code:
<?php
foreach($s->parts as $i => $p)
{
    
$i++;
    switch(
$p->type)
    {
        case 
0# text
        
case 5# image
    
}
}
?>
Inhalte holste so ab:
PHP-Code:
<?php
$text 
imap_fetchbody($this->mbox$val->msgno$i);
?>
Wie der jeweilige Teil kodiert ist, entscheidet sich da:
PHP-Code:
<?php
switch ($p->encoding)
{
  
# siehe imap_fetchstructure
?>
 
 


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Alternative zum Datenbank Counter Aris Sung PHP Tipps 2007 3 01.03.2007 19:29
alternative zu Frames Verion1 PHP Tipps 2006 6 09.10.2006 21:06
Alternative zum Popup? Smily0412 PHP Tipps 2006 8 02.02.2006 17:52
Alternative zur IP Sperre PHP Tipps 2007 4 02.12.2005 13:19
Alternative zu fopen hilfe zapate PHP Tipps 2005-2 5 30.10.2005 23:38
Alternative zu Include PHP Tipps 2005-2 11 13.10.2005 14:13
Alternative zu PHPEclipse PHP-Fortgeschrittene 2 09.06.2005 14:28
Alternative zu simplexml Buhmann Beitragsarchiv 6 17.05.2005 16:10
[Erledigt] Alternative zu Frameset HTML, Usability und Barrierefreiheit 16 13.05.2005 20:18
Gibt es eine Alternative für phpkit ? PHP Tipps 2005 1 08.03.2005 16:52
Alternative zu fopen bei ext. Dateien PHP-Fortgeschrittene 9 23.12.2004 13:05
Alternative Weiterleitung ohne Header? imported_dex PHP Tipps 2004 2 05.11.2004 10:47
Suche alternative zu osCommerce CityHubter Beitragsarchiv 2 22.09.2004 23:57
Alternative zu if abfrage PHP Tipps 2004 10 16.08.2004 00:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
imap_fetchstructure, php imap_fetchstructure, imap_fetchstructure parts, imap_fetchstructure anhang, imap_fetchstructure encoding, imap_fetchstructure() pop3, imap_fetchstructure anhänge, imap_fetchstructure(), imap_fetchbody fetchstructure explained tutorial, imap_fetchstructure nur text version, php imap_fetchstructure(, imap_fetchstructure imap_fetchbody, imap_fetchstructure alternative, php imap_fetchbody multipart emails, imap_fetchbody imap_fetchstructure alternative parts, php imap_fetchstructure funktioniert nicht, php imap_fetchstructure parts count, php_fetchbody type 5 image, imap_fetchstructure example, imap_fetchstructure nur text auslesen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10: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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.