помогите разобрать объект/массив, получив содержимое ключа body сам скрипт содержимое- ответ функции print_r($emails); в $emails- экземпляр класса. Нужно реализовать метод, который будет возвращать приватное свойство Код (PHP): Email_reader Object ( [conn] => Resource id #2 [inbox:Email_reader:private] => Array ( [0] => Array ( [index] => 1 [header] => stdClass Object ( [date] => Fri, 6 Nov 2015 19:01:44 +0500 [Date] => Fri, 6 Nov 2015 19:01:44 +0500 [subject] => =?UTF-8?B?0KXQvtC5?= [Subject] => =?UTF-8?B?0KXQvtC5?= [message_id] => <CAL0_ARzCk5vwyHA8NUqsT-iTGRGOrJ+2yh3+ees_OYfLhG3Lcg@mail.gmail.com> [toaddress] => info@mail@mail.ru [to] => Array ( [0] => stdClass Object ( [mailbox] => info [host] => mail@mail.ru ) ) [fromaddress] => =?UTF-8?B?0JDQvdC00YDQtdC5INCa0LDQvdC00LDRg9GA0L7Qsg==?= <mail@mail.ru> [from] => Array ( [0] => stdClass Object ( [personal] => =?UTF-8?B?0JDQvdC00YDQtdC5INCa0LDQvdC00LDRg9GA0L7Qsg==?= [mailbox] => andrey [host] => nikecrm.ru ) ) [reply_toaddress] => =?UTF-8?B?0JDQvdC00YDQtdC5INCa0LDQvdC00LDRg9GA0L7Qsg==?= <mail@mail.ru> [reply_to] => Array ( [0] => stdClass Object ( [personal] => =?UTF-8?B?0JDQvdC00YDQtdC5INCa0LDQvdC00LDRg9GA0L7Qsg==?= [mailbox] => andrey [host] => nikecrm.ru ) ) [senderaddress] => =?UTF-8?B?0JDQvdC00YDQtdC5INCa0LDQvdC00LDRg9GA0L7Qsg==?= <mail@mail.ru> [sender] => Array ( [0] => stdClass Object ( [personal] => =?UTF-8?B?0JDQvdC00YDQtdC5INCa0LDQvdC00LDRg9GA0L7Qsg==?= [mailbox] => andrey [host] => nikecrm.ru ) ) [Recent] => [Unseen] => [Flagged] => [Answered] => A [Deleted] => [Draft] => [Msgno] => 1 [MailDate] => 6-Nov-2015 14:01:48 +0000 [Size] => 2980 [udate] => 1446818508 ) [body] => 0J3QuCDRhdCw0LkNCg== [structure] => stdClass Object ( [type] => 0 [encoding] => 3 [ifsubtype] => 1 [subtype] => PLAIN [ifdescription] => 0 [ifid] => 0 [lines] => 1 [bytes] => 22 [ifdisposition] => 0 [ifdparameters] => 0 [ifparameters] => 1 [parameters] => Array ( [0] => stdClass Object ( [attribute] => charset [value] => UTF-8 ) ) ) ) ) ) PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
там заголовки только, а body- это же сам текст) он-то и нужен в первую очередь) мне вообще понять, как работать с объектом) как выводить из него нужные данные
это же всё есть в классе (см. ссылки). imap_body, наряду с другими функциями, кидается в объект. мне из него нужно получить данные.
Мож чет не вижу а про какой объект идет речь? Вызываешь inbox который сохранит детали писем в $this->inbox. Потом get получаешь нужное письмо. Детали хранятся в массиве Код (PHP): $in[] = array( 'index' => $i, 'header' => imap_headerinfo($this->conn, $i), 'body' => imap_body($this->conn, $i), 'structure' => imap_fetchstructure($this->conn, $i) ); Разве не так?
а как вне класса обработать данные? вот, я вызываю его: $emails = New Email_reader(); $emails->inbox(); получаю такой объект с массивом (см. первый пост)
Дык, ты код читаешь? Метод inbox записывает письма в приватную переменную класса $this->inbox который так же еще называют свойством объекта. Где ты в коде получаешь детали письма? З.Ы. Интересно что за херотень ты написал в своей cms =D
вот я и спрашиваю, как получить детали письма из полученного объекта. $emails->inbox()-> body ничего не выводит. я уже отчаялся перебором извлечь эти данные, буду парсить как строку, если никто ответить мне не может. по поводу зы: я не делаю cms. написал так как умею. какая разница, что я там написал, главное- у заказчиков работает. я 10 лет прогаю на php, но в ООП слаб, прогаю продедурами, ибо учился на php4. не нужно переходить на личности. на всех форумах, где пытаются меня критиковать и тд, это плохо заканчивается. требуется ответ ввиде кода. не знаете или не можете- пройдите мимо.
Товарищ nikemat я вам ответил уже давно но вы отказываетесь воспринимать информацию По поводу З.Ы. 10 лет опыта это не мало. Ты должен быть уже тыжпрограммистом, у тебя должен быть тыжпрограммистский костюм и ты должен уже взглядом открывать банку пива. Раз ты пишешь на php 4 могу поспорить что используешь не безопасные функции и т.д. по сему могу только посочувствовать твоим клиентам Просто написал... не что бы обидеть а что бы смотивировать...
ладно, кажется я сделал. назначил глобальную переменную массиву in, теперь можно работать как с массивом) мог бы и сам додуматься, тем более уже делал так) Код (PHP): <?php include_once("function.php"); class Email_reader { // imap server connection public $conn; // inbox storage and inbox message count private $inbox; private $msg_cnt; // email login credentials private $server = imap; private $user = elogin; private $pass = epass; private $port = port; // adjust according to server settings // connect to the server and get the inbox emails function __construct() { $this->connect(); $this->inbox(); } // close the server connection function close() { $this->inbox = array(); $this->msg_cnt = 0; imap_close($this->conn); } // open the server connection // the imap_open function parameters will need to be changed for the particular server // these are laid out to connect to a Dreamhost IMAP server function connect() { $this->conn = imap_open('{'.$this->server.'}', $this->user, $this->pass); } // move the message to a new folder function move($msg_index, $folder='INBOX') { // move on server imap_mail_move($this->conn, $msg_index, $folder); imap_expunge($this->conn); // re-read the inbox $this->inbox(); } // get a specific message (1 = first email, 2 = second email, etc.) function get($msg_index=NULL) { if (count($this->inbox) <= 0) { return array(); } elseif ( ! is_null($msg_index) && isset($this->inbox[$msg_index])) { return $this->inbox[$msg_index]; } return $this->inbox[0]; } // read the inbox function inbox() { $this->msg_cnt = imap_num_msg($this->conn); global $in; $in = array(); for($i = 1; $i <= $this->msg_cnt; $i++) { $in[] = array( 'index' => $i, 'header' => imap_headerinfo($this->conn, $i), 'body' => imap_body($this->conn, $i), 'structure' => imap_fetchstructure($this->conn, $i) ); } $this->inbox = $in; } } $emails = New Email_reader(); $emails->inbox(); print_r($emails); ?> я не пишу на php4, я пишу на php 5.6. используя новые функции и тенденции. просто не ООП, а процедурами, функциями) с безопасностью в моих проектах все нормально. программистский костюм мне не нужен, я почти не выхожу из квартиры, ни с кем не общаюсь и пиво не пью. PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]