Классы и объекты
class________________________________________________________________
Класс представляет собой набор переменных и функций, работающих с этими переменными. Класс определяется с использованием следующего синтаксиса:
<?php
class Cart {
var $iterns; // Items in our shopping cart
// Add $num articles of $artnr to the cart
function add_item ($artnr, $num) {
$this->items[$artnr] += $num;
}
// Take $num articles of Sartnr out of the cart
function remove_item ($artnr, $num) {
if ($this->items[$artnr] > $num) {
$this->items[$artnr] -= Snum;
return true; }
else {
return false;
}
}
}
?>
В этом примере определен класс с именем Cart, который состоит из ассоциативного массива предметов, расположенных в корзине Carl и двух функций, с помощью которых происходит добавление предметов в корзину и удаление их из корзины.
Классы представляют собой типы, таким образом, классы являются своего рода шаблонами для переменных. Переменная типа того или иного класса может быть создана с применением оператора new.
$cart = new Cart;
$cart->add_item("10", 1);
В этом примере создается объект (экземпляр класса) $cart класса Cart. Функция add_item() этого объекта добавляет один предмет в корзину, номер предмета 10. Классы могут представлять собой расширения других классов, являющихся базовыми для данного класса. Такие производные классы содержат в себе все переменные и функции базового класса, а также все то, что было добавлено в класс, но не содержалось в базовом классе. Наследование осуществляется с использованием ключевого слова extends. Множественное наследование не поддерживается.
class Named_Cart extends Cart {
var $ owners;
function set_owner ($name) {
$this->owner = $name;
}
}
В вышеприведенном примере описан класс Named_Cart, в котором есть все функции и переменные класса Cart, а также дополнительная переменная $owner и функция set_owner(). С использованием этого класса можно создать именованную корзину и задать (или прочитать) владельца этой корзины:
$ncart = new Named_Cart; // создаем именованную корзину
$ncart->set_owner ("kris"); // задаем имя корзины
print $ncart->owner; // печатаем имя владельца корзины
$ncart->add_item ("10", 1); // функции, унаследованные из cart
Внутри классов переменная Sthis указывает на текущий объект. Для того, чтобы получить доступ к любой переменной или функции текущего объекта, можно использовать конструкцию $this->something.
Конструкторы внутри классов представляют собой такие функции, которые автоматически вызываются в момент создания нового экземпляра класса. Функция становится конструктором тогда, когда имя функции совпадает с именем класса.
class Auto_Cart extends Cart {
function Auto_Cart () {
$this->add_item ("10", 1);
}
}
В этом примере определен класс Auto_Cart, который наследуется из класса Cart, но в добавок содержит конструктор, который инициализирует новый объект этого класса, помещая в корзину один предмет с номером «10». Конструктор может иметь аргументы, однако наличие таких аргументов необязательно. Это делает использование конструкторов более гибким.
class Constructor_Cart extends Cart {
function Constructor_Cart ($item = "10", $num = 1) { $
this->add_item ($item, $num);
}
}
// Shop the same old boring stuff.
$default__cart = new Constructor_Cart;
// Shop for real...
$different_cart = new Constructor_Cart ("20", 17);
Внимание
Для производных классов, наследующих переменные и функции из родительского класса, при создании экземпляров производных классов не происходит автоматического вызова конструктора родительского класса.
Ссылки
В этом разделе мы рассмотрим следующие вопросы.
- Что такое ссылки.
- Для чего используются ссылки.
- Чем не являются ссылки.
- Возвращение значений при помощи ссылок.
- Удаление ссылок.
Что представляют собой ссылки
Ссылки в РНР представляют собой средство обращения к одним и тем же переменным при помощи разных имен. Такие ссылки отличаются от ссылок, используемых в языке С. В РНР имена ссылок и содержание переменных различаются, иными словами одно и то же содержимое может быть названо несколькими разными именами.
Для чего используются ссылки
Ссылки в РНР позволяют двум различным переменным использовать одно и то же содержание. Вот пример;
$а =& $Ь
Это обозначает, что и $а и $Ь содержат одно и то же значение.
Примечание.
Здесь $а и $b абсолютно равноценны, т.е. неверно было бы считать, что $а указывает на $b или наоборот. Здесь и $а и $b указывают на одно и то же «место».
Второе, для чего могут быть использованы ссылки — это передача значений по
ссылкам. Для этого создается ситуация, когда локальная переменная, определенная
внутри функции, а также внешняя переменная, к которой обращается данная функция,
указывают на одно и то же место, например:
function foo (&$var) {
$var++;
}
$a=5;
foo ($a);
Здесь обращение к функции приведет к тому, что $а станет равно 6. Это произойдет потому, что в функции foo переменная $var ссылается на то же самое место, что и переменная $а.
Третья причина использования указателей — возвращение значений функции при помощи ссылок.
Для чего нельзя использовать ссылки
Как уже было сказано выше, ссылки не являются указателями в том смысле, как они понимаются в языке С. По этой причине приведенный ниже пример не будет работать так, как ожидается на первый взгляд.
function foo (&$var) {
$var =& $GLOBALS["baz"];
}
foo($bar);
При обращении к функции foo переменная $var, которая используется в качестве формального параметра при описании функции, будет указывать на то же содержимое, что и переменная $bar, указанная в качестве фактического параметра при обращении к функции. Затем она будет связана с переменной $GLOBALS[«baz»]. Не существует другого способа связывания переменной $bar с чем-либо иным, если используется механизм ссылок, поскольку переменная $bar не доступна внутри функции foo. Эта переменная внутри функции представлена другим именем — именем $var.
Ссылки у возвращающие значения в функциях
Использование возвращения значений по ссылкам полезно в тех случаях, когда в функции используется такая переменная, которая может быть связана с другой переменной. Вот пример:
function &find_var ($param) {
...code...
return $found_var;
}
$foo =& find_var ($bar);
$foo->x = 2;
Примечание.
Символ & необходимо использовать в двух местах — один раз, чтобы показать, что значение возвращается по ссылке, а затем, чтобы показать, как возвращаемое значение связано с другими переменными.
Удаление ссылок
В момент удаления ссылки мы удаляем связь между двумя именами, ссылающимися на одно и то же место. Это, однако, не означает того, что содержимое переменных будет уничтожено, например:
$а = 1;
$b =& $а;
unset ($а);
Глобальные ссылки
Если переменная определена как глобальная переменная $var, то по сути создается ссылка на глобальную переменную как если бы была выполнена следующая инструкция:
$var =& $GLOBALS["var" ] ;
При этом, конечно, удаление ссылки для переменной $var не приведет к удалению глобальной переменной.
$this
Ссылка $this всегда указывает на текущий объект (на текущий экземпляр класса).
ФУНКЦИИ В РНР
Функции для работы с сервером Apache
Apache_lookup_uri______________________________________________
Выполняет запрос по указанному URI и возвращает информацию
Apache_note____________________________________________________
Получает и устанавливает значения в таблице примечаний запроса Apache
Getallheaders___________________________________________________
Выбор всех заголовков HTTP-запросов
Пример GetAllHeaders():
$headers = getallheaders();
while (list($header, $value) = each($headers) ) {
echo "$header: $value<br>\n" ;
}
Этот пример покажет все заголовки текущего запроса.
Virtual____________________________________________________________
Выполняет подзапрос Apache
Функции для работы с массивами
Эти функции используются для манипуляций с массивами, в которых хранятся значения наборов переменных. Поддерживаются как простые одномерные массивы, так и многомерные массивы. Массивы могут быть созданы в явном виде или с помощью вызова тех или иных функций, которые возвращают массивы.
Array________________________________________________________________
Создает массив
Следующий пример демонстрирует, как можно создать двумерный массив.
Пример аггау():
$fruits = array(
"fruits" => array("a"=>"orange","b"=>"banana","c"=>"apple"),
"numbers" => array (1, 2, 3, 4, 5, 6)
"holes" => array("first", 5 => "second", "third")
);
array_count_values_____________________________________________________
Пересчитывает значения, содержащиеся в массиве
array_walk_____________________________________________________________
Применение функции к каждому члену массива
Описание
int array_walk(array arr, string func);
Применяет функцию с именем func для каждого элемента массива arr.
Пример array_walk():
$fruits = array("d"=>"lemon","a"=>"orange","b"=>"banana","c"=>"apple") ;
function test_alter( $iteml ) {
$iteml = 'bogus';
}
function test_print( $item2 ) {
echo "$item2<br>\n" ;
}
array_walk( $fruits, 'test_print' );
array_walk( $fruits, 'test_alter' );
array_walk( $fruits, 'test_print' );
arsort_______________________________________________________________________
Сортировка массива в обратном порядке
Пример arsort():
$fruits = array ("d"=>"lemon", "a',=>"orange", "b"=>"banana", "c"=>"apple") arsort($fruits);
for(reset ($fruits); $key = key($fruits); next($fruits)) {
echo "fruits[$key] = ".$fruits[$key]."\n";
}
Пример нам покажет:
fruits[a] = orange
fruits[d] = lemon
fruits[b] = banana
fruits[c] = apple
Фрукты показаны в обратном алфавитном порядке, и поддерживаются связанные с ними индексы.
См. также asort(), rsort(), ksort(), sort().
Assort________________________________________________________________________
Сортирует массив и поддерживает связанные индексы
Пример asort():
$fruits = array("d"=>"lemon","а"=>"о range","b"=>"banana","c"=>"apple")
asort($fruits);
for(reset($fruits) ; $key = key($fruits); next($fruits)) {
echo "fruits[$key] = ".$fruits[$key]."\n";
}
Этот пример приведет к следующим значениям:
fruits[с] = apple
fruits[b] = banana
fruits [d] =lemon
fruits[a] = orange
Фрукты показаны в алфавитном порядке, и поддерживаются ин дексы связанные с каждым элементом массива.
См. также arsort(), rsort(), ksort(), sort().
Count____________________________________________________________
Возвращает число элементов в var
int count(mixed var) ;
Возвращает 0, если переменная не определена.
Возвращает 1, если переменная не является массивом.
См. также sizeof(), isset(), is_array().
Current_____________________________________
Возвращает текущий элемент массива
Описание
mixed current(array array);
Каждая переменная-массив имеет внутренний указатель, который указывает на один из своих элементов. Кроме того, все элементы в массиве связываются двунаправленным списком указателей для дополнительных целей.
Функция current() возвращает элемент массива, на который в данный момент указывает внутренний указатель. Она не перемещает указатель. Если внутренний указатель указывает на конец списка элементов, current() возвращает false (ложно).
Внимание: если массив содержит пустые элементы (0 или «», пустую строку), то для каждого такого элемента функция возвратит «false».
См. также end(), next(), prev(), reset().
Each_____________________________________________________________
Возвращает следующую пару ключ/значение из массива
Описание
array each(array array);
Возвращает пару ключ/значение.
Пример each():
$foo = array ( "bob"", "fred", "jussi", "jouni.2 );
$bar = each( $foo );
$bar теперь содержит следующие пары ключ/значение:.
0 => 0
1 => 'bob'
key => 0
value => 'bob'
$foo = array( "Robert" => "Bob", "Seppo" => "Sepi" );
$bar = each ( $foo );
Значения $bar таковы:
0 => 'Robert'
1 => 'Bob'
key => 'Robert'
value => 'Bob'
Each(), как правило, используется вместе с list() чтобы просмотреть массив; например, $HTTP_POST_VARS:
Пример. Просмотр $HTTP_POST_VARS с помощью each():
echo "Values submitted via POST method:<br>";
while ( list ( $key, $val ) = each ( $HTTP_POST_VARS ) ) {
echo "$key => $val<br>";
}
См. также key(), list(), current(), reset(), next(), prev().
end___________________________________________________________
Устанавливает внутренний указатель массива на последнем элементе
Описание
end(array array);
End() перемещает array's внутренний указатель на последний элемент массива.
См. также current(), each(), end(), next(), reset().
key______________________________________________________
Выбирает ключ из ассоциативного массива
Описание
mixed key(array array);
Key() возвращает индекс элемента в текущей позиции массива См. также current(), next().
ksort___________________________________________________________
Сортирует массив по ключам
Описание
int ksort(array array);
Пример ksort():
$fruits = array("d"=>"lemon","a"=>"orange","b"=>"banana","c"=>"apple");
ksort($fruits);
for (reset($fruits) ; $key = key ($fruits) ; next($fruits) ) {
echo "fruits[$key] = ". $fruits[$key] ."\n";
}
После выполнения (см. рис. C.l):
fruits [а] = orange
fruits[b] = banana
fruits[c] = apple
fruits[d] = lemon
См. также asort(), arsort(), sort(), rsort().
List_________________________________________________________
Связывает переменные, как если бы они были массивом
Пример list():
<table>
<tr>
<th>Employee name</th>
<th>Salary</th>
</tr>
<?php
$result = mysql($conn, "SELECT id, name, salary FROM employees";
while (list($id, Snarue, $salary) = mysql_fetch_row($result)) {
print(" <tr>\n2.
" <td><a href=\"info.php?id=$id\">$name</a></td>\n".
" <td>$salary</td>\n".
" </tr>\n");
)
?></table>
См. также each(), array().
next_____________________________________________
Передвигает внутренний указатель массива
Описание
mixed next(array array);
Возвращает следующий элемент массива, по сравнению с текущей позицией, на которую указывает внутренней указатель, или false, если в массиве больше нет элементов (false также будет возвращен для всех пустых элементов массива). Для просмотра массива, содержащего пустые элементы, рекомендуется использовать функцию each().
Next() ведет себя подобно current(), с одной лишь разницей. Он передвигает внутренний указатель массива на один элемент вперед прежде, чем возвратить элемент. Это означает, что он возвращает значение следующего элемента и передвигает на него внутренний указатель массива. Если при обращении к следующему элементу обнаружен конец массива, то next() возвращает «ложь» (false).
См. также current(), end(), prev(), reset()
pos_________________________________________________________________
Возвращает текущий элемент массива
Описание
mixed pos(array array);
Это псевдоним для current().
См. также end(), next(), prev(), reset().
prev__________________________________________________________________
Перемещает внутренний указатель массива назад
Описание
mixed prev(array array);
Возвращает предыдущий элемент массива, или false, если перед текущим нет больше элементов (и для пустых элементоы массива).
Prev() ведет себя подобно next(), за исключением того, что он переводит внутренний указатель массива на одну позицию назад, а не вперед.
См. также current(), end() next(), reset().
reset____________________________________________________________________
Устанавливает внутренний указатель массива на первом элементе
Описание
mixed reset(array array);
Reset() возвращает внутренний указатель массива в первый элемент.
Reset() возвращает первый элемент массива.
См. также current(), each(), next() prev(), reset().
rsort______________________________________________________________________
Сортирует массив в обратном порядке
Описание
void rsort(array array);
Сортирует массив в обратном порядке (по убыванию).
Пример rsort():
$f ruits = array("lemon","orange","banana","apple");
rsort($fruits);
for(reset($fruits) ; ($key,Svalue) = each($fruits) ; ) {
echo "fruits[$key] = ".$value."\n" ;
}
Результат работы:
fruits [0] = orange
fruits [1] = lemon
fruits [2] = banana
fruits [3] = apple
Фрукты отсортированы в обратном алфавитном порядке.
См. также arsort(), assort(), ksort(), sort(), usort().
sizeof__________________________________________________
Получает размер массива
Описание
int sizeof(array array);
Возвращает число элементов списка.
См. также count().
Sort____________________________________________________________
Сортирует массив
Описание
void sort(array array);
Эта функция сортирует массив — все элементы по окончании ее работы будут расположены по возрастанию.
Пример sort():
$fruits = array("lemon","orange","banana","apple");
sort($fruits);
for (reset($fruits); $key - key($fruits); next($fruits)) {
echo "fruits[$key] = " . $fruits[$key]."\n";
}
Результат работы:
fruits [0] = apple
fruits [1] = banana
fruits [2] = lemon
fruits [3] = orange
Фрукты будут отсортированы по возрастанию в алфавитном порядке.
См. также arsort(), asort(), ksort(), rsort(), usort().
uasort___________________________________________________________________
Сортирует массив с использованием функций сравнения, определенных пользователем
Описание
void uasort(array array, function cmp_function);
Эта функция сортирует массив так, что индексы массива поддерживают их корреляцию с элементами массива.
Uksort________________________________________________________________________
Сортирует массив по ключам, с использованием функций сравнения, определенных пользователем
Описание
void uksort(array array, function cmp_function);
Эта функция отсортирует ключи массива, используя функции сравнения, определенные пользователем.
Пример uksort():
function mycompare($а, $b) {
if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
}
$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten")
uksort($a, mycompare);
while(list($key, $value) = each($a)) {
echo "$key: $value\n";
}
Результат:
20: twenty
10: ten
4: four
3: three
См. также arsort(), asort(), uasort(), ksort(), rsort(), sort().
usort____________________________________________________________________
Сортирует массив no значениям, используя функции сравнения, определенные пользователем
Пример usort():
function cmp($a,$b) {
if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
}
$a = array(3,2,5, б, 1) ;
usort($a, crnp) ;
while (list($key,$value) = each($a))
( echo "$key: $value\n";
}
Математические функции BCMath
Эти функции доступны только в том случае, если включен параметр enable-bcmath.
bcadd________________________________
Сложение двух чисел произвольной точности
Описание
string bcadd(string левый операнд, string правый операнд, int [масштаб]);
Прибавляет левый операнд к правому операнду и возвращает сумму типа string (строковая переменная). Параметр масштаб используется для того, чтобы установить количество разрядов после десятичной отметки в результате.
См. также bcsub().
bccomp __________________________________________________
Сравнение двух чисел произвольной точности
Описание
int bccomp (string левый операнд, string правый операнд, int [масштаб]);
Сравнивает левый операнд с правым операндом и возвращает результат типа integer (целое). Параметр масштаб используется для установки количества цифр после десятичной отметки, используемых при сравнении. При равенстве двух операндов возвращается значение 0. Если левый операнд больше правого операнда возврашается +1, и если левый операнд меньше правого операнда возвращается — 1.
Bcdiv___________________________________________________________
Операция деления для двух чисел произвольной точности
Описание
string bcdiv (string левый операнд, string правый операнд, int [масштаб]);
Делит левый операнд на правый операнд и возвращает результат. Параметр масштаб устанавливает количество цифр после десятичной отметки в результате.
См. также bcmul().
bcsqrt________________________________________________
Получение квадратного корня числа произвольной точности
Описание
string bcsqrt(string операнд, int масштаб);
Возвращает квадцратный корень операнда. Параметр масштаб устанавливает количество цифр после десятичной отметки в результате.
См. также bcpow().
Bcsub_____________________________________________________
Вычитает одно число произвольной точности из другого
Описание
string bcsub (string левый операнд, string правый операнд, int [масштаб]);
Вычитает правый операнд из левого операнда и возвращает результат -типа string. Параметр масштаб устанавливает количество цифр после десятичной отметки в результате.
См. также bcadd().
Функции для работы с датами
Календарные функции доступны только если установлено календарное расширение возможностей РНР.
Календарное расширение в РНР представляет серию функций, которые упрощают преобразование дат между разными календарными форматами. В качестве посредника преобразования используется Юлианский календарь (пересчет дней по Юлианскому календарю). Для того, чтобы изменить числа между разными календарными системами необходимо сначала преобразовать дату в Юлианский формат, а только затем в любую другую календарную систему.
См. http://genealogy.org/~scottlee/cal-overview.html.
JDToGregorian____________________________________________________
Преобразование юлианского счета в грегорианскую дату
Описание
string jdtogregorian(int julianday);
Преобразование юлианского счета в грегорианскую в формате «месяц/день/год».
Gregorian ToJD____________________________________________________
Преобразовывает грегорианскую дату на юлианский счет
Описание
int gregoriantojd(int month, int day, int year);
Правиaльный диапазон для грегорианского календаря 4714 до н.э. до 9999 н.э.
Пример. Календарные функции:
<?php
$ jd = GregorianToJD(10,11,2001);
echo("$jd\n");
$gregorian = JDToGregorian($jd);
echo("$gregorian\n") ;
?>
Этот пример показан на рис. С.2. Заметим, что посредником во всех преобразованиях даты является количество дней по юлианскому календарю, т.е. юлианский счет.
JDToJulian
Преобразовывает дату юлианского календаря на юлианский счет
Описание
string jdtojulian(int julianday);
Преобразование юлианского счета в строку, содержащую дату юлианского календаря в формате «месяц/день/год».
JulianToJD
Преобразовывает дату юлианского календаря на юлианский счет
Описание
int juliantojd(int month, int day, int year);
Правильный диапазон для юлианского календаря 4713 до н.э. до 9999 н.э.
JDToJewish
Преобразовывает юлианский счет в еврейский календарь
Описание
string jdtojewish(int julianday);
Преобразование дневного юлианского счета в еврейский календарь.
JewishToJD
Преобразовывает дату в еврейском календаре на юлианский счет
Описание
int jewishtojd (int month, int day, int year);
JDToFrench
Преобразовывает юлианский счет во французский республиканский календарь
Описание
string jdtofrench(int month, int day, int year);
FrenchToJD________________________________________________________
Преобразовывает дату французского республиканского календаря в юлианский счет
Описание
int frenchtojd(int month, int day, int year);
JDMonthName_____________________________________________________
Возвращает название месяца
Описание
string jdmonthname(int julianday, int mode);
Значения для mode:
0— грегорианский (краткий);
1— грегорианский;
2— юлианский (краткий);
3— юлианский;
4— еврейский;
5— французский республиканский.
JDDayOfWeek_____________________________________________________
Возвращает день недели
Описание
Mixed jddayofweek(int julianday, int mode);
Возвращает день недели. Может возвратить string или int в зависимости от значеия параметра mode.
Значения параметра mode:
0……возвращает порядковый номер дня недели в виде целого значе
ния int (0 = воскресенье, 1 = понедельник, и т.п.);
1……возвращает строку string — название дня недели (английское-
грегорианское);
2……возвращает строку, содержащую краткое название дня недели
(английский-грегорианский).
easter_date ________________________________________________
Получает время формата UNIX для начала Пасхи текущего года
Описание
int easter_date (int year)
Пример:
echo date («М-d-Y», easter_date(1999)); /* «Арr-04-l999» */
echo date («М-d-Y», easter_date(2000)); /* «Арr-23-2000» */
echo date («М-d-Y», easter_date(2001)); /* «Арr-15-2001» */
easter_days____________________________________________________
Получает количество дней до пасхи после 21 марта для текущего года
Описание
int easter_days (int year)
Пример (см. рис. С.З):
echo easter_days (1999); /* 14, i.e. April 4 */
echo easter_days (1492); /* 32, i.e. April 22 */
echo easter days (1913); /* 2, i.e. March 23 */
unixtojd________________________________________________
Преобразует формат временnt UNIX в юлианские дни
Описание
int unixtojd ([int timestamp])
jdtounix_________________________________________________
Преобразует юлианские дни в формат UNIX
Описание
int jdtounix (int jday)
Функции для работы с классами и объектами
Эти функции позволяют получать информацию, касающуюся классов и объектов, экземпляров классов. С их помозью можно получить имя класса, к которому относится тот или иной объект, а также получить информацию о его свойствах и методах. Функции позволяют также получить информацию о родительских класса.
Пример
В этом примере мы определим базовый класс и его расширение. Базовый класс будет описывать овощи, указывая их свойсва (съедобен или нет и цвет). Подкласс Spinach будет содержать метод с описанием приготовления овоща и другие методы.
Файл classes, inc
<?php
// базовый класс, содержащий свойства и методы class Vegetable {
var $edible;
var $color;
function Vegetable( $edible, $color="green" ) {
$this->edible = $edible;
$this->color = $color;
}
function is_edible{) I return $this->edible;
}
function what_color() {
return $this->color;
}
} // конец базового класса
// расширение базового класса class Spinach extends Vegetable {
var $cooked = false;
function $pinach() {
$this->Vegetable(true, "green");
}
function cook_it() { $this->cooked = true;
}
function is_cooked() {
return $this->cooked;
}
} // конец класса Spinach
?>
/
Далее нам следует инициализировать два объекта этого класса и вывести информацую о них, включая информацию о наследовании. Мы определим вспомогательные функции, осуществляющие вывод.
Файл veg.php
<рге>
<?php
include "classes.inc";
// Вспомогательные функции function print vars($obj) {
$arr = get_object_vars($obj);
while (list($prop, $val) = each($arr))
echo "\t$prop = $val\n";
}
function print_methods($obj) {
$arr = get_class_methods(get_class($obj));
foreach ($arr as $method)
echo "\tfunction $method()\n" ;
}
function class_parentage($obj, $class) {
global $$obj;
if (is_subclass_of($$obj, $class)) {
echo "Object $obj belongs to class ".get_class($$obj) ;
echo " a subclass of $class\n";
} else {
echo "Object $obj does not belong to a subclass of $cla5s\n'
}
}
// инициализация двух объектов
$veggie = new Vegetable(true,"blue");
$leafy = new Spinach();
// ввывод информации об объектах
echo "veggie: CLASS " . get__class ($veggie) . "\n" ;
echo "leafy: CLASS ".get_class($leafу) ;
echo ", PARENT ".get_parent_class($leafy) ."\n";
// вывод свойств veggie
echo "\nveggie: Properties\n" ;
print_vars($veggie);
// методы leafy echo "\nleafy: Methods\n";
print_methods($leafy);
echo "\nParentage:\n";
class_parentage("leafy", "Spinach");
class_parentage("leafy", "Vegetable");
?>
</pre>
В приведенном примере важен тот факт, что объект $leafy является экземпляром класса Spinach, который является подклассом класса Vegetable, поэтому скрипт выведет такой фрагмент (рис. С.4):
[…]
Parentage:
Object leafy does not belong to a subclass of Spinach
Object leafy belongs to class spinach a subclass of Vegetable
ФУНКЦИИ
get_class_________________________________
Возвращает имя класса объекта Описание
string get_class (object obj)
См. также get_parent_class(), is_subclass_of().
get_parent_class_______________________
Возвращает имя родительского класса
Описание
string get_parent_class (object obj)
См. также get_class(), is_subclass_of().
get_class_methods___________________________
Возвращает массив имен методов класса
Описание
array get_class_methods (string class_name)
См. также get_class_vars(), get_object_vars().
get_class_vars______________________
Возвращает массив свойств класса
Описание
array get_class_vars (string class_name)
См. также get_class_metkods(), get_object_vars().
get_objeсt_vars_____________________________________
Возвращает ассоциативный массив свойств объекта
Описание
array get_object_vars (object obj)
См. также get_class_methods(), get_class_vars().
is_subclass_of___________________________________________
Определяет, является ли объект подклассом указанного класса
Описание
bool is_subclass_of (object obj, string superclass)
Функция возвращает true в том случае, если объект obj, относится к классу superclass. Если объект не принадлежит указанному классу, то функция возвращает false.
См. также getjdoss(), get_parent_class().
class_exists__________________________________________________
Функция находит, был ли класс определен
Описание
bool classjexists (string class_name)
Функция возвращает true, если класс class_name был описан, в противном случае возвращает false.
method_exists__________________________________
Функция проверяет наличие указанного метода
Описание
bool ruethod_exists (object object, string method_name)
Функция возвращает true, если метод method_name определен в указанном объекте object, если метод не определен, то возвращает значение false.
get_declared_classes______________________________
Возвращает массив с именами описанных классов
Описание
array get_declared_classes (void)
Выводит имя всех классов текущего скрипта. В РНР4 всегда существуют классы stdClass (описан в Zend/zend.c), OverloadedTestClass (описан в ext/standard/basic_functions.c) и Directory (описан in ext/standard/dir.c).
calljuserjmethod________________________________________
Вызывает метод указанного класса
Описание
mixed call_user_method (string method_name, object obj [, mixed parameter [, mixed...]])
Вызываемый метод — это метод method_name в объекте obj.
Пример:
<?php
class Country {
var $ NAME;
var $TLD;
function Country($name, $tld) {
$this->NAME = $name;
$this->TLD = $tld;
}
function print_info($prestr="") {
echo $prestr."Country: ".$this->NAME."\n";
echo $prestr."Top Level Domain: ".$this->TLD."\n";
}
}
$cntry = new Country("Peru","pe");
echo "* Calling the object method directly\n»;
$cntry->print_infо();
echo "\n* Calling the same method indirectly\n»;
call_user_method ("print_info", $cntry, "\t");
?>
В броузере будет показана информация в соответсвии с рис. С.5.
См. также calljuser_junc().
Функции работы с датой и временем
checkdate_________________________________________
Проверяет правильность даты/времени
Описание
int checkdate (int month, int day, int year) ;
Возвращает true, если данная дата верна, в противном случае возвращает false. Дата будет верной в том случае, если:
- год находится между 1900 и 32767 (включительно);
- месяц — между 1 и 12 включительно;
- день находится в диапазоне разрешенных дней данного месяца, високосные годы учитываются.
date__________________________________________________
Формат локального времени/даты
Описание
string date (string format, int timestamp);
Возвращает строку, отформатированную в соответствии с форматом.
Форматы:
А……«АМ» или «РМ»;
d……день месяца, цифровой, 2 цифры (на первом месте ноль);
D ……день недели, текстовый, 3 буквы; т.е. «Fri»;
F……месяц, текстовый, длинный; т.е. «January»;
h ……час, цифровой, 12-часовой формат; Н....час, цифровой, 24-часовой формат; i минуты, цифровой;
j……день месяца, цифровой, без начальных нулей;
1……(строчная 'L') день недели, текстовый, длинный; т.е. «Friday»;
m.. .... месяц, цифровой;
М.... месяц, текстовый, 3 буквы, т.е. «Jan»;
s……секунды, цифровой;
S……английский порядковый суффикс, текстовый, 2 символа; т.е. «th», «nd»;
U ……секунды с начала века; Y год, цифровой, 4 цифры;
w……день недели, цифровой, 0 означает воскресенье;
у…….год, цифровой, 2 цифры;
z……день года, цифровой, т.е. «299».
Нераспознанные символы в форматной строке будут печататься как есть.
Пример date():
print(date( "1 dS of F Y h:i:s A" ));
print("July 1, 2000 is on a ". date("l", mktime (0, 0, 0, 7, 1, 2000)));
На экран будет выведена информация, показанная на рис. С.6.
Функции date() и mktime() возможно использовать совместно для определения даты в будущем или прошлом.
Пример функций date() и mktime():
$tornorrow = mktime (0,0,0, date ("m") , date ("d") +1, date ("Y") ) ;
$lastmonth = mktime(0,0,0,date("m")-l,date("d"),date("Y"));
$nextyear = mktime(0,0, 0, date("m"),date("d"),date("Y")+1);
Для того, чтобы перевести даты в другие календарные системы, используются функции setlocale() и strftime().
См. также gmdate(), mktime().
strftime____________________________
Форматирует локальное время
Описание
string strftime (string format, int timestamp);
Возвращает строку, отформатированную согласно заданному формату:
%а…….сокращенное название дня недели согласно текущему locale;
%А…….полное название дня недели согласно текущему locale;
%b…….сокращенное название месяца согласно текущему locale;
%В…….полное название месяца согласно текущему locale;
%с…….предпочтительное представление даты и времени для текущего
locale;
%d…….день месяца как десятичное число (в диапазоне от 0 до 31);
%Н ......час как десятичное число в 24-часовом формате (в диапазоне
от 00 до 23);
%I…….час как десятичное число в 12-часовом формате (в диапазоне
от 01 до 12);
%j…….день года как десятичное число (в диапазоне от 001 до 366);
%m…….месяц как десятичное число (в диапазоне от 1 до 12);
%М……минуты как десятичное число;
%р……'am' или 'рт' согласно текущему времени, или соответствующие строки для текущего locale; %S секунды как десятичное число;
%U…….номер недели текущего года как десятичное число, начиная с
первого воскресенья в качестве первого дня первой недели;
%W…….номер недели текущего года как десятичное число, ночиная с
первого понедельника в качестве первого дня первой недели;
%w……день недели как целое число, воскресенье — 0-й день;
%х…….предпочитаемое представление даты для текущего locale, не
включающее время;
%Х……предпочитаемое представление времени для текущего locale, не
включающее дату;
%у…….год как десятичное число без столетия (в диапазоне от 00 до 99);
%Y……год как десятичное число, включая столетие;
%Z…….временная зона или название или сокращение;
%%.......символ '%'.
Пример функции strftime():
setlocale ("LC_TIME", "С");
print(strftime("%A in Finnish is "));
setlocale ("LC_TIME", "fi");
print(strftime("%A, in French "));
setlocale ("LC_TIME", "fr");
print(strftime("%A and in German "));
setlocale ("LC_TIME", "de");
print(strftime("%A.\n"));
См. также setlocale(), mktime().
getdate__________________________________
Получает информацию о дате/времени
Описание
array getdate (int timestamp);
Возвращает ассоциативный массив, содержащий информацию о дате, со следующими элементами:
«seconds» секунды;
«minutes» минуты;
«hours» часы;
«mday» день месяца;
«wday» день недели, цифровой;
«топ» месяц, цифровой;
«уеаг» год, цифровой;
«yday» день года, цифровой, т.е. «299»;
«weekday день недели, текстовый, полный, т.е. «Friday»;
«month» месяц, текстовый, полный, т.е. «January».
gmdate_________________________________________
Форматирует GMT/CUT время/дату
Описание
string gradate (string format, int timestamp);
Аналогична функции date() за исключением того, что время возвращается в гринвичском формате Greenwich Mean Time (GMT). Например, при запуске в России (GMT +0300), первая строка ниже напечатает «Jan 01 1998 00:00:00», в то время как вторая строка напечатает «Dec 31 1997 22:00:00» (см. рис. С.7).
Пример gmdate():
echo date( "М d Y H:i:s",mktime(0,0,0,1,1,1998) );
echo gmdate( "M d Y H:i:s",mktime(0,0,0,1,1,1998) );
См. также dale(), mktime(), gmmktime().
mktime_______________________________________________
Получает временную метку UNIX для даты
Описание
int mktime (int hour, int minute, int second, int month, int day, int year) ;
Пример mktime():
echo date ( "-М-d-Y", mktime (0, 0, 0, 12, 32, 1997) );
echo date( "М-d-Y", mktime(0, 0, 0, 13, 1, 1997) );
echo date( "М-d-Y", mktime(0, 0, 0, 1, 1, 1998) );
См. также date(), time().
gmmktime______________________________________________
Получает временную метку UNIX для даты в GMT
Описание
int gmmktime (int hour, int minute, int second, int month, int day, int year);
time________________________________________________________
Возвращает текущую временную метку UNIX
Описание
int time (void) ;
Возвращает текущее время, измеренное в числе секунд с эпохи Unix (1 января 1970 00:00:00 GMT).
См. также dateQ.
microtime____________________________________________________________
Возвращает текущую временную метку UNIX в микросекундах
Описание
string microtime (void);
Возвращает строку «msec sec», где sec — текущее время, измеренное в числе секунд с эпохи Unix (0:00:00 1 января, 1970 GMT), a msec - это часть в микросекундах. Эти функции доступны только в операционных системах, поддерживающих системный вызов gettimeofday().
См. также time().
Gettimeofday_______________________________________________
Получить текущее время
Описание
array gettimeofday (void)
Возвращает ассоциативный массив:
«sec» секунды;
«usee» микросекунды;
«minuteswest» минуты;
«dsttime» тип корректировки dst.
gmdate______________________________________
Форматировать дату/время
Описание
string gmdate (string format, int timestamp)
gmstrftime_______________________________________
Форматировать дату/время GMT/CUT в соответствии с локальными установками
Описание
string gmstrftime (string format, int timestamp)
localtime______________________________________
Получить местное время
Описание
array localtime ([int timestamp [, bool is_associative]])
Возвращает массив (ассоциативный, если is_associative равен 1)
«tm_sec» секунды;
«tm_min» минуты;
«tm_hour» часы;
«tm_mday» дата (день месяца);
«tm_mon» месяц;
«tm_year» год;
«tm_wday» день недели;
«tm_yday» день года;
«tm isdst» включена ли поддержка дневного времени.
microtime_________________________________________
Текущее время UNIX с микросекундами
Описание
string microtime(void);
time_______________________________________________
Возвращает текущее время UNIX
Описание
int time(void);
strtotime________________________________________________________________
Анализирует формат текстового фремени и переводит его во время UNIX
Описание
string strftime (string format [, int timestamp])
%a день недели кратко;
%A день недели полностью;
%b месяц кратко;
%В месяц полностью;
%с дата и время;
%С номер века;
%d день месяца;
%D эквивалентно %m/%d/%y;
%е день месяца (от 'Г до '31');
%h эквивалентно %Ь;
%Н часы (до 24);
%1 часы (до 12);
%j день года (366);
%m месяц (от 1 до 12);
%М минуты;
%n переход на новую строку;
%р обозначение времени суток 'am' или 'pm' the current locale;
%r время с обозначениями a.m. или p.m.;
%R время в обозначении до 24 часов;
%S секунды;
%t символ табуляции;
%Т текущее время, эквивалентно %H:%M:%S;
%u дни недели в числовом представлении, 1 — понедельник;
%U номер недели в году;
%V номер недели в году (ISO 8601:1988), первой неделей считается неделя, содерждащая по крайней мере 4 дня, пришедшиеся на текущий год. Диапазон от 01 до 53; %W номер недели, первая неделя та, на которую проиходится первый понедельник года;
%w день недели, воскресенье 0;
%х дата без времени;
%Х время без даты;
%у год без века;
%Y год (полный, с веком); .
%Z временная зона;
%% символ '%'.
Пример:
setlocale ("LC_TIME", "С");
print (strftime ("%А in Finnish is "));
setlocale ("LC_TIME", "fi_FI");
print (strftime ("%A, in French "));
setlocale ("LC_TIME", "fr_CA");
print (strftime ("%A and in German "));
setlocale ("LC_TIME", "de_DE");
print (strftime ("%A.\n"));
Функции для работы с каталогами
Chdir_____________________________________
Смена каталога
Описание
int chdir(string directory);
Изменяет текущий PHP-каталог на новый каталог с именем directory. Возвращает FALSE, если текущий каталог изменить не удалось, TRUE — если изменение каталога произведено.
dir__________________________________________
Читает содержание текущего каталога
Описание
new dir(string directory);
Пример с Dir():
$d = dir("/etc");
echo "Handle: ".$d->handle."<br>\n";
echo "Path: ".$d->path."<br>\n";
while($entry=$d->read()) {
echo $entry."<br>\n";
}
$d->close();
closedir___________________________________________
Закрыть каталог
Описание
void closedir(int dir_handle);
Закрывает поток каталога, обозначенный как dir_handle. Поток предварительно должен быть открыт финкцией opendir().
opendir__________________________________________
Открыть каталог
Описание
int opendir(string path);
Возвращает дескриптор (handle) каталога, который в последующем используется в closedir(), readdir(), и rewinddir() обращениях.
readdir____________________________________________
Чтение Данных из каталога по дескриптору (handle)
Описание
string readdir(int dir handle);
Пример. Вывод всех файлов в текущем каталоге (см рис. С. 8):
<?php
chdir("dll") ;
$handle=opendir('.');
echo "Directory handle: $handle\n";
echo "Files:<P>";
while ($file = readdir($handle)) {
echo "$file<p>";
}
closedir($handle);
?>
rewinddir______________________________________________________
Возврат к началу данных каталога по дескриптору (handle)
Описание
void rewinddir(int dir_handle);
Очищает поток каталога, обозначенный как dir_handle, возвращая в начало данных.
Функции XML/DOM
Эти функции доступны только тогда, когда РНР сконфигурирован с поддержкой библиотеки GNOME XML. Для этого необходимо включить в файл pbp.ini строку extension=php_domxml.dll.
В этом модуле определен целый ряд классов. Функции DOM XML производят анализ XML-файла и возвращают дерево его объектов с учетом их иерархии.
Функции xmldoc
Создает объект DOM в XML-документе
Описание
object xmldoc (string str)
Эта функция анализирует документ XML, указанный в качестве аргумента str, и возвращает объект класса «Dom document», обладающий свойствами «doc» (resource), «version» (string) и «type» (long).
xmldocfile
Создает объект DOM из XML файла
object xmldocfile (string filename)
Функция осуществляет анализ XML-файла с именем filename и возвращает объект класса «Dom document», со свойствами «doc» (resource), «version» (string).
xmltree
Строит дерево объектов РНР на основе документа XML
object xmltree (string str)
Функция анализирует документ XML, указанный в str, и возвращает дерево объектов РНР в том виде, как они описаны в XML-документе.
Функции для работы с файловой системой
Basename___________________________________
Возвращает имя файла по полному пути к файлу
Описание
string basename(string path);
Получив строку, содержащую путь к файлу, данная функция возвратит базовое имя файла.
В Windows можно использовать оба вида знака черты — нормальную черту (/) и обратную черту (\). Они используются как разделители при задании пути. В других средах можно использовать только нормальную черту (/).
Пример basename():
$path = "/home/httpd/htral/index.php";
$file = basename($path) ; // $file устанавливается в "index.php" См. также dirname()
chgrp __________________________________________________
Изменить файловую группу, т.е. принадлежность файла
Описание
int chgrp (string filename, mixed group);
Пытается изменить группу файла filename на group.
Возвращает true при успешном завершении, в противном случае — false.
В Windows при выполнении этой функции ничего не происходит и возвращается true.
См. также chown(), chmo().
chmod____________________________
Изменить режим файла
Описание
int chmod(string filename, int mode);
Пытается изменить режим файла, указанного в filename на новый режим mode.
Заметим, что mode не присваивает автоматически восьмиричное значение, для этого необходимо использовать префикс mode с нулем (0):
chmod( "/somedir/somefile", 755 ); *
// десятичный; возможно появление ошибки chmod( "/somedir/somefile", 0755 );
// восьмиричный; корректное значение режима
Возвращает true при успешном завершении, в противном случае — false.
См. также chown(), chgrp().
chown_____________________________
Изменяет владельца файла
Описание
int chown(string filename, mixed user);
Пытается изменить владельца файла filename на пользователя user. Возвращает true при успешном завершении, в противном случае - false. В Windows ничего не выполняется и возвращается true.
См. также chown(), chmod().
clearstatcache
Очистить кеш статистики файла
Описание
void clearstatcache(void);
copy_______________
Скопировать файл
Описание
int copy(string source, string dest);
Создает копию файла. Возвращает true при успешном завершении- в противном случае — false.
Пример сору():
if (!copy($file, $file.'.bak') ) {
print("failed to copy $file...<br>\n") ;
}
См. также rename().
dirname_________
Путь к файлу
Описание
string dirname(string path);
По строке, содержащей путь к файлу возвращает каталог, содержащий этот файл.
Пример dirnamc():
$path = "/etc/passwd";
$file = dirname ($path) ; // $file is set to "/etc"
См. также basename()
fclose___________________________________________
Закрывает открытый указатель на файл
Описание
int fclose (int fp) ;
Указатель на файл fp закрывается. Возвращает true при удачной операции и false при ошибке. Указатель должен быть открыт и указывать на файл, открыть который можно с помощью fopen() или fsockopen().
feof__________________________________________________
Проверка на достижение указателем конца файла
Описание
int feof(int fp) ;
Возвращает true, если указатель файла равен EOF (или в случае ошибки), в противном случае возвращается false.
Указатель должен быть предварительно открыт с помощью fopen(), popen() или fsockopen().
fgetc_________________________
Получить символ из файла
Описание
string fgetc(int fp);
Возвращает строку, содержащую один символ, прочитанный по файловому указателю fp. При EOF возвращается false. Указатель должен быть открыт с помощью fopen(), popen(), или fsockopen().
См. также fopen(), popen(), fsockopen(), fgets().
fgets___________________________
Получить строку по указателю на файл
Описание
string fgets(int fp, int length);
Возвращает строку длиной до length, читается по одному байту из файла, указанного в fp. Чтение заканчивается, если прочитано число символов, равное length, чтение прекращается также в случае обнаружения символа конца строки, возврата каретки или конца файла EOF. При ошибке возвращается false. Указатель должен быть открыт с помощью fopen(), рореn() или fsockopen().
См. также fopen(), рореn(), fgetc(), fsockopen().
fgetss__________________________________________________
Получает строку по указателю файла и убирает из нее ярлыки HTML
Описание
string fgetss(int fp, int length);
Отличается от fgetss() тем, что удаляет ярлыки HTML и РНР-тэги из прочитанного текста.
См. также fgets(), fopen(), fsockopen(), рореn().
file_______________
Читает файл в массив
Описание
array file(string filename);
Идентична readfile(), отличие состоит в том, что file() выводит массив. Каждый элемент массива соответствует строке файла (вместе с символом возврата строки).
См. также readfile(), fopen(), рореn().
file_exists__________________
Проверяет существование файла
Описание
int file_exists(string filename);
Возвращает true, если файл, указанный в filename существует; в противном случае возвращает false.
См. также clearstatcache().
fileatime__________________________
Время последнего обращения к файлу
Описание
int fileatime(string filename);
Возвращает время последнего обращения к файлу, в случае возникновения ошибки возвращает false.
filectime________________________
Время последнего изменения файла
Описание
int filectime(string filename);
Возвращает время последего изменения файла, или false в случае возникновения ошибки.
filegroup_____
Группа файла
Описание
int filegroup(string filename);
Возвращает идентификатор ID группы владельца файла, в влучае возникновения ошибки возвращает false.
fileinode______________
fileinode — inode файла
Описание
int fileinode(string filename);
Возвращает номер inode файла, или false в случае ошибки.
filemtime_________________
Время модификации файла
Описание
int filemtime(string filename);
Возвращается время последего изменения файла, или false в случае ошибки.
Fileowner_______
Владелец файла
Описание
int fileowner(string filename);
Возвращает ID владельца файла, или false в случае ошибки.
Fileperms_______________________
Ограничения использования файла
Описание
int fileperms(string filename);
Возвращает разрешения, установленные для файла, или false случае ошибки.
Filesize_______
Размер файла
Описание
int filesize(string filename);
Возвращает размер файла, или false в случае ошибки.
Filetype____
Тип файла
Описание
string filetype(string filename); Возвращает тип файла.
Возможные значения:
fifo;
char;
dir;
block:
link:
file;
unknown.
В случае ошибки возвращется false.
fopen____________________
Открыть файл или URL
Описание
int fopen(string filename, string mode);
Если filename начинается с указания названия протокола «http://» (без учета регистра), открывается соединение HTTP 1.0 с указанным сервером и возвращается указатель файла на начало текста ответа. Поскольку переадресация в HTTP не обрабатывается, то необходимо вставить в указание каталога завершающие слэши.
Если filename начинается с уазания названия протокола «ftp://» (без учета регистра), то откроется ftp-соединение с указанным сервером и возвращается указатель на искомый файл. Если сервер не поддерживает режим пассивного ftp, то данная операция завершится ошибкой. Существует возможность открытия файлов через ftp как для чтения, так и для записи (но не одновременно).
Если filename начинается иначе, то откравается файл файловой системы, и возвращается указатель на открытый файл.
Если при открытии файла происходит ошибка, функция возвращает false.
Mode может принимать такие значения:
"r" открыть только для чтения, помещает указатель на начало
файла;
"r+" .....открыть для чтения и для записи, помещает указатель на начало файла;
"w" ..... открыть только для записи, помещает указатель на начало файла и очищает все содержимое файла. Если файл не существует, создается новый файл;
"w+"…... открыть для чтения и для записи, помещает указатель на начало файл
а и очищает все содержимое файла. Если файл не существует, создается новый файл;
"а"…..открыть только для записи, помещает указатель на конец файла. Если файл не сществует, создается новый файл;
"а+" …..открыть для чтения и для записи, помещает указатель на конец файла. Если файл не существует, создается новый файл.
Mode может содержать символ 'b' для систем, различающих бинарные и текстовые файлы (не используется в Unix).
Пример fopen():
$fp = fopen("/home/rasmus/file.txt" , "r");
$fp = fopen("http://www.php.net/", "r");
$fp = fopen ("ftp ://user :pa;ssword@example . com/" , "w");
Если вы испытываете проблемы с чтением и записью в файл, используя РНР как серверный модуль, то необходимо убедиться в том. что файлы и каталоги доступны для серверных процессов.
См. также fclose(), fsockopen(), popen().
fpassthru___________________________
Вывод всех данных из указателя файла
Описание
int fpassthru(int fp) ;
Осуществляет чтение до конца файла EOF по полученному указателю файла и записывает результат на стандартное устройство вывода. При возникновении ошибки fpassthru() возвращает false.
Файловый указатель должен быть открыт при помощи fopen() popen(), или fsockopen(). Для получения вывода файла целиком на stdout можно использовать функцию readfile(), при этом будет сэкономлен один ресурс, так как не потребуется открывать файл с помощью fopen().
См. также readfile(), fopen(), popen(), fsockopen().
fputs________
Запись в файл
Описание
int fputs(int fp, string str, int [length]);
Fputs() — это псевдоним fvrite(), и обе функции полностью идентичны. Заметим, что параметр length не является обязательным и при его отсутствии записывается вся строка str.
fread
Бинарное чтение файла
Описание
string fread(int fp, int length);
Fread() читает байты из файла, на который ссылается fp длиной не более length. Чтение заканчивается, когда прочитан length-байт или достигнут конец файла EOF.
// получить содержимое файла в строку
$filename = "/usr/local/something.txt";
$fd = fopen( $filename, "r" );
$contents = fread ( $fd, filesize ( $filename ) ); fclose( $fd ) ;
См. также fwrite(), fopen(), fsockopen(), popeti(), fgets(), fgetss(), file(), fpassthru().
fseek
Поиск в файле
Описание
int fseek(int fp, int offset);
Для файла fp будет произведена установка внутреннего указателя с отступом на offset-байт. Эквивалентно вызову fseek( fp, offset, SEEK_SET) в языке С. При удачном выполнении возвращает 0, в противном случае возврщается — 1, при этом поиск после EOF не рассматривается как ошибка. Не используется для файловых указателей, возвращенных функцией fopenQ при использовании форматов «http://» или «ftp://».
См. также ftell(), rewind().
ftell
Текущая позиция указателя в файле
Описание
int ftell (int fp) ;
Возвращает позицию указателя в файле, на который ссылается fp, т.е. смещение в потоке файла. При возникновении ошибки возвращается false. Файловый указатель должен быть открыт при помощи fopen() или popen().
См. также fopen(), popen(), fseek(), rewind().
fwrite
Бинарная запись в файл
Описание
int fwrite(int fp, string string, int [length]);
Fwrite() записывает содержимое string в файловый поток, указанный fp. Если аргумент length присутствует, запись останавливается после записи байта с номером length, или после записи всей строки string. Заметим, что если есть аргумент length, то конфигурационные опции magic_quotes_runtime игнорируются и никакие знаки из string не удаляются.
См. также fread(), fopen(), fsockopen(), popen(), fputs().
is_dir
Проверка каталога
Описание
bool is_dir(string filename);
Возвращает true, если filename существует и является каталогом.
См. также is_file(), isjink().
is_executable
Файл относится к классу исполняемых
Описание
bool is_executable(string filename);
Возвращает true, если filename существует и является исполняемым файлом.
См. также is_file(), is_link().
is_file
Проверка файла
Описание
bool is_file(string filename);
Возвращает true, если filename существует и является файлом. См. также is_dir(), is_link().
is link
Проверка файла ссылок
Описание
bool is_link(string filename);
Возвращает true, если filename существует и является ссылкой.
См. также is_dir(), is_file().
is readable
Проверка читаемых классов
Описание
bool is_readable(string filename);
Возвращает true, если filename существует и является доступным для чтения.
См. также is_writeable().
is writeable
Проверка записываемых файлов (тех, которые можно изменить)
Описание
bool is_readable(string filename);
Возвращает true, если файл существует и доступен для записи.
См. также is_readable().
link
Создать ссылку
Описание
int link(string target, string link);
Link() создает ссылку.
См. также symlink(), readlink(), linkinfo().
linkinfo
Информация о ссылке
Описание
int linkinfo(string path);
Linkinfo() возвращает поле st_dev из UNIX С-структуры stat, возвращенной системным вызовом lstat. Эта функция используется для проверки того, существует ли ссылка. Возвращает 0 или FALSE в случае ошибки.
См. также symlink(), link(), readlink().
mkdir
Создать каталог
Описание
int mkdir(string pathname, int mode);
Создает каталог, указанный в pathname.
mkdir("/path/to/my/dir", 0700);
Возвращает true при успешном выполнении и false при ошибке.
См. также rmdir().
pclose
Закрывает файловый указатель
Описание
int pclose(int fp) ;
Закрывает файловый указатель, открытый с помощью рореn().
См. также рореn().
рореn
Открыть файловый указатель
Описание
int рореn(string command, string mode);
Возвращает файловый указатель, идентичный возвращаемому функцией fopen(), однако этот указатель может использоваться только для чтения или только для записи и в дальнейшем должен быть закрыт с помощью функции pclose(). Этот указатель можно использовать cfgets(), fgetss() и fputs(). При возникновении ошибки возвращет false.
$fp = рореn( "/bin/Is", "г" );
См. также pclose().
readfile
Вывод файла
Описание
int readfile(string filename);
Читает файл и записывает его на стандартное устройство вывода. Возвращает количество прочитанных байтов. В случае возникновения ошибки возвращется false.
Если filename начинается с «http://» (без учета регистра), открывается соединение HTTP 1.0 к указанному серверу и текст ответа выводится на стандартное устройство вывода.
Если filename начинается с «ftp://» (без учета регистра), открывается ftp-соединение с указанным сервером и файл ответа выводится на стандартное устройство вывода. Если сервер не поддерживает режим пассивного ftp, этот вызов завершится ошибкой.
Если filename начинается иначе, то будет открыт файл файловой системы и его ссодержимое выведется на стандартное устройство вывода.
См. также fpassthru(), file(), fopen(), include(), require(), virtual().
readlink
Цель символической ссылки
Описание
string readlink(string path);
Readlink() работает аналогично функции языка С readlink и возвращает содержимое символической ссылки path или 0 в случае ошибки.
См. также symlink(), readlink(), linkinfo().
rename
Переименовать файл
Описание
int rename(string oldname, string newname);
Пытается переименовать oldname в newname. Возвращает true при успешном выполнениии и false при сбое.
rewind
Обновляет положение внутреннего указателя, возвращая его в начало файла
Описание
int rewind (int fp) ;
Позиционирует файловый указатель для fp на начало потока файла. При возникновении ошибки возвращается 0. Файловый указатель должен быть открыт при помощи функции fopen(). См. также fseek(), ftell().
rmdir
Удалить каталог
Описание
int rmdir(string dirname);
Пытается удалить каталог. Каталог должен быть пустым. При возникновении ошибки возвращается 0.
См, также mkdir().
stat
Информация о файле
Описание
array stat(string filename);
Возвращает сведения о файле filename. Возвращает массив статистической информации о файле со следующими элементами:
1) устройство;
2) inode;
3) номер ссылки;
4) id пользователя или владельца;
5) id группы владельцев;
6) тип устройства inode *;
7) размер в байтах;
8) время последнего доступа;
9) время последней модификации;
10) время последнего изменения;
11) размер блока для I/O файловой системы *;
12) количество занятых блоков.
* — только для систем, поддерживающих тип st_blksize, в других системах (т.е. Windows) возвращается — 1.
Istat
Информация о файле или символической ссылке
Описание
array lstat(string filename);
Возвращает информацию о файле или символической ссылке filename. Эта функция идентична stat(), но если filename — это символическая ссылка, то возвращается статус символической ссылки, а не статус файла, на который указывает данная ссылка.
Возвращает массив статистическои информации со следующими элементами:
1) устройство;
2) inode;
3) число ссылок;
4) id пользователя или, владельца;
5) id группы владельцев;
6) тип устройства, если inode — устройство *;
7) размер в байтах;
8) время последнего доступа;
9) время последней модификации;
10) время последнего изменения;
11) размер болка для I/O файловой системы *;
12) количество занятых блоков.
* — только для систем, поддерживающих тип st_blksize, в других системах (т.е. Windows) возвращается —1.
symlink
Создать символическую ссылку
Описание
int symlink(string target, string link);
Symlink() создает символическую ссылку, указывающую на существующий ресурс target с именем link.
См. также link(), readlink(), linkinfo().
tempnam
Создать имя файла
Описание
string tempnam(string dir, string prefix);
Создает уникальное имя файла в указанном каталоге. Если каталог не существует, tempnam() может сгенерировать имя файла во временном каталоге системы.
Возвращает новое временное имя файла, или нулевую строку при ошибке.
Пример tempnam():
$tmpfname = tempnam( "/tmp", "FOO" );
touch
Установить время модификации файла
Описание
int touch(string filename, int time);
Пытается установить время модификации файла filename в виде значения time. Если опция time отсутствует, то используется текущее время. Если файл не существует, то он создается. Возвращает true при успешном выполнении, в обратном случае — false, •
umask
Изменить маску
Описание
int umask(int mask);
Umask() устанавливает текущую umask РНР в mask & 0777 и возвращает старую umask. Umask() без аргументов возвращает текущую маску.
unlink
Удалить файл
Описание
int unlink(string filename);
Удаляет файл filename. Аналогично функции Unix С unlink(). Возвращает 0 или FALSE при ошибке.
См. также rmdir() для удаления директорий.
delete
Описание
void delete (string file)
diskfreespace
Возвращает количество свободного места в директории
Описание
float diskfreespace (string directory)
Пример:
$df = diskfreespace ("/") ; // $df contains the number of bytes
// available on "/"
См. также рис. С.9.
fgetcsv
Получает строку из указателя строки
Описание
array fgetcsv (int fp, int length [, string delimiter])
Пример:
$ row = 1;
$fp = fopen ("test.csv","r");
while ($data = fgetcsv ($fp, 1000, ",")) {
$num = count ($data);
print "<p> $num fields in line $row: <br>";
$row++;
for ($c=0; $c<$num; $c++) {
print $data[$cj. "<br>";
}
}
fclose ($fp);
flock
Запирает файл
Описание
bool flock (int fp, int operation [, int wouldblock])
Operation может принимать значения:
- LOCK_SH 1 (чтение);
- LOCK_EX 2 (запись);
- LOCK_UX 3 (освободить);
- LOCK_NB 4 (не блокировать).
fscanf
Анализирует содержимое файла в соответствии с указанным форматом
Описание
mixed fscanf (int handle, string format [, string varl.
Функция похожа на sscanf(),
См. также fread(), fgets(), fgetss(), sscanf(), printf(), sprint().
fstat
Получает информацию о файле
Описание
array fstat (int fp)
Возвращает массив со следующими элементами:
1) устройство device;
2) inode;
3) количество ссылок;
4) идентификатор пользователя id;
5) идентификатор группы;
6) тип устройства;
7) размер в байтах;
8) время последнего доступа;
9) время последней модификации;
10) время последнего изменения;
11) размер блока ввода-вывода;
12) количество блоков.
ftell
Сообщает указателю положение для чтения или записи
Описание
int ftell (int fp)
ftruncate
Обрезает файл в соответствии с заданной величиной
Описание
int ftruncate (int fp, int size)
set_file_buffer
Задает размер буфера для данного указателя файла
Описание
int set_file_buffer (int fp, int buffer)
realpath
Возвращает путь к файлу
Описание
string realpath (string path)
Пример:
$real_path = realpath ("../../index.php");
tmpfile
Создает временный файл
Описание
int tmpfile (void)
Создает временный файл в режиме для записи и возвращает указатель на этот файл. По окончании работы скрипта или вызове функции закрытия файла временный файл будет автоматически уничтожен.
См. также tempnam().
Функции для работы с FTP
При работе с модулем FTP определены константы FTP_ASCII и FTP_BINARY.
ftp_connect
Создает и возвращает поток FTP,при возникновении ошибки возвращает false
Описание
int ftp_connect (string host [, int port])
Функция ftp_connect() открывает FTP-соединение с хостом host. Параметр порта port не является обязательным. По умолчанию (или если задано значение 0) используется порт 21.
ftp_login
Передает имя и пароль
Описание
int ftp_login (int ftp_stream, string username, string password)
При удачном выполнении возвращает true, в противном случае — false.
ftp _pwd
Возвращает имя текущего директория
Описание
int ftp_pwd (int ftp_stream)
Возвращает текущий директорий или false при возникновении ошибки,
ftp_cdup
Родительский директорий
Описание
int ftp_cdup (int ftp_stream)
При удачной смене каталога возвращает true, при ошибке — false. Осуществляет переход в файловой системе на один каталог вверх.
ftp_chdir
Изменяет текущий директорий ftp-сервера
Описание
int ftp_chdir (int ftp_stream, string directory)
Осуществляет переход к указанному каталогу directory. Возвращает true, при возникновении ошибки возвращает false.
ftp_mkdir
Создает каталог
Описание
string ftp_mkdir (int ftp_stream, string directory)
Создает новый каталог на ftp-сервере (каталог directory). Возвращает true, при возникновении ошибки — false.
ftp_rmdir
Удаляет директорий
Описание
int ftp_rmdir (int ftp_stream, string directory)
Удаляет директорий directory. При удачном выполнении возвращает true, при возникновении ошибки возвращает false.
ftp_nlist
Возвращает список файлов текущего каталога
Описание
int ftp_nlist (int ftp_stream, string directory)
Возвращает массив имен фалов, при возникновении ошибки возвращает false.
ftp_rawlist
Возвращает детальный список файлов указанного каталога
Описание
int ftp_rawlist (int ftp_stream, string directory)
Функция ftp_rawlist() выполняет комантду FTP LIST и возвращает массив, каждый элемент которого представляет собой строку.
ftp_systype
Возвращает идентификатор типа удаленной системы ftp-сервера
Описание
int ftp_systype (int ftp_stream)
Возвращает тип удаленной системы, в случае возникновения ошибки! возвращает false.
ftp _pasv
Включает и выключает пассивный режим
Описание
int ftp_pasv (int ftp_stream, int pasv)
Функция ftp_pasv() включает пассивный режим в том случае, если параметр pasv имеет значение true — пассивный метод выключен, если значение pasv равно false. В пассивном режиме связь инициализируется клиентом, а не сервером. При удачном выполнении функция возвращает true, при возникновении ошибки — false.
ftp_get
Загружает файл с ftp-сервера
Описание
int ftp_get (int ftp_stream, string local_file, string remote_file, int mode)
Функция ftp_get() получает файл remote_file с ftp-сервера и сохраняет его в виде локального файла local_file. Режим mode должен иметь значение FTP_ASCII или FTP_BINARY. Возвращает true при благоприятном выполнении, при возникновении ошибки — false.
ftp fget
Загружает файл с ftp-сервера и сохраняет его в виде открытого файла
Описание
int ftp_fget (int ftp_stream, int fp, string remote_file, int mode)
Функция ftp_fget() получает файл remote_file с ftp-сервера и записывает его в указатель fp. Режим устанавливается в виде FTP_ASCII или FTP_BINARY. При успешном выполнении возвращает true, при возникновении ошибки возвращает false.
ftp _put
Передает локальный файл ftp-серверу
Описание
int ftp_put (int ftp_stream, string remote_file, string local_file, int mode)
Функция ftp_put() передает локальный файл local_file ftp-серверу и сохраняет на нем в виде файла с именем remote_file. Режим mode должен бьггь установлен в виде FTP_ASCII или FTP_BINARY. Возвращает true при удачном выполнении, при возникновении ошибки — false.
ftp_fput
Передает открытый файл ftp-cepвepy
Описание
int ftp_fput (int ftp_stream, string remote_file, int fp, int mode)
Функция ftp_put() загружает локальный файл из указателяч fp (до достижения конца файла) на FTP-сервер и сохраняет его там под именем remote_file. Режим передачи должен быть установлен FTP_ASCII или FTP_BINARY. Возвращает true при благополучном выполнении, при наличии ошибок — false.
ftp_size
Возвращает размер указанного файла
Описание
int ftp_size (int ftp_stream, string remote_file)
Возвращает размер файла или —1 в случае ошибки.
ftp_mdtm
Возвращает время последнего изменения указанного файла
Описание
int ftp_mdtm (int ftp_stream, string remote_file)
Функция ftp_mdtm() определяет время последнего изменения файла и возвращает это время. В случае возникновения ошибки будет возвращено — 1.
ftp_rename
Изменяет имя файла на ftp-сервере
Описание
int ftp_rename (int ftp_stream, string from, string to)
Функция ftp_rename() изменяет имя файла from и устанавливает новое имя to. При удачном выполнении возвращает true, при возникновении ошибки — false.
ftp_delete
Удаляет файл с ftp-сервера
Описание
int ftp_delete (int ftp_stream, string path)
Функция ftp_delete() удаляет файл path и возвращает true в случае удачного выполнения, при возникновении ошибки — false.
ftp_site
Посылает команду серверу
Описание
int ftp_site (int ftp_stream, string cmd)
Функция ftp_site() посылает команду cmd ftp-серверу. Набор допустимых команд зависит от типа сервера. При удачном выполнении возвращает true, при возникновении ошибки — false.
ftp_quit
Закрывает связь с ftp-сервером
Описание
int ftp quit (int ftp stream)
Функции для работы на уровне протокола HTTP
Эти функции позволяют работать с содержимым ответа сервера, посылаемого броузеру, на уровне протокола HTTP.
header
Посылает заголовок HTTP
Описание
int header (string string)
Функция Header() используется в начале HTML-файла для создания HTTP-заголовка. Эта функция должна быть вызвана перед тем, как будут отправлены данные, такие как ярлыки и текст HTML-файла. Использование таких функций как include() приводит к тому, что вывод данных может быть осуществлен перед тем, как будет сформирован заголовок при помощи функции' header().
Существует два специальных случая вызова функции header. Первый вариант — указание места «Location». Такой заголовок не только будет послан броузеру, но и изменит статус сервера Apache (REDIRECT).
header ("Location: http://www.php.net");
/* Перенаправляет броузер на сайт РНР */ exit ;
/* Убедитесь в том, что расположенный далее код не будет выполнен до того, как произойдет перенаправление броузера. */
Второй случай заголовков — заголовки, начинающиеся со строки «HTTP/» (без учета регистра). Например, если при ненахождении запрошенного ресурса можно обратиться к функции так:
header ("НТТР/1.0 404 Not Found");
Заголовок может содержать информации о кешировании страниц. Кеширование можно выключить, использовав, например, такой заголовок (приведено несколько вариантов):
header ("Expires: Mon, 16 Apr 2001 05:00:00 GMT");
// Это прошедшая дата
header ("Last-Modified:' ". gmdate("D, d M Y H:i:-s"). " GMT");
// страница изменена в момент загрузки (всегда изменена) header ("Cache-Control: no-cache, must-revalidate");
// используется в HTTP/1.1 header ("Pragma: no-cache");
// используется в HTTP/1.0
См. также headers sent().
header_sent
Возвращает значение true, если заголовок был послан
Описание
boolean headers_sent (void) См. также header().
setcookie
Посылает cookie
Описание
int setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])
Функция должна быть выполнена перед тем, как будет осуществлен вывод данных перед ярлыками <html> и <head>.
Все аргументы, за исключением name, являются необязательными.
Пример setcookie():
setcookie ("TestCookie", "Test Value");
setcookie ("TestCookie", $value,time()+3600) ; /* истекает через час */
setcookie ("TestCookie", $value,time()+3600, "/~rasmus/", ".utoronto.ca", 1);
Пример удаления cookies предыдущего примера.
Еще пример setcookie():
setcookie ("TestCookie");
setcookie ("TestCookie", "", time());
setcookie ("TestCookie", "", time(), "/-rasmus/", ".utoronto.ca", 1);
Содержимое cookies можно посмотреть таким способом:
echo $TestCookie;
echo $HTTP_COOKIE_VARS["TestCookie"] ;
Можно создать массив cookies:
setcookie ("cookie[three]", "cookiethree");
setcookie ("cookie[two]", "cookietwo");
setcookie ("cookie[one]", "cookieone"); if (isset ($cookie)) {
while (list ($name, $value) = each ($cookie)) {
echo "$name == $value<br>\n";
}
}
Для получения подробной информации о работе с cookies смотрите http://www.netscape.com/newsref/std/cookie_spec.html.
Функции для работы с изображениями
Эти функции доступны при наличии библиотеки GD и позволяют работать с изображениями JPEG GIF, PNG, SWF (см. http://www.boutell.com/gd/).
Формат изображений, с которыми можно работать, зависит от версии библиотеки gd. Версии, старше gd-1.6, поддерживают gif, но не поддерживают png, в то время как версии моложе gd-1.6 поддерживают png, но не поддерживают gif.
GetlmageSize
Возвращает размер картинок в формате GIF, JPEG, PNG, SWF
Описание
array getimagesize (string filename [array imageinfo])
Функция определяет размер изображений в формате GIF, JPG, PNG, SWF и возвращает тип файла, размеры по вертикали и горизонтали. Возвращает 4 элемента: элемент 0 — ширина рисунка в пикселях, 1 — высота рисунка, 2 — флаг типа рисунка (1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF), 3 — текстовая строка типа «height=xxx width=xxx», такая строка может быть помещена непосредственно в ярлык <IMG>.
Пример GetlmageSize:
<?php $size = GetlmageSize ("img/flag.jpg"); ?>
<IMG SRC="img/flag.jpg" <?php echo $size[3]; ?>
Параметр imageinfo не является обязательным. С его помощью можно получить дополнительную инфомрмацию о рисунке.
Пример:
<?php
$size = GetlmageSize ("testimg.jpg",&$info);
if (isset ($info["APP13"])) {
$iptc = iptcparse ($info["APP13"] ) ;
var dump ($iptc),;
}
?>
ImageArc
Рисует фрагмент эллипса
Описание
int ImageArc (int im, int cx, int cy, int w, int h, int s, int e, int col)
С помощью этой функции можно нарисовать часть эллипса с центром в сх, су (верхний правый угол имеет координаты 0, 0) в картинке im. W и h — это ширина и высота эллипса соответственно, параметры s и е — это начальная и конечная точки эллипса (части эллипса) в градусах.
ImageChar
Горизонтальное рисование символа
Описание
int imagechar (int im, int font, int x, int y, string c, int col)
Функция ImageChar() рисует первый символ строки в рисунке im, расположенную верхним левым углом в точке с координатами х, у цветом, указанным в виде параметра col. Если в качестве параметра font используются числа 1, 2, 3, 4 и 5, то используется встроенный фонт, чем больше число, тем крупнее изображение рисуемого символа.
См. также imageloadfont().
ImageCharUp
Вертикальное рисование символа
Описание
int imagecharup (int im, int font, int x, int y, string c, int col)
Функция ImageCharUp() рисует первый символ из строки с, располагая его вертикально, в рисунке im в положении с коорждинатами х и у с цветом, указанным в col. В качестве font указывается значения от 1 до 5 (целые числа). Чем больше число, тем крупнее символ.
См. также imageloadfont().
ImageColorAllocate
Определить (задать) цвет рисунка
Описание
int imagecolorallocate (int im, int red, int green, int blue)
Функция ImageColorAllocate() возвращает идентификатор цвета для каждого из цветов, используемых в рисунке. Цвет задается в формате RGB. Значение аргумента im может быть получено при помощи функции imagecreate() (она возвращает значение именно этого аргумента. Функцию ImageColorAllocate() необходимо вызывать для того, чтобы создать все цвета, которые будут использованы в данном рисунке im.
$white = ImageColorAllocate ($im, 255, 255, 255);
$black = ImageColorAllocate ($im, 0, 0, 0) ;
ImageColorDeAllocate
Убрать цвет рисунка
Описание
int imagecolordeallocate (int im, int index)
Функция Image ColorDeAllocate() удаляет цвет, который предварительно был определен при помощи функции ImageColorAllocate().
$white = ImageColorAllocate($im, 255, 255, 255);
ImageColorDeAllocate($im, $white);
ImageColorAt
Получить цвет данного пикселя
Описание
int imagecolorat (int im, int x, int y)
Возвращает цвет пикселя с указанными координаты для изображения im.
См. также imagecolorset(), imagecolorsforindex().
ImageColorClosest
Получить цвет, ближайший к указанному
Описание
int imagecolorclosest (int im, int red, int green, int blue)
Возвращает цвет, ближайщий к указанному, в виде параметров функции, из набора цветов, определенных для рисунка im. Расстояние до цвета определяется как расстояние между точками в трехмерном пространстве с координатами RGB.
См. также imagecolorexact().
ImageColorExact
Возвращает имя цвета
Описание
int imagecolorexact (int im, int red, int green, int blue)
Возвращает имя цвета по значениям RGB для рисунка im. Если указанный цвет в риснуке не определен, то возвращает —1.
См. также imagecolorclosest().
ImageColorResolve
Получить индекс цвета или индекс ближайшего цвета
Описание
int imagecolorresolve (int im, int red, int green, int blue)
Эта функция возвращает индекс (название) цвета в рисунке im по указанным значениям RGB. Если указанный цвет не используется в рисунке, то возвращается индекс ближайшего цвета, используемого в рисунке.
См. также imagecolorclosest().
ImageGammaCorrect
Применить коррекцию цвета в рисунке GD
Описание
int imagegammacorrect (int im, double inputgamma, double outputgamma)
Функция ImageGammaCorrect() использует коррекцию гаммы в рисунке im на основе параметров inputgamma и outputgamma.
ImageColorSet
Задает цвет
Описание
bool imagecolorset (int im, int index, int red, int green, int blue)
Задает цвет для индекса цвета в наборе цветов. См. также imagecolorat().
ImageColorsForlndex
Определяет цвет по индексу цвета
Описание
array imagecolorsforindex (int im, int index)
Возвращает ассоциативный массив (с элементами red, green, blue) для указанного цветового индекса.
См. также imagecolorat(), imagecolorexact().
ImageColorsTotal
Определяет количество цветов, используемых в рисунке
Описание
int imagecolorstotal (int im)
Возвращает количество цветов рисунка im.
См. также imagecolorat(), imagecolorsforindex().
ImageColorTransparent
Делает цвет прозрачным
Описание
int imagecolortransparent (int im [, int col])
Функция ImageColorTransparent() задает цвет col в рисунке im как прозрачный. Col — это знгачение, возвращаемое функцией ImageColorAllocate(). Функция возвращает идентификатор прозрачного цвета.
ImageCopy
Копировать часть рисунка
Описание
int ImageCopy (int dst_im, int src_im, int dst_x, int dst__y,
int src_x, int src_y, int src_w, int src_h)
Копировать часть рисунка src_im в рисунок dst_im, фрагмент рисунка начинается в точке с координатами src_x, src_y, ширина фрагмента src_w, высота фрагмента src_h. Копируемый фрагмент будет помещен в новый рисунок в положение, заданное при помощи координат dst_x и dst_y.
ImageCopyResized
Копировать и масштабировать фрагмент рисунка
Описание
int imagecopyresized (int dst_im, int src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)
Функция ImageCopyResized() копирует прямоугольный фрагмент рисунка в другой рисунок. Dst_im — рисунок, в который производится копирование, src_im — рисунок, из которого производится копирование. Если ширина и высота исходного фрагмента отличаются от ширины и высоты конечного фрагмента, по производится необходимое масштабирование. Эта функция может быть испльзована для осуществления копирования фрагмента внутри одного и того же рисунка. Однако, если копируемый фрагмент накладывается на область, которая хотя бы частично пересекается с исходной областью, то результат может быть непредсказуемым.
ImageCreate
Создает новый рисунок
Описание
int imagecreate (int x_size, int y_size)
Функция ImageCreate() возвращает идентификатор рисунка (пустого), размеры которого определяются параметрами x_size и y_size.
Пример:
<?php
header ("Content-type: image/png");
$im = @ImageCreate (50, 100)
or die ("Cannot Initialize new GD image stream");
$background_color = ImageColorAllocate ($im, 255, 255, 255) ;
$text_color = ImageColorAllocate ($im, 233, 14, 91);
ImageString ($im, 1, 5, 5, "Простая текстовая строка", $text_color);
ImagePng ($im);
?>
ImageCreateFromGIF
Создать новый рисунок из файла или URL
Описание
int imagecreatefromgif (string filename)
Функция ImageCreateFromGif() возвращает идентификатор для вновь созданного рисунка.
ImageCreateFromJPEG
Создает новый рисунок из фалйа или URL
Описание
int imagecreatefromjpeg (string filename)
Функция ImageCreateFromJPEG() возвращает идентификатор нового рисунка (в случае ошибки — пустую строку).
Пример:
function LoadJpeg ($imgname) {
$im = @ImageCreateFromJPEG ($imgname); /* Attempt to open */
if (! $im) { /* See if it failed */
$im = ImageCreate (150, 30); /* Create a blank image */
$bgc = ImageColorAllocate ($im, 255, 255, 255);
$tc = ImageColorAllocate ($im, 0, 0, 0);
ImageFilledp.ectangle ($im, 0, 0, 150, 30, $bgc) ;
/* Output an errmsg */
ImageString ($im, 1, 5, 5, "Error loading $imgname", $tc);
}
return $im;
}
ImageCreateFromPNG
Создает новый рисунок из файла или URL
Описание
int imagecreatefrompng (string filename)
Функция ImageCreateFromPNG() возвращает идентификатор рисунка или пустую строку (в случае ошибки).
Пример:
function LoadPNG ($imgname) {
$im = @ImageCreateFromPNG ($imgname); /* Attempt to open */
if (!$im) ( /* See if it failed */
$im = ImageCreate (150, 30); /* Create a blank image */
$bgc = ImageColorAllocate ($im, 255, 255, 255);
$tc = ImageColorAllocate ($im, 0, 0, 0) ;
ImageFilledRectangle ($im, 0, 0, 150, 30, $bgc);
/* Output an errmsg */
ImageString ($im, 1, 5, 5, "Error loading $imgname", $tc);
}
return $im;
}
ImageDashedLine
Рисует пунктирную линию
Описание
int imagedashedline (int im, int xl, int yl, int x2, int y2, int
col)
Функция ImageDashedLine() рисует пунктирную линию из точки xl, yl к точке х2, у2 в рисунке im цветом col.
См. также ImageLine().
ImageDestroy
Уничтожает рисунок
Описание
int imagedestroy (int im)
Функция ImageDestroy() уничтожает рисунок im и освобождает память
ImageFill
Заливка цветом
Описание
int imagefill (int im, int x, int y, int col)
Функция ImageFill() производит заливку цветом col в рисунке im, заливка начинается в точке с координатами х, у.
ImageFilledPolygon
Рисует закрашенный многоугольник
Описание
int imagefilledpolygon (int im, array points, int num_points, int col)
Функция ImageFilledPolygon() создает закрашенный многоугольник в рисунке im. Массив Points содержит набор координат многоугольника, те. points[0] = х0, points[l] = у0, points[2] = xl, points[3] = у1 и т.д. Num points — общее количество вершин многоугольника.
ImageFilledRectangle
Рисует закрашенный прямоугольник
Описание
int imagefilledrectangle (int im, int xl, int yl, int x2, int y2, int col)
Функция ImageFilledRectangle() создает прямоугольник цвета col в рисунке im с верхней левой координатой xl, yl и правой нижней координатой х2, у2.
ImageFillToBorder
Заливка заданным цветом
Описание
int imagefilltoborder (int im, int x, int у, int border, int col)
Функция ImageFillToBorder() осуществляет заливку с цветом границы, соответствующим border. Начальная точка заливки определяется координатами х, у, основной цвет заливки — col.
ImageFontHeight
Определяет размер фонта
Описание
int imagefontheight (int font)
Возвращает высоту символов указанного фонта. См. также ImageFontWidth(), ImageLoadFont().
ImageFontWidth
Определяет ширину фонта
Описание
int imagefontwidth (int font)
Возвращает ширину фонта font в пикеселях.
См. также ImageFontHeight(), ImageLoadFont().
ImageFilledRectangle
Рисует закрашенный прямоугольник
Описание
int imagefilledrectangle (int im, int xl, int yl, int x2, int y2, int col)
Функция ImageFilledRectangle() создает прямоугольник цвета col в рисунке im с верхней левой координатой xl, yl и правой нижней координатой х2, у2.
ImageFillToBorder
Заливка заданным цветом
Описание
int imagefilltoborder (int im, int x, int у, int border, int col)
Функция ImageFillToBorder() осуществляет заливку с цветом границы, соответствующим border. Начальная точка заливки определяется координатами х, у, основной цвет заливки — col.
ImageFontHeight
Определяет размер фонта
Описание
int imagefontheight (int font)
Возвращает высоту символов указанного фонта.
См. также ImageFontWidth(), ImageLoadFont().
ImageFontWidth
Определяет ширину фонта
Описание
int imagefontwidth (int font)
Возвращает ширину фонта font в пикеселях.
См. также ImageFontHeight(), ImageLoadFont().
ImageGIF
Выводит рисунок броузеру или в файл
Описание
int imagegif (int im [, string filename])
Функция ImageGIF() создает файл GIF с указанным именем im. Аргумент im — это значение, возвращаемое функцией imagecreate().
Формат рисунка — GIF87a или, если использована функция для задания прозрачных Цветова ImageColorTransparent(), то GIF89a.
Имя файла указывать необязательно. Если имя не указано, то поток данных рисунка направляется броузеру. Для того, чтобы такой поток был правильно обработан броузером, необходимо воспользоваться функцией header() и указать тип посылаемых данных в виде image/gif. Таким образом можно создать скрипт, который выводит изображение непосредственно.
ImagePNG
Выводит рисунок PNG в файл или передает его броузеру
Описание
int imagepng (int im [, string filename])
Функция ImagePng() выводит поток рисунка im в файл. Если имя файла не указано, то поток будет направлен непосредственно броузеру (на стандартное устройство вывода).
<?php
$im = ImageCreateFromPng("test.png");
ImagePng($im);
?>
ImageJPEG
Выводит рисунок jpeg в файл или передает броузеру
Описание
int imagejpeg (int im [, string filename [, int quality]])
Функция ImageJPEG() создает файл с рисунком JPEG для картинки im.
Если имя файла не указано, то поток данных будет направлен непосредственно броузеру. Чтобы броузер смог правильно обработать полученные данные, необходимо предварительно указать тип посылаемых данных (image/jpeg), используя функцию header().
Imagelnterlace
Включает и выключает режим interlace
Описание
int imageinterlace (int im [, int interlace])
Функция Imagelnterlace() включает или выключает бит interlacer.
ImageLine
Рисует линию
Описание
int imageline (int im, int xl, int yl, int x2, int y2, int col)
Функция ImageLine() рисует линию из точки xl, yl к точке х2, у2 цветом col.
См. также ImageCreate(), ImageColorAllocate().
ImageLoadFont
Загружает новый фонт
Описание
int imageloadfont (string file)
Функция ImageLoadFont() загружает пользовательский фонт и возвращает идентификатор фонта (всегда больше 5, поэтому никогда не конфликтует со встроенными фонтами) (табл. С.1).
ImagePolygon
Рисует многоугольник
Описание
int imagepolygon (int im, array points, int num_points, int col) J
Функция ImagePolygon() создает многоугольник в рисунке im. Массив Points содержит координаты вершин прямоугольника, т.е. points[0] = х0, points[l] = у0, points[2] = xl, points[3] = yl. Num_points — это общее количество вершин прямоугольника.
См. также imagecreate().
ImagePSBBox
Создает рамку
Описание
array imagepsbbox (string text, int font, int size [, int space [, int tightness [, float angle]]])
Size в пикселях.
Space позволяет изменить размер пробела, указанный по умолчанию. Эта величина прибавляется к исходному значению, может быть отрицательна.
Tightness позволяет контролировать количество пробелов между
символами. Может быть отрицательна (прибавляется к стандартному значению).
Angle в градусах.
Функция возвращает массив, содержащий следующие элементы:
0 нижняя левая х-координата;
нижняя левая координата у;
2 верхняя правая координата х;
3 верхняя правая координата у.
См. также imagepstext().
ImagePSEncodeFont
Изменяет вектор кодировки символов
Описание
int imagepsencodefont (string encodingfile)
Функция загружает вектор кодировки из файла в соответствии с которым меняет кодировку символов.
ImagePSFreeFont
Освобождает память, отведенную под фонт PostScript Туре 1
Описание
void imagepsfreefont (int fontindex)
См. также ImagePSLoadFontQ.
ImagePSLoadFont
Загружает из файла фонт PostScript Type 1
Описание
int imagepsloadfont (string filename)
Возвращает индекс фонта.
См. также ImagePSFreeFont().
ImagePsExtendFont
Сжимает или расширяет фонт
Описание
bool imagepsextendfont (int font_index, double extend)
Расширяет или сжимает фонт font_index, в соответствии с масштабом, указанным в виде значения extend.
ImagePsSlantFont
Изменяет фонт в соответствии с параметром
Описание
bool imagepsslantfont (int font_index, double slant]
Величина изменения задается параметром slant.
ImagePSText
Пишет текст поверх рисунка, используя фонт PostScript Туре1
Описание
array imagepstext (int image, string text, int font, int size, int foreground, int background, int x, int у [, int space [, int tightness [, float angle [, int antialias steps]]]])
Size в пикселях.
Foreground цвет текста.
Background цвет фона, к которому сводится цвет фонта при использовании эффектов, в которые вовлечен фон.
Координаты х, у определяют начало текста (положение первого символа).
Space параметр расстояния между символами. Может быть
отрицательным, так как прибавляется к величине, установленной по умолчанию.
Tightness количество пробелов между символами. Может быть отрицательным.
Angle угол в градусах.
Antialias_steps количество цветов от 4 до 16.
Параметры space и tightness выражается в количестве единиц. 1 единица равна 1/1000 от em-square.
Функция фозвращает массив, содержащий следующие значения.
0 нижняя левая х-координата;
нижняя левая координата у;
2 верхняя правая координата х;
3 верхняя правая координата у.
См. также imagepsbbox().
ImageRectangle
Рисовать прямоугольник
Описание
int imagerectangle (int im, int xl, int yl, int x2, int y2, int col)
Функция ImageRectangle() рисует прямоугольник цветом col, верхняя левая координата xl, yl, правая нижняя координата х2, у2.
ImageSetPixel
Рисует один пиксель
Описание
int imagesetpixel (int im, int x, int y, int col)
Функция ImageSetPixel() рисует пиксель с координатами х, у (верхний левый угол соответствует 0, 0) в картинке im цветом col.
См. также ImageCreate(), ImageColorAllocate().
ImageString
Рисует строку, расположенную горизонтально
Описание
int imagestring (int im, int font, int x, int y, string s, int col)
Функция ImageString() пишет строку s в рисунке im с координатами х, у цветом col.. В случае параметров фонтов из набора 1, 2, 3, 4 и 5, используется встроенный фонт.
См. также ImageLoadFont().
ImageStringUp
Рисует строку вертикально
Описание
int imagestringup (int im, int font, int x, int y, string s, int col)
Функция ImageStringUp() рисует строку s вертикально в рисунке im с координатами х, у и цветом col. Параметр фонта из набора 1, 2, 3, 4 и 5 соответствует встроенным фонтам.
См. также ImageLoadFont().
ImageSX
Получить ширину рисунка
Описание
int imagesx (int im)
Функция ImageSY() возвращает ширину рисунка im.
См. также ImageCreate(), ImageSY().
ImageSY
Получить высоту рисунка
Описание
int imagesy (int im)
Функция ImageSY() возвращает высоту рисунка im.
См. также ImageCreate(), ImageSX().
ImageTTFBBox
Определяет обрамляющий прямоугольник текста, созданного с использованием фонта TTF
Описание
array imagettfbbox (int size, int angle, string fontfile, string text)
Функция вычисляет и возвращает параметры обрамляющего прямоугольника для текста, написанного фонтом TTF:
text строка, размер которой определяет функция;
size размер фонта;
fontfile имя файла, в котором хранится фонт TTF (или URL);
angle угол в градусах.
Функция ImageTTFBBox() возвращает массив, состоящий из 8 элементов, соответствующих четырем верщинам обрамляющего текст прямоугольника:
0 левый нижний угол, х координата;
левый нижний угол, у координата;
2 правый нижний угол, х координата;
3 правый нижний угол, у координата;
4 верхний правый угол х координата;
5 верхний правый угол, у координата;
6 верхний левый угол, х координата;
7 верхний левый угол, у координата.
Точки определяется относительно текста и вне зависимости от значения угла.
См. также ImageTTFText().
ImageTTFText
Пишет текст в картинке с использование фонта TTF
Описание
array imagettftext (int im, int size, int angle, int x, int y, int col, string fontfile, string text)
Функция ImageTTFText() пишет текст text в рисунке im, с началом в координатах х, у под углом angle и цветом col с использованием фонта TTF, хранящегося в файле fontfile.
Угол указывается в градусах, нулевой угол отсчитывается от положения стрелки на трех часах, отсчет производится против часовой стрелки.
Fontfile путь и название файла с фонтом TTF.
Text текстовая строка, предназначенная для записи в рисунке, может включать символы в кодировке UTF-8 (например, &# 123;).
Col цвет шрифта.
Функция ImageTTFText() возвращает массив, состоящий из восьми элементов, которыми являются координаты четырех вершин обрамляющего текст прямоугольника.
Пример функции ImageTTFText():
<?php
Header ("Content-type: image/gif");
$im = imagecreate (400, 30);
$black = ImageColorAllocate ($im, 0, 0, 0) ;
$white = ImageColorAllocate ($im, 255, 255, 255); .
ImageTTFText ($im,. 20, 0, 10, 20, $white, "/path/arial.ttf", "Testing... ");
ImageGif ($im);
ImageDestroy ($im);
?>
ImageTypes
Возвращает тип изображения, поддерживаемый этой версией РНР
Описание
int imagetypes(void);
Эта функция возвращает бит-поле, соответствующее типу изображения в РНР, поддерживаемого GD. Могут быть возвращены IMG_GIF | IMG_JPG | IMG PNG | IMG_WBMP. Приведем пример проверки изображения формата PNG:
Пример функции ImageTypes:
<?php
if (ImageTypes() & IMG_PNG) {
echo "PNG Support is enabled";
}
?>
read_exif_data
Читать заголовки EXIF из файла JPEG
Описание
array read_exif_data (string filename)
Функция read_exif_data() читает заголовки EXIF из файла JPEG. Функция возвращает ассоциативный массив, индексами которого являются имена заголовков Exif, а значениями являются значения, связанные с этими заголовками.
Пример с функцией read_exif_data():
<?php
$exif = read_exif_data Cp0001807.jpg');
while(list($k,$v)=each ($exif)) {
echo " $k: $v<br>\n";
}
?>
Результат работы:
FileName: p0001807.jpg
FileDateTime: 929353056
FileSize: 378599
CameraMake: Eastman Kodak Company
CameraModel: KODAK DC2 65 ZOOM DIGITAL CAMERA (V01.00)
DateTime: 1999:06:14 01:37:36
Height: 1024
Width: 1536
IsColor: 1
FlashUsed: 0
FocalLength: 8.0mm
RawFocalLength: 8
ExposureTime: 0.004 s (1/250)
RawExposureTime: 0.004 00000018 998 98
ApertureFNumber: f/ 9.5
RawApertureFNumber: 9.5100002288818
FocusDistance: 16.66m
RawFocusDistance: 16.659999847412
Orientation: 1
ExifVersion: 0200
Эта функция работает только в РНР4 и не требует библиотеки GD.
Функции imap для работы с почтой
imap_append
Добавляет текстовое сообщение в указанный почтовый ящик
Описание
int imap_append(int imap_stream, string mbox, string message, stringflags);
Возвращает true, в случае возникновения ошибки — false. Функция imap_append() добавляет текстовое сообщение в указанный почтовый ящик mbox. Если указаны необязательные флаги, то записывает в почтовый ящик и флаги.
При общении с сервером Cyrus IMAP нужно использовать в качестве ограничителей строки «\г\п» вместо «\п», иначе действие не будет выполняться.
imap_base64
Декодирует текст, закодированный с помощью BASE64
Описание
string imap_base64(string text);
Функция imap_base64() декодирует текст в формате BASE-64. Декодированное сообщение возвращается как строка.
imap__body
Читает тело сообщения
Описание
string imap_body(int imap_stream, int msg_number, int flags);
Функция imap_body() возвращает тело сообщения, имеющего номер msg_number в текущем почтовом ящике. Необязательные флаги — это битовые маски из следующего списка:
FT_UID номер сообщения rrrsgno является уникальным
идентификатором сообщения;
FT_PEEK не устанавливать флаг \Seen;
FT_INTERNAL возвращаемая строка записана во внутреннем формате и не может быть приведена к канонической форме с CRLF.
imap_check
Проверяет текущий почтовый ящик
Описание
array imap_check(int imap_stream);
Возвращает информацию о текущем почтовом ящике. В случае неуспеха возвращает FALSE.
Функция imap_check() проверяет статус текущего почтового ящика на сервере и возвращает информацию в объекте со следующими свойствами:
Date дата сообщения;
Driver драйвер;
Mailbox название почтового ящика;
Nmsgs количество сообщений;
Recent количество недавно пришедших сообщений.
imap_close
Закрывает поток IMAP
Описание
int imap_close(int imap_stream, int flags);
Закрывает поток imap. Необязательный флаг CL_EXPUNGE заставляет стереть помеченные на удаление сообщения при закрытии.
imap_createmailbox
Создает новый почтовый ящик
Описание
int imap_createmailbox(int imap_stream, string mbox);
Imap_createmailbox() создает новый почтовый ящик, указанный mbox. Возвращает true в случае успеха и false при ошибке.
imap delete
Помечает сообщение из текущего почтового ящика на удаление
Описание
int imap_delete(int imap_stream, int msg number;
Возвращает true. Функция imap_delete() помечает сообщение, указанное через msg_number на удаление. Настоящее удаление сообщений осуществляется функцией imapexpunge().
imap_deletemailbox
Удаляет почтовый ящик
Описание
int imap_deletemailbox(int imap_stream, string mbox);
Imap_deletemailbox() удаляет указанный почтовый ящик. Возвращает tru, при ошибке — false.
Imap_expunge
Удаляет все сообщения, помеченные на удаление
Описание
int imap_expunge(int imap_stream);
Imap_expunge(), удаляет все сообщения, помеченные на удаление с помощью imap_delete(). Возвращает true.
imap_etchbody
Извлекает фрагмент тела сообщения
Описание
string imap_fetchbody(int imap_stream, int msg_number, int
part_number, flags flags);
Эта функция заставляет извлечь подробную секцию указанного сообщения как текстовую строку. Секция — это строка целых чисел, разделенных точками, которые указывают на части тела сообщения в списке частей согласно спецификации IMAP4. Части тела не декодируются этой функцией. Необязательным параметром к imap_fetchbody() является битовая маска из:
FT_UTD msgono является уникальным идентификатором;
FT_PEEK гне устанавливать флаг \Seen;
FT_UID возвращаемая строка записана во внутреннем формате, которая не может быть канонизирована с помощью CRLF.
imap_fetchstructure
Читает структуру простого сообщения
Описание
array imap fetchstructure(int imap stream, int msg number);
Эта функция заставляет извлечь всю информацию о структуре сообщения с номером msg_number. В случае сообщения из нескольих частей, функция также возвращает массив объектов всех свойств под названием parts[].
imap_header
Читает заголовок сообщения
Описание
object imap_header(int imap_stream, int msg_number, int fromlength, int' subjectlength, int defaulthost);
Эта функция возвращает объект для различных элементов заголовка: remail, date, Date, subject, Subject, in_reply_to, message_id, newsgroups, followup_to, references.
to[] — возвращает массив объектов из строки То, содержит:
personal
adl
mailbox
host
fromaddress — полная строка From: строка длиной до 1024 символов; from[] — возвращает массив объектов из строки From, содержит:
personal
adl
mailbox
host
ccaddress (полная строка Cc: строка длиной до 1024 символов); сс[] —- возвращает массив объектов из строки Сс, содержит:
personal
adl
mailbox
host
bccaddress (полная строка Bcc: строка длиной до 1024 символов); Bсс[] — возвращает массив объектов из строки Всс, содержит:
personal
adl
mailbox
tat
Эта функция заставляет извлечь всю информацию о структуре сообщения с номером msg_number. В случае сообщения из нескольих частей, функция также возвращает массив объектов всех свойств под названием parts[].
reply_toaddress (полная строка Reply_to: строка длиной до 1024 символов); reply_to[] — возвращает массив объектов из строки Reply_to, содержит:
personal
adi
mailbox
host
senderaddress (полная строка Sender: строка длиной до 1024 символов); sender[] — возвращает массив объектов из строки Sender, содержит:
personal
adi
mailbox
host
return_path (полная строка Return-path: строка длиной до 1024 символов); return_path[] — возвращает массив объектов из строки Return_path, содержит:
personal
adl
mailbox
host
udate ( дата сообщения в формате времени Unix);
fetchfrom (строка From, отформатированная до fromlength символов);
fetchsubject (строка Subject, отформатированная до subjectlength символов).
imap_headers
Возвращает заголовки всех сообщений в почтовом ящике
Описание
array imap__headers (int imap_stream) ;
Возвращает строковый массив из информации по заголокам. Один элемент массива на сообщение.
imap_istmailbox
Читает список почтовых ящиков
Описание
array imap_listmailbox (int imap__stream, string ref, string pat); Возвращает массив, содержащий названия почтовых ящиков.
imap_listsubscribed
Перечисляет все подписанные ящики
Описание
array imap_listsubscribed(int imap_stream, string ref, string
pattern);
Возвращаетa массив всех почтовых ящиков, на которые существует подписка. Аргументы ref и pattern указывают начальное месторасположение откуда начинать поиск и шаблон, которому должны удовлетворять названия почтовых ящиков.
imap_mail_copy
Копирует указанные сообщения в почтовый ящик
Описание
int imap_mail_copy(int imap_stream, string msglist, string mbox, int flags);
Возвращает true, при ошибке — false.
Копирует почтовые сообщения, указанные с помощью msglist, в почтовый ящик mbox. Msglist — это диапазон, а не просто номера сообщений.
Флаги — это битовые маски из списка:
CP_UID номера в последовательности содержат уникаль
ные идентификаторы;
CP_MOVE после копирования удалить сообщения из текуще
го почтового ящика.
imap_mail_move
Переносит указанные сообщения в почтовый ящик
Описание
int imap_mail_move(int imap_stream, string msglist, string mbox);
Переносит почтовые сообщения, указанные с помощью msglist, в почтовый ящик mbox. Msglist — это диапазон, а не просто номера сообщений.
Возвращает true в случае успеха, иначе — false.
imap_num_msg
Выдает количество сообщений в текущем почтовом ящике
Описание
int imap_num_msg(void);
Возвращает количество сообщений в текущем почтовом ящике.
imap_num_recent
Возвращает количество недавно пришедших сообщений в текущем почтовом ящике
Описание
int imap_num_recent(int imap_stream);
Возвращает количество недавно пришедших сообщений в текущем почтовом ящике.
Imap_open
Открывает поток IMAP в почтовый ящик
Описание
int imap_open(string mailbox, string username, string password, int
flags) ;
В случае успеха возвращает поток IMAP1, иначе — false. Эта функция может быть использована для открытия потоков к РОРЗ- и NNTP- серверам. Для того, чтобы присоединиться к серверу IMAP на 143-й порт на локальной машине, сделайте следующее:
Smbox = imap_open("{localhost:143}INBOX","user_id","password");
Для того, чтобы подсоединиться к РОРЗ-серверу на 110-й порт на локальном сервере используйте:
$mbox = imap_open("(localhost/pop3:110}INBOX","user_id","password");
Для того, чтобы подсоединиться к NNTP-серверу на 119-й порт на локальном сервере используйте:
$nntp = imap_open("{localhost/nntp:119}comp.test","", "") ;
Для того, чтобы подсоединиться к удаленному серверу, замените «localhost» на имя или IP-адрес сервера, к которому вы хотите подсоединиться.
Опции — битовая маска из:
- OP_READONLY открыть почтовый ящик в режим «только чтение»;
- OP_ANONYMOUS не использовать или не обновлять .newsrc при использовании новостей;
- OP_HALFOPEN для IMAP и NNTP устанавливает соединение, но не открывает почтовый ящик;
- CL_EXPUNGE автоматически очищать почтовый ящик при закрытии.
imap _ping
Проверяет поток IMAP на работоспособность
Описание
int imap_ping(int imap_stream) ;
Возвращает true, если поток еще работоспособен, иначе — false. Функция imap_ping() проверяет поток на работоспособность. Он может также проверять новую почту. Это предпочтительный метод для периодической проверки новой почты и «живучести» удаленных серверов.
imap_renamemailbox
Переименовывает старый почтовый ящик в новый
Описание
int imap_renamemailbox(int imap_stream, string old_mbox, string new_mbox);
Эта функция переименовывает старый почтовый ящик в новый. Возвращает true или false.
imap_reopen
Заново открывает поток IMAP на новый почтовый ящик
Описание
int imap_reopen(string imap_stream, string mailbox, string [flags]);
Возвращает true в случае успеха, иначе — false.
Эта функция заново открывает указанный поток на новый ящик.
Опции — битовая маска из:
♦ OP_READONLY открыть почтовый ящик в режиме только чтение:
♦ OP_ANONYMOUS не использовать или не обновлять .newsrc
при работе с новостями;
♦ OP_HALFOPEN для IMAP и NNTP устанавливает связь но не открывает почтовый ящик;
♦ CL_EXPUNGE счищает почтовый ящик при закрытии.
imap_subscribe
Подписывает на почтовый ящик
Описание
int imap_subscribe(int imap_stream, string mbox);
Подписывает на новый почтовый ящик. Возвращает true или false.
imap_undelete
Снимает отметку с сообщения, помеченного на удаление
Описание
int imap_undelete(int imap_stream, int msg_number) ;
Эта функция снимает отметку с сообщения, помеченного на удаление функцией imap_delete().
Возвращает true в случае успеха, иначе — false.
imap_unsubscribe
Снимает подписку с почтового ящика
Описание
int imap_unsubscribe(int imap_stream, string mbox);
Снимает подписку с почтового ящика. Возвращает true в случае успеха, иначе — false.
imap_qprint
Конвертирует строку формата quoted-printable в 8-битовую строку
Описание
string imap_qprint(string string);
Конвертирует строку формата quoted-printable в 8-битовую строку. Возвращает 8-битовую (бинарную) строку.
imap_8bit
Конвертирует 8-битовую строку в формат quoted-printable
Описание
string imap_8bit(string string);
Конвертирует 8-битовую строку в формат quoted-printable. Возвращает строку в формате quoted-printable.
imap_binary
Конвертирует 8-битную строку в формат base64
Описание
string imap_binary(string string);
Конвертирует 8-битную строку в формат base64.
Возвращает строку в формате'base64.
imap_scanmailbox
Читает список почтовых ящиков, проводит поиск в названиях ящиков
Описание
array im'ap_scanmailbox (int imap_stream, string string);
Возвращает массив, содержащий имена почтовых ящиков, которые имеют строку string в названии.
imap_mailboxmsginfo
Получает информацию о текущем почтовом ящике
Описание
array imap_mailboxmsginfо(int imap_stream);
Возвращает информацию о текущем почтовом ящике. False — в случае неудачи.
Функция imap_mailboxmsginfo() проверяет статус текущего почтового ящика на сервере и возвращает информацию в объекте со следующими свойствами:
Date дата сообщения;
Driver драйвер;
Mailbox название почтового ящика;
Nmsgs количество сообщений;
Recent количество недавно пришедших сообщений;
Unread количество непрочитанных сообщений;
Size размер почтового ящика.
map_rfc822_write_address
Возвращает правильно отформатированный етаИ-адрес
Описaание
string imap_rfc822_write__address (string mailbox, string host, string personal);
Возвращает правильно отформатированный email-адрес по данному почтовому ящику, хосту и персональной информации.
imap_rfc822_parse_adrlist
Проводит разбор адресной строки
Описание
string imap_rfc822_parse_adrlist(string address, string default_host);
Эта функция разбирает адресную строку и для каждого адреса возвращает массив объектов. Есть 4 типа объектов:
Mailbox название почтового ящика (имя пользователя);
host название хоста;
personal личное имя;
adl путь к домену-источнику.
imap_setflag_full
Устанавливает флаги на сообщения
Описание
string imap_setflag_full(int stream, string sequence, string flag, string options);
Эта функция заставляет добавить указанный флаг к набору флагов сообщения в указанной последовательности.
imap_clearflag_full
Очищает флаги сообщения
Описание
string imap_clearflag_ful!(int stream, string sequence, string flag, string options);
Эта функция заставляет удалить флаги из набора флагов сообщения в указанной последовательности.
imap_sort
Сортирует сообщения в текущем почтовом ящике
Описание
string imap_sort (int stream, int criteria, int reverse, int options);
Возвращает массив номеров сообщений рассортированных по данному параметру.
Rev должен быть равен 1 в том случае, если нужна сортировка в обратном порядке.
Критерии сортировки (должен быть указан только один):
SORTDATE по дате сообщения;
SORTARRTVAL по дате поступления;
SORTFROM по полю FROM;
SORTSUBJECT по теме сообщения;
SORTTO по полю ТО;
SORTCC по полю СС;
SORTSIZE по размеру.
Опции — битовая маска из:
SEJUID возвратить идентификаторы вместо номеров последовательности;
SE_NOPREFETCH не извлекать заранее найденные сообщения.
imap_fetchheader
Возвращает заголовок сообщения
Описание
stringimap_fetchheader(int imap_stream, int msgno, int flags);
Эта функция заставляет извлечь полный, неотфильтрованный заголовок указанного сообщения в формате RFC 822 как текстовую строку.
Опции:
FT_UID msgno является UID'om;
FT_INTERNAL возвращаемая строка записана во внутреннем
формате без попыток канонизировать ее с помощью CRLF;
FTJPREFETCHTEXT RFC822 текст должен быть предварительно разобран. Это поможет избежать эстренных задержек если требуется извлечь полный текст сообщения (например, в операции «сохранить в локальном файле»).
map_uid
Эта функция возвращает UID по данному номеру сообщения в последовательности
Описание
String imap_uid(string mailbox, int msgno);
Эта функция возвращает UID по данному номеру сообщения в последовател ьности.
imap__rfc822_parse_headers
Возвращает набор различных заголовков
Описание
object imap_rfc822_parse_headers (string headers [, string defaulthost])
imap_getmailboxes
Читает список почтовых ящиков и возвращает информацию о них
Описание
array imap_getmailboxes (int imap_stream, string ref, string pattern)
imap_getsubscribed
Список всех почтовых ящиков, на которые существует подписка
Описание
array imap_getsubscribed (int imap_stream, string ref, string pattern)
imap_msgno
Номер сообщения no заданному UID
Описание
int imap msgno (int imap stream, int uid)
imap_uid
Эта функция возвращает UID по данному номеру сообщения в последовательности
Описание
String imap_uid(string mailbox, int msgno);
Эта функция возвращает UID по данному номеру сообщения в последовательности.
imap_rfc822_parse_headers
Возвращает набор различных заголовков
Описание
object imap_rfc822_parse_headers (string headers [, string defaulthost])
imap_getmailboxes
Читает список почтовых ящиков и возвращает информацию о них
Описание
array imap_getmailboxes (int imap_stream, string ref, string pattern)
imap_getsubscribed
Список всех почтовых ящиков, на которые существует подписка
Описание
array imap_getsubscribed (int imap_stream, string ref, string pattern)
imap_nsgno
Номер сообщения no заданному UID
Описание
int imap msgno (int imap stream, int uid)
imap _search
Возвращает массив сообщений, удовлетворяющих заданным критериям
Описание
array imap_search (int imap_stream, string criteria, int flags)
imap_ast_error
Возвращает последнюю ошибку IMAP
Описание
string imap_last_error (void)
imap_errors
Список всех ошибок IMAP
Описание
array imap_errors (void)
imap_alerts
Список всех предупреждений IMAP
Описание.
array imap_alerts (void)
imap_status
Статус почтового ящика (не текущего)
Описание
object imap_status (int imap_stream, string mailbox, int options)
imap_utf7_decode
Декодирует строку из UTF-7
Описание
string imap utf7 decode (string text)
imap_utf7_encode
Преобразует 8-битовые данные в UTF-7
Описание
string imap_utf7_encode (string data)
imap_utf8
Преобразует текст в UTF8
Описание
string imap_utf8 (string text)
imap_fetch_o vervie w
Читает информацию заголовков указанного сообщения
Описание
array imap_fetch_overview (int imap_stream, string sequence [, int flags])
imap_mime_header_decode
Декодирует заголовки типов MIME
Описание
array imap_header_decode (string text)
imap_mail_compose
Создает сообщение MIME с использованием тела сообщения при заданном конверте
Описание
string imap_mail_compose (array envelope, array body)
Пример:
<?php
$envelope["from"]="musone@afterfive.com";
$envelope["to"]="musone@darkstar";
$envelope["cc"]="musone@edgeglobal.com";
$partl["type"]=TYPEMULTIPART;
$partl["subtype"]="mixed";
$filename="/tmp/imap.с.gz";
$fp=fopen($filename,"r"); $contents=fread($fp,filesize($filename)); fclose($fp);
$part2["type"]=TYPEAPPLICATION;
$part2["encoding"]=ENCBINARY;
$part2["subtype"]="octet-stream";
$part2["description"]=basename($filename);
$part2["contents.data"]=$contents;
$part3["type"]=TYPETEXT;
$part3["subtype"]="plain";
$part3["description"]="description3";
$part3["contents.data"]="contents.data3\n\n\n\t";
$body[l]=$partl; $body[2]=$part2; $body[3]=$part3;
echo nl2br(imap_mail_compose($envelope,$body)); ?>
imap_maiI
Посылает почтовое сообщение
Описание
string imap_mail (string to, string subject, string message [, string additional_headers [, string cc [, string bcc string
Функции для работы с почтой
Шлет почту
Описание
bool mail(string to, string subject, string message, string additional_headers);
Функция mail() позволяет отсылать почту. Mail() автоматически посылает сообщение, содержащееся в message адресату, указанному в поле to. Несколько получателей могут быть указаны в поле to в виде строки с адресами, разделенными пробелами.
Пример 1. Посылка почты:
mail("rasmus@lerdorf.on.ca", "Моя тема", "Строка 1\пСтрока 2\пСтрока 3");
Если задан четвертый строковый аргумент, он автоматически вставляется в конец заголовка, обычно это используется при добавлении дополнительных полей в заголовок. Несколько дополнительных полей разделяются символом новой строки.
Пример 2. Посылка почты с дополнительными полями заголовка:
mail("ssb@guardian.no", "the subject", $message, "From: webmaster@$SERVER_NAME\nReply-To: webmaster@$SERVER_NAME\nX-Mailer: PHP/", phpversion ());
ezmlm_hash
Определяет скрытое значение, которое используется в EZMLM
Описание
int ezmlm_hash (string addr) Пример:
Suser = "putin@koegde.koekak.ru";
$hash = ezmlm_hash ($user);
$query = sprintf ("INSERT INTO sample VALUES (%s, '%s')", $hash, $user);
$db->query($query);
Математические функции
Математические константы
В табл. С.2 представлены математические константы, мые в РНР.
Функции
Abs
Абсолютная величина
Описание
mixed abs(mixed number);
Возвращает абсолютную величину (модуль) числа. Если число с плавающей запятой, то также возвращает число с плавающей запятой.
Acos
Арккосинус
Описание
float acos(float arg);
Возвращает арккосинус аргумента в радианах.
См. также asin() , atan() .
Asin
Арксинус
Описание
float asin(float arg);
Возвращает арксинус аргумента в радианах.
См. также acos(), atan().
Atari
Арктангенс
Описание
float atan (float arg);
Возвращает арктангенс аргумента в радианах.
См. также acos(), atan().
Atari 2
Арктангенс от двух переменных
Описание
float atan2(float у, float х) ;
Эта функция вычисляет арктангенс от двух переменных х и у. Аналогично вычислению арктангенса у/х, за исключением того, что знаки обоих аргументов используются для определения сектора результата.
Функция возвращает результат в радианах, находящихся между -PI и PI (включительно).
См. также acos(), atan().
base_convert
Конвертирует число между произвольными основаниями (системами счисления)
Описание
strin base_convert(string number, int frombase, int tobase);
Возвращает строку, содержащую number, представленного по основанию tobase. Основание, в котором дается число which number указывается в frombase. Основания frombase и tobase должны находиться в диапазоне от 2 до 36 включительно. Цифры в числах с основанием выше, чем 10 будут представлены буквами a...z, со значениями а = 10, b = 11 и z = 36.
Пример base_convert():
$binary = base_convert($hexadecimal, 16, 2);
BinDec
Двоичное в десятичное
Описание
int bindec(string binary_string);
Возвращает десятичный эквивалент двоичного числа, представленного аргументом binary_string.
OctDec конвертирует двоичное число в десятичное. Наибольшее число, которое может быть сконвертировано, равно 31 битам или 2147483647 в десятичном виде.
См. также decbin().
Ceil
Округлить дробную часть наверх
Описание
int ceil(float number);
Возвращает следующее наивысшее целое значение number. Использование ceil() на целых числах — абсолютная трата времени.
См. также floor(), round().
Cos
Косинус
Описание
float cos(float arg);
Возвращает косинус аргумента в радианах.
См. также sin(), tan().
DecBin
Десятичное в двоичное
Описание
string decbin(int number);
Возвращает строку, содержащую двоичное представление аргумента number. Наибольшее число, которое может быть сконвертировано, равно 2147483647 в десятичном виде или 31 бит.
См. также bindec().
DecHex
Десятичное в шестнадцатиричное
Описание
string dechex(int number);
Возвращает строку, содержащую шестнадцатиричное представление аргумента number. Наибольшее число, которое может быть сконвертировано, равно 2147483647 в десятичном виде или «7ffiffff» в шестнадцатиричном.
См. также hexdec().
DecOct
Десятичное в восьмиричное
Описание
string decoct(int number);
Возвращает строку, содержащую восьмиричное представление аргумента number. Наибольшее число, которое может быть сконвертиро- вано, равно 2147483647 в десятичном виде или «17777777777» — в восьмиричном.
См. также octdec().
Exp
е в степени... (экспонента)
Описание
float exp(float arg) ;
Возвращает число е, возведенное в степень arg.
См. также pow().
Floor
Округляет дробную часть вниз
Описание
int floor(float number);
Возвращает следующее нижележащее значение после number. Использование floor() на целых числах — абсолютная потеря времени.
См. также ceil(), round().
getrandmax
Показывает наибольшую возможную случайную величину
Описание
int getrandmax(void );
Возвращает максимальную величину, которая может быть возвращена вызовом функции rand().
См. также rand(), srand() mt_rand(), mt_srand(), mt_getrandmax().
HexDec
Шестнадцатиричное в десятичное
Описание
int hexdec(string hex_string);
Возвращает десятичный эквивалент числа, представленного аргументом hex_string. HexDec конвертирует шестнадцатиричную строку в десятичное число. Наибольшее число, которое может быть сконверти- ровано, равно 7fffffff в шестнадцатиричном виде или 2147483647 — в десятичном.
См. также dechex().
Log
Натуральный логарифм
Описание
float log(float arg);
Возвращает натуральный логарифм от аргумента arg.
Log 10
Логарифм по основанию 10
Описание
float loglO(float arg);
Возвращает логарифм по основанию 10 от аргумента arg.
max
Находит максимум
Описание
mixed max(mixed argl, mixed arg2, mixed argn);
Мах() возвращает наибольшее число из перечисленных в параметрах.
Если первый элемент является массивом, mах() возвращает максимальную величину массива. Если первый параметр — целое, строка или типа double, следует использовать как минимум два параметра, и в этом случае mах() возвращает наибольшее из этих величин. Вы можете сравнивать неограниченное количество значений.
Если одна или более величин типа double, все остальные величины будут обращены double, и, соответственно, возвратится число типа double. Если ни одно из чисел не является double, то все будут обращены в целые и возвратится целое число.
min
Находит минимум
Описание
mixed min(mixed argl, mixed arg2, mixed argn);
Min() возвращает наименьшее значение из указанных в аргументах.
Если первый параметр — массив, min() возвратит наименьшую величину массива. Если первый параметр — целое число, строка или double, следует указать минимум два параметра и min() возвратит наименьшую из них величину. Вы можете сравнивать неограниченно количество величин.
Если одна или более величин типа double, все остальные величины будут обращены double, и, соответственно, возвратится число типа double. Если ни одно из чисел не является double, то все будут обращены в целые и возвратится целое число.
mt_rand
Генерирует наилучшее случайное число
Описание
int mt_rand([int min], [int max]);
Множество генераторов случайных чисел, написанных на старой библиотеке libcs, имеют неясные или неизвестные характеристики, и к тому же, медленны. По умолчанию с функцией rand() РНР использует генератор случайных чисел, написанный на libc. Функция mt_rand() является его полной заменой. Она использует генератор случайных чисел с известными характеристиками (Mersenne Twister), который производит случайные числа, пригодные для использования в криптографии и работает в четыре раза быстрее, чем средняя скорость, которую обеспечивает libc. Домашнюю страницу Mersenne Twister'a вы можете найти по адресу: http://www.math.keio.ac.jp/~matumoto/emt.htrnl, а оптимизированную версию исходных текстов на http://www.scp.syr.edu/ -marc/hawk/twister.html.
Если функция вызывается без необязательных аргументов min и max, mt_rand() возвращает псевдослучайное число между 0 и RAND_MAX. Если вы хотите получить случайное число между 5 и 15 (включительно), то можно использовать следующий вызов функции: mt_rand(5,15).
Не забудьте инициализировать генератор случайных чисел перед использованием функции mt_srand().
См. также mt_srand(), mt_getrandmax(), srand(), rand(), getrandmax().
mt_srand
Инициализирует лучший генератор случайных чисел
Описание
void mt_srand(int seed);
Инициализирует генератор случайных чисел значением seed. Инициализируется количеством микросекунд, истекших с последней «целой» секунды: mt_srand((double)microtime()*1000000); $randval = mt_rand();
См. также mt_rand(), mtj>etrandmax(), srand(), rand(), getrandmax().
mt_getrandmax
Показывает наибольшее возможное случайное число
Описание
int mt_getrandmax(void );
Возвращает максимальную величину, которая может быть возвращена вызовом функции mt_rand().
См. также mt_rand(), mt_srand() rand(), srand(), getrandmax().
number format
Форматирует число с сгруппированными тысячами
Описание
string number_forruat (float number, int decimals, string dec_point, string thousands sep);
Number_format() возвращает форматированную версию числа number. Эта функция принимает один, два или четыре параметра (не три):
Если дан только один параметр, число number будет отформатировано без десятичных цифр, но с запятой («,») между каждой группой тысяч.
Если дано два параметра, число number will будет отформатировано с десятичным знаком decimals с точкой («.») впереди и запятой («,»)
между каждой группой тысяч.
Если даны все четыре параметра, то число number будет отформатировано с десятичным знаком decimals, dec_point вместо точки («.») перед десятичным знаком и thousands_sep вместо запятой («,») между каждой группой тысяч.
OctDec
Восьмиричное в десятичное
Описание
int octdec(string octal_string);
Возвращает десятичный эквивалент восьмиричного числа, представленного аргументом octal_string. OctDec конвертирует восьмиричное число в десятичное. Максимальное число, которое может быть сконвертировано, равно 17777777777 или 2147483647 в десятичном виде,
См. также decoct().
PI
Величина pi
Описание
double pi(void );
Возвращает аппроксимированное значение pi.
pow
Степень числа
Описание
float pow(float base, float exp) ;
Возвращает base, возведенное в степень exp.
См. также ехр().
rad2deg
Конвертирует число в радианах в число в градусах
rand
Генерирует случайную величину
Описание
int rand([int min], [int max]);
Если функция вызывается без необязательных параметров min и max, randQ возвращает псевдослучайную величину между 0 и RAND_MAX. При желании получить случайное число между 5 и 15 (включительно), используйте rand(5,15).
Не следует забывать инициализировать генератор случайных чисел перед использованием srand().
См. также srand(), getrandmax(), mt_rand(), mt_srand(), mt_getrandmax().
round
Округляет число с плавающей запятой
Описание
double round(double val);
Возвращает округленную величину val.
$foo = round ( 3.4 ); // $foo == 3.0 //
$foo = round( 3.5 ); // $foo == 4.0
$ foo = round( 3.6 ); // $foo == 4.0
См. также ceil(), floor().
Sin
Синус
Описание
float sin (float arg);
Возврашает синус аргумента.
См. также cos(), tan().
Sqrt
Квадратный корень
Описание
float sqrt(float arg);
Возвращает квадратный корень аргумента.
srand
Инициализирует генератор случайных чисел
Описание
void srand(int seed);
Инициализирует генератор случайных чисел значением seed.
//Генератор инициализируется числом микросекунд, истекших с последней "целой" секунды
srand((double)microtime()* 1000000);
$randval = randj);
См. также rand(), getrandmax(), mt_rand(), m1_srand(), mt_getrandmax().
Tan
Тангенс
Описание
float tan(float arg) ;
Возвращает тангенс аргумента.
См. также sin(), cos().
Функции для работы с сетью
fsockopen
Открывает соединение с узлом в Интернете или Unix-системой через socket
Описание
int fsockopen(string hostname, int port, int
Открывает сокетное соединение с доменом Internet по адресу hostname на порт port и возвращает файловый указатель, который может использоваться функциями fgets(), fgetss(), fputs() и fclose(). Если вызов завершается неудачей, он возвращает FALSE и если указаны дополнительные аргументы errno и errstr, то они будут использованы, чтобы указать фактическую системную ошибку, которая случилась на системном уровне при вызове connect(). Если возвращенное errno — 0, но функция вернула FALSE, это признак того, что ошибка произошла перед вызовом connect(). Это наиболее вероятно, из-за проблемы инициализации сокета. Имейте в виду, что аргументы errno и errstr необязательно должны упоминаться.
Если port — 0 и ОС поддерживает доменные сокеты Unix (domain sockets), hostname будет использован для подключения в качестве доменного сокета Unix.
По умолчанию сокет откроется в режиме blocking mode. Вы можете переключить его в non-blocking mode используя set_socket_blocking().
Пример:
$fp = fsockopen("www.php.net", 80, &$errno, &$errstr);
if(!$ fp) {
echo "Serrstr (Serrno)<br>\n" ;
} else {
fputs($fp,"GET / HTTP/1.0\n\n");
while(!feof($fp)) {
echo fgets($fp,128);
}
fclose($fp);
}
set_socket_blocking
Устанавливает blocking/non-blocking режимы работы сокета
Описание
int set_socket_bloc-king (int socket descriptor, int mode);
Если mode отсутствует, данный дескриптор сокета переключится на non-blocking режим, а если присутствует, то переключится на blocking режим. Это влияет на вызовы типа fgets(), который читает из сокета. В non-blocking режиме fgets() вызов всегда будет возвращаться немедленно, в то время как в blocking режиме он ждет данные, чтобы стать доступным на сокете.
gethostbyaddr
Получает имя хоста Internet, соответствующее данному IP-адресу
Описание
string gethostbyaddr(string ip_address);
Возвращает имя хоста Internet определенного аргументом ip_address. Если происходит ошибка, возвращается ip_address.
См. также gethostbyname().
gethostbyname
Получает IP-адрес, соответствующий заданному имени хоста Интернет
Описание
string gethostbyname(string hostname);
Возвращает IP-адрес хоста, указанного аргументом hostname.
См. также gethostbyaddr().
gethostbyname
Получает список IP-адресов, соответствующих заданному имени хоста Интернет
Описание
array gethostbynamel(string hostname);
Возвращает список IP-адресов, на которых разрешен хост Internet, указанный аргументом hostname.
См. также gethostbyname(), gethostbyaddr(), checkdnsrr(), getmxrr().
checkdnsrr
Проверяет записи DNS, соответствующие заданному хосту или IP-адресу
Описание
int checkdnsrr(string host, string [type]);
Ищет в DNS записи типа type, соответствующие аргументу host. Возвращает true, если обнаруживаются какие-либо записи. Возвращает false, если не обнаружены никакие записи или если произошла ошибка.
Туре может быть любым из значений: A, MX, NS, SOA, PTR, CNAME, или ANY. По умолчанию — MX.
Host может или быть адресом IP или именем хоста.
См. также getmxrr(), gethostbyaddr(), gethostbyname(), gethostbynamel().
getmxrr
Получает МХ-записи, соответствующие заданному имени хоста
Описание.
int getmxrr(string hostname, array mxhosts, array [weight]);
Ищет в DNS МХ-записи, соответствующие hostname. Возвращает true если записи найдены, false — если записей не найдено или произошла ошибка.
Список МХ-записей может размещаться в массиве mxhosts. Если задано weight массива, то он может быть заполнен собранной информацией.
См. также checkdnsrr(), gethostbyname(), gethostbynamel(), gethostbyaddr().
openlog
Открывает соединение к системным логам (system logger)
Описание
int openlog(string ident, int option, int facility);
Openlog() открывает для программы соединение с system logger. Строка ident добавляется к каждому сообщению. Значение для option и facility даются в следующем разделе. Использование openlog() не обязательно. Это может быть автоматически вызвано вызовом syslog(), если необходимо, в этом случае ident по умолчанию будет false.
См. также syslog(), closelog().
syslog
Генерирует системное регистрационное сообщение
Описание
int syslog(int priority, string message);
Syslog() генерирует регистрационное сообщение, для system logger. Priority — комбинация легкости и уровня, значения для которых даются в следующем разделе. А другой аргумент является отсылаемым сообщением, кроме того, два символа %m заменятся строкой сообщения ошибки (strerror) соответствующей значению errno.
Больше информации о средствах syslog можно обнаружить на man- страницах для syslog в Unix-системах. В WindowsNT, сервис syslog эмулируется использованием Event Log.
closelog
Закрывает соединение с system logger
Описание
int closelog(void);
Closelog() закрывает дескриптор, используемый для записи в system logger. Использование closelog() необязательно.
debugger_on
Включает внутренний PHP отладчик
Описание
int debugger__on (string address);
Включает внутренний PHP-отладчик, соединяя его с address.
debugger_off
Запрещает внутренний РНР отладчик
Описание
int debugger_off(void) ;
Выключает внутренний РНР-отладчик.
getprotobyname
Определяет номер протокола по названию протокола
Описание
int getprotobyname (string name)
См. также getprotobynumber().
getprotobynumber
Определяет название протокола по номеру протокола
Описание
string getprotobynumber (int number) ,
См. также getprotobyname().
getservbyname
Определяет номер порта, связанный со службой Интернет и соответствующим протоколом
Описание
int getservbyname (string service, string protocol)
См. также getservbyport().
getservbyport
Определяет службу Интернет по номеру порта и протоколу
Описание
string getservbyport (int port, string protocol)
Протокол — либо TCP, либо UDP.
См. также getservbyname().
pfsockopen
Открывает постоянное соединение сокета
Описание
int pfsockopen (string hostname, int port [, int errno [, string errstr [, int timeout] ] ] )
Эта функция работает в точности так же, как и функция fsockopen() с той лишь разницей, что образованная связь не закрывается после завершения выполнения скрипта, а остается открытой.
ip2long
Преобразует Интернет-адрес в формате с точками в адрес типа long
Описание
int ip21ong (string ip_address)
Пример с функцией Ip2long():
<?
$ip = gethostbyname("www.php.net");
$out = "Следубщие адреса URL эквивалентны:<br>\n";
$out.= "http://localhost / , http://".$ip ."/, and http://
".ip21ong ($ip) ."/<br>\n";
echo $out;
?>
См. также Iong2ip(), рис. С. 10.
long2ip
Преобразует Интернет-адрес в стандартный формат с точками
Описание
string long2ip (int proper_address)
См. также ip2long().