function _encodePartToFile($fh, $boundary=null, $skip_head=false)
    {
        $eol = $this->_eol;

        if (count($this->_subparts)) {
            $boundary = $boundary ? $boundary : '=_' . md5(rand() . microtime());
            $this->_headers['Content-Type'] .= ";$eol boundary=\"$boundary\"";
        }

        if (!$skip_head) {
            foreach ($this->_headers as $key => $value) {
                fwrite($fh, $key . ': ' . $value . $eol);
            }
            $f_eol = $eol;
        } else {
            $f_eol = '';
        }

        if (count($this->_subparts)) {
            for ($i = 0; $i < count($this->_subparts); $i++) {
                fwrite($fh, $f_eol . '--' . $boundary . $eol);
                $res = $this->_subparts[$i]->_encodePartToFile($fh);
                if ($this->_isError($res)) {
                    return $res;
                }
                $f_eol = $eol;
            }

            fwrite($fh, $eol . '--' . $boundary . '--' . $eol);

        } else if ($this->_body) {
            fwrite($fh, $f_eol . $this->_getEncodedData($this->_body, $this->_encoding));
        } else if ($this->_body_file) {
            fwrite($fh, $f_eol);
            $res = $this->_getEncodedDataFromFile(
                $this->_body_file, $this->_encoding, $fh
            );
            if ($this->_isError($res)) {
                return $res;
            }
        }

        return true;
    }
function _encodePartToFile($fh, $boundary=null, $skip_head=false)
    {
        $eol = $this->_eol;

        if (count($this->_subparts)) {
            $boundary = $boundary ? $boundary : '=_' . md5(rand() . microtime());
            $this->_headers['Content-Type'] .= ";$eol boundary=\"$boundary\"";
        }

        if (!$skip_head) {
            foreach ($this->_headers as $key => $value) {
                fwrite($fh, $key . ': ' . $value . $eol);
            }
            $f_eol = $eol;
        } else {
            $f_eol = '';
        }

        if (count($this->_subparts)) {
            for ($i = 0; $i < count($this->_subparts); $i++) {
                fwrite($fh, $f_eol . '--' . $boundary . $eol);
                $res = $this->_subparts[$i]->_encodePartToFile($fh);
                if ($this->_isError($res)) {
                    return $res;
                }
                $f_eol = $eol;
            }

            fwrite($fh, $eol . '--' . $boundary . '--' . $eol);

        } else if ($this->_body) {
            fwrite($fh, $f_eol . $this->_getEncodedData($this->_body, $this->_encoding));
        } else if ($this->_body_file) {
            fwrite($fh, $f_eol);
            $res = $this->_getEncodedDataFromFile(
                $this->_body_file, $this->_encoding, $fh
            );
            if ($this->_isError($res)) {
                return $res;
            }
        }

        return true;
    }
function _encodePartToFile ( $ fh , $ boundary = null , $ skip_head = false ) { $ eol = $ this -> _eol ; if ( count ( $ this -> _subparts ) ) { $ boundary = $ boundary ? $ boundary : '=_' . md5 ( rand ( ) . microtime ( ) ) ; $ this -> _headers [ 'Content-Type' ] .= ";$eol boundary=\"$boundary\"" ; } if ( ! $ skip_head ) { foreach ( $ this -> _headers as $ key => $ value ) { fwrite ( $ fh , $ key . ': ' . $ value . $ eol ) ; } $ f_eol = $ eol ; } else { $ f_eol = '' ; } if ( count ( $ this -> _subparts ) ) { for ( $ i = 0 ; $ i < count ( $ this -> _subparts ) ; $ i ++ ) { fwrite ( $ fh , $ f_eol . '--' . $ boundary . $ eol ) ; $ res = $ this -> _subparts [ $ i ] -> _encodePartToFile ( $ fh ) ; if ( $ this -> _isError ( $ res ) ) { return $ res ; } $ f_eol = $ eol ; } fwrite ( $ fh , $ eol . '--' . $ boundary . '--' . $ eol ) ; } else if ( $ this -> _body ) { fwrite ( $ fh , $ f_eol . $ this -> _getEncodedData ( $ this -> _body , $ this -> _encoding ) ) ; } else if ( $ this -> _body_file ) { fwrite ( $ fh , $ f_eol ) ; $ res = $ this -> _getEncodedDataFromFile ( $ this -> _body_file , $ this -> _encoding , $ fh ) ; if ( $ this -> _isError ( $ res ) ) { return $ res ; } } return true ; }
Encodes given email part into file

@param string  $fh        Output file handle
@param string  $boundary  Pre-defined boundary string
@param boolean $skip_head True if you don't want to save headers

@return array True on sucess or PEAR error object
@access private
Encodes given email part into file