Files
php-doc-ru/reference/imap/functions/imap-search.xml
Alexey Pyltsyn 500b85ee44 IMAP: review
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@344677 c90b9560-bf6c-de11-be94-00142212c4b1
2018-04-16 09:08:34 +00:00

286 lines
9.2 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: d91919d0373a999db35a212104a7f29fe3019407 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: yes Maintainer: lex -->
<refentry xml:id="function.imap-search" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>imap_search</refname>
<refpurpose>Получить сообщения, удовлетворяющие заданным критериям</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>imap_search</methodname>
<methodparam><type>resource</type><parameter>imap_stream</parameter></methodparam>
<methodparam><type>string</type><parameter>criteria</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>options</parameter><initializer>SE_FREE</initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter>charset</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Эта функция производит поиск в текущем почтовом ящике
открытом в потоке <acronym>IMAP</acronym>.
</para>
<para>
К примеру, чтобы найти все неотвеченные сообщения посланные
от мамы (Mom), нужно будет использовать "UNANSWERED FROM mom".
Поиск регистронезависимый. Приведенный список критериев извлечен
из исходных кодов UW c-client и может быть неполным или не совсем
точным (дополнительно смотрите <link xlink:href="&url.rfc;2060">RFC2060</link>,
секция 6.4.4).
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&imap.imap-stream.description;
<varlistentry>
<term><parameter>criteria</parameter></term>
<listitem>
<para>
Строка, разделенная пробелами, в которой допустимо использовать следующие
ключевые слова. Любые аргументы, состоящие из нескольких слов, должны
быть заключены в двойные кавычки (например
<literal>FROM "joey smith"</literal>). Результат будет совпадать со всеми
заданными в параметре <parameter>criteria</parameter> критериями.
<itemizedlist>
<listitem>
<simpara>
ALL - возвращать все сообщения, соответствующие остальным критериям
</simpara>
</listitem>
<listitem>
<simpara>
ANSWERED - сообщения с выставленным флагом \\ANSWERED
</simpara>
</listitem>
<listitem>
<simpara>
BCC "string" - сообщения в поле Bcc: которых присутствует "string"
</simpara>
</listitem>
<listitem>
<simpara>
BEFORE "date" - сообщения с Date: до "date"
</simpara>
</listitem>
<listitem>
<simpara>
BODY "string" - сообщения содержащие "string" в теле
</simpara>
</listitem>
<listitem>
<simpara>
CC "string" - сообщения в поле Cc: которых присутствует "string"
</simpara>
</listitem>
<listitem>
<simpara>
DELETED - удаленные сообщения
</simpara>
</listitem>
<listitem>
<simpara>
FLAGGED - сообщения с установленным флагом \\FLAGGED (иногда называют
"Срочное" или "Важное")
</simpara>
</listitem>
<listitem>
<simpara>
FROM "string" - сообщения в поле From: которых присутствует "string"
</simpara>
</listitem>
<listitem>
<simpara>
KEYWORD "string" - сообщения с ключевым словом "string"
</simpara>
</listitem>
<listitem>
<simpara>
NEW - новые сообщения
</simpara>
</listitem>
<listitem>
<simpara>
OLD - старые сообщения
</simpara>
</listitem>
<listitem>
<simpara>
ON "date" - сообщения с Date: равным "date"
</simpara>
</listitem>
<listitem>
<simpara>
RECENT - означает сообщения с выставленным флагом \\RECENT
</simpara>
</listitem>
<listitem>
<simpara>
SEEN - прочтенные сообщения (установлен флаг \\SEEN)
</simpara>
</listitem>
<listitem>
<simpara>
SINCE "date" - сообщения с Date: после "date"
</simpara>
</listitem>
<listitem>
<simpara>
SUBJECT "string" - сообщения в поле Subject: которых присутствует "string"
</simpara>
</listitem>
<listitem>
<simpara>
TEXT "string" - сообщения с текстом "string"
</simpara>
</listitem>
<listitem>
<simpara>
TO "string" - сообщения в поле To: которых присутствует "string"
</simpara>
</listitem>
<listitem>
<simpara>
UNANSWERED - неотвеченные сообщения
</simpara>
</listitem>
<listitem>
<simpara>
UNDELETED - не удаленные сообщения
</simpara>
</listitem>
<listitem>
<simpara>
UNFLAGGED - сообщения без установленных флагов
</simpara>
</listitem>
<listitem>
<simpara>
UNKEYWORD "string" - сообщения, не имеющие ключевого слова "string"
</simpara>
</listitem>
<listitem>
<simpara>
UNSEEN - непрочтенные сообщения
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<para>
Корректные значения <parameter>options</parameter> - это
<constant>SE_UID</constant>, что приведет к тому, что в возвращенном
массиве вместо номеров сообщений будут содержаться их UID.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>charset</parameter></term>
<listitem>
<para>
Кодировка MIME, в которой будет происходить поиск.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает номера сообщений или их UID.
</para>
<para>
Возвращает &false;, если сообщения не найдены, либо критерии указанные
в <parameter>criteria</parameter> некорректны.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example xml:id="imap-search.examples">
<title>Пример использования <function>imap_search</function></title>
<programlisting role="php">
<![CDATA[
<?php
$conn = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'foo@example.com', 'pass123', OP_READONLY);
$some = imap_search($conn, 'SUBJECT "HOWTO be Awesome" SINCE "8 August 2008"', SE_UID);
$msgnos = imap_search($conn, 'ALL');
$uids = imap_search($conn, 'ALL', SE_UID);
print_r($some);
print_r($msgnos);
print_r($uids);
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Array
(
[0] => 4
[1] => 6
[2] => 11
)
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
Array
(
[0] => 1
[1] => 4
[2] => 6
[3] => 8
[4] => 11
[5] => 12
)
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>imap_listscan</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->