# imap_fetchstructure

(PHP 4, PHP 5)

imap_fetchstructure — Read the structure of a particular message

### Description

object imap_fetchstructure ( resource `$imap_stream` , int `$msg_number` [, int `$options` ] )

Fetches all the structured information for a given message.

### Parameters

`imap_stream`

  An IMAP stream returned by imap_open().

`msg_number`

  The message number

`options`

  This optional parameter only has a single option, `FT_UID`, which tells the function to treat the `msg_number` argument as a UID.

### Return Values

Returns an object includes the envelope, internal date, size, flags and body structure along with a similar object for each mime attachment. The structure of the returned objects is as follows:

Returned Objects for imap_fetchstructure()
type | Primary body type
encoding | Body transfer encoding
ifsubtype | `TRUE` if there is a subtype string
subtype | MIME subtype
ifdescription | `TRUE` if there is a description string
description | Content description string
ifid | `TRUE` if there is an identification string
id | Identification string
lines | Number of lines
bytes | Number of bytes
ifdisposition | `TRUE` if there is a disposition string
disposition | Disposition string
ifdparameters | `TRUE` if the dparameters array exists
dparameters | An array of objects where each object has an "attribute" and a "value" property corresponding to the parameters on the Content-disposition MIMEheader.
ifparameters | `TRUE` if the parameters array exists
parameters | An array of objects where each object has an "attribute" and a "value" property.
parts | An array of objects identical in structure to the top-level object, each of which corresponds to a MIME body part.

Primary body type
0 | text
1 | multipart
2 | message
3 | application
4 | audio
5 | image
6 | video
7 | other

Transfer encodings
0 | 7BIT
1 | 8BIT
2 | BINARY
3 | BASE64
4 | QUOTED-PRINTABLE
5 | OTHER

### See Also

- imap_fetchbody()
- imap_bodystruct()