a moze ktos ma gotowe rozwiazanie :?: bo przeszukiwanie ilustam plikow w poszukiwaniu kompletu funkcji odpowiedzialnych za zalaczniki, nie usmiecha mi sie :?
znajdzie sie ktos dobry i mi napisze co mam zrobic :?:
edit:
moze sie komus przyda....
plik zobacz.php
<?
require_once 'funkcje.php';
$login = $_SESSION['login'];
$haslo = $_SESSION['haslo'];
$host = $_SESSION['host'];
head();
$mbox = @imap_open(\"$host\", \"$login\", \"$haslo\");
$id = $_GET['id'];
$naglowki = imap_header($mbox,$id);
$struktura = imap_fetchstructure($mbox, $id);
$temat = $naglowki->subject;
if ($temat == null)
{
$temat = '(brak tematu)';
}
$od_mail =$naglowki->from[0]->mailbox.\"@\".$naglowki->from[0]->host;
$od = $naglowki->from[0]->personal.\"(\".$od_mail.\")\";
$data = explode(\" \",$naglowki->date); $data = $data[1].\" \".$data[2].\" \".$data[3];
$wielkosc = round($struktura->bytes/1024
,2
); ?>
<table>
<tr>
<td> Od: </td> <td> <a href='napisz.php?do=
<? echo $od_mail; ?>'>
<? echo $od; ?> </a> </td>
</tr>
<tr>
<td> Data: </td> <td>
<? echo $data; ?> </td>
</tr>
<tr>
<td> Temat: </td> <td>
<? echo $temat; ?> </td>
</tr>
<tr>
<td colspan='2'> <a href='naglowki.php?id=
<? echo $id;?>' target='_new'> Pokaz wszystkie naglowki </a> </td>
</tr>
<?
if ($struktura->subtype == 'MIXED')
{
for ($i = 1; $i <= $struktura->parts; $i++)
{
if(($struktura->parts[$i]->subtype) == (('text/plain') or ('text/html')))
{
$wiadomosc = imap_fetchbody($mbox,$id,$i);
break;
}
}
}
else
{
$wiadomosc = imap_body($mbox,$id);
}
echo \"<tr> <td colspan='2'>\"; $wiadomosc = eregi_replace(\"([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])\",\"<a href=\"\1://23\" target='_new'> 1://23 </a>\",$wiadomosc); echo \"</tr> </td>\"; if ($struktura->subtype = 'MIXED')
{
echo \"<hr> <table>\"; $zalaczniki = $struktura->parts;
$i=0;
foreach($zalaczniki as $k => $v)
{
$zal[$i] = $zalaczniki[$i+1];
$i++;
}
$zalaczniki = $zal;
$i=0;
foreach ($zalaczniki as $k => $v)
{
$i++;
$typ = $struktura->parts[$i]->type;
if ($typ == 0)
{
$typ = \"text/\";
}
elseif ($typ == 1)
{
$typ = \"multipart/\";
}
elseif ($typ == 2)
{
$typ = \"message/\";
}
elseif ($typ == 3)
{
$typ = \"application/\";
}
elseif ($typ == 4)
{
$typ = \"audio/\";
}
elseif ($typ == 5)
{
$typ = \"image/\";
}
elseif ($typ == 6)
{
$typ = \"video\";
}
elseif($typ == 7)
{
$typ = \"other/\";
}
$typ .= $struktura->parts[$i]->subtype;
$wielkosc = round($struktura->parts[$i]->bytes/1024
,2
); if ($v != null)
{
echo \"<tr> <td> Zalacznik \".$i.\" </td> <td> Nazwa: <a href='zalacznik.php?id=\".$id.\"&part=\".$i.\"' target='_new'>\".$struktura->parts[$i]->dparameters[0]->value.\" </a></td> <td> Typ <small> [\".$typ.\"] </small> </td> <td> Rozmiar: \"; if ($wielkosc < 512
) echo $wielkosc.\" kB\"; else echo round($wielkosc/1024,2).\" MB\"; echo \" </td></tr>\"; }
}
}
tail();
?>
plik zalacznik.php
<?
require 'funkcje.php';
foreach ($_GET as $k => $v)
{
$$k = $v;
}
$login = $_SESSION[\"login\"];
$haslo = $_SESSION[\"haslo\"];
$host = $_SESSION[\"host\"];
$mbox = imap_open(\"$host\", \"$login\", \"$haslo\");
$struktura = imap_fetchstructure($mbox, $id);
$wiadomosc = imap_fetchbody($mbox,$id,$part);
$nazwa = $struktura->parts[$part]->dparameters[0]->value;
$typ = $struktura->parts[$part]->type;
############## Typ
if ($typ == 0)
{
$typ = \"text/\";
}
elseif ($typ == 1)
{
$typ = \"multipart/\";
}
elseif ($typ == 2)
{
$typ = \"message/\";
}
elseif ($typ == 3)
{
$typ = \"application/\";
}
elseif ($typ == 4)
{
$typ = \"audio/\";
}
elseif ($typ == 5)
{
$typ = \"image/\";
}
elseif ($typ == 6)
{
$typ = \"video\";
}
elseif($typ == 7)
{
$typ = \"other/\";
}
$typ .= $struktura->parts[$part]->subtype;
######## Koniec typow
header(\"Content-type: \".$typ); header(\"Content-Disposition: attachment; filename=\".$nazwa);
######## Kodowanie
$kodowanie = $struktura->parts[$part]->encoding;
if ($kodowanie == 0)
{
$wiadomosc = imap_7bit($wiadomosc);
}
elseif ($kodowanie == 1)
{
$wiadomsoc = imap_8bit($wiadomosc);
}
elseif ($kodowanie == 2)
{
$wiadomosc = imap_binary($wiadomosc);
}
elseif ($kodowanie == 3)
{
$wiadomosc = imap_base64($wiadomosc);
}
elseif ($kodowanie == 4)
{
$wiadomosc = quoted_printable($wiadomosc);
}
elseif ($kodowanie == 5)
{
$wiadomosc = $wiadomosc;
}
########## Kodowanie koniec
imap_close($mbox);
?>
pozdro