Special Edition



Funkcje, zmienne i inne ... w PHP

Funkcje

function_exists
Szuka w liście zdefiniowanych funkcji nazwy przekazanej w $function_name. Zwraca True, jeżeli znaleziono podaną nazwę funkcji, w przeciwnym wypadku zwraca False.
int function_exists( string nazwa_funkcji )
func_get_arg
Zwraca argument numer $arg_num z listy argumentów funkcji. Argumenty są numerowane od 0. Func_get_arg() generuje ostrzeżenie jeżeli jest wywołana poza funkcją. Jeżeli wartość $arg_num jest większa niż ilość przekazanych argumentów, generowane jest ostrzeżenie a funkcja func_get_arg() zwraca False.
mixed func_get_arg( int arg_num )
< ?php
function foo()
{
$numargs = func_num_args();
echo "Ilość argumentów: $numargs
\n";
if ($numargs >= 2)
echo "Drugi argument: " . func_get_arg(1) . "
\n";
}
foo (1, 2, 3);
? >

Funkcja func_get_arg() może być używana wraz z func_num_args() i func_get_args() do zrealizowania funkcji ze zmienna liczbą argumentów. Funkcja została dodana w PHP 4.
func_get_args
Zwraca tablicę, w której każdy element zawiera odpowiedni argument z listy argumentów funkcji. Funkcja func_get_args() generuje ostrzeżenie w wypadku wywołania jej spoza definicji funkcji.
array func_get_args( void )
< ?php
function foo()
{
$numargs = func_num_args();
echo "Ilość argumentów: $numargs
\n";
if ($numargs >= 2)
echo "Drugi argument: " . func_get_arg(1) . "
\n";
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++)
echo "Argument $i = " . $arg_list[$i] . "
\n";
}
foo (1, 2, 3);
? >

Funkcja func_get_args() może być używana wraz z func_num_args() i func_get_arg() do zrealizowania funkcji ze zmienna liczbą argumentów. Funkcja została dodana w PHP 4.
func_num_args
Zwraca liczbę argumentów przekazanych do bieżącej funkcji. Funkcja func_num_args() generuje ostrzeżenie w przypadku wywołania jej z poza funkcji.
int func_num_args( void )
< ?php
function foo()
{
$numargs = func_num_args();
echo "Ilość argumentów: $numargs
\n";
}
foo (1, 2, 3);
? >
Funkcja func_num_args() może być używana wraz z func_get_args() i func_get_arg() do zrealizowania funkcji ze zmienna liczbą argumentów. Funkcja została dodana w PHP 4.
fwrite
Zapisuje zawartość $string do pliku wskazywanym przez $fp. Jeżeli podany został argument $length, zapisywanie jest przerywane po zapisaniu $length bajtów lub całej zawartości $string. Jeżeli podany został argument $length, ignorowana jest opcja konfiguracji magic_quotes_runtime i z $string nie będą usuwane ukośniki. Patrz również fread(), fopen(), fsockopen(), popen() i fputs().
int fwrite( int fp, string [, int length])
getallheaders
Zwraca tablicę asocjacyjną z wszystkimi nagłówkami HTTP wysłanymi wraz z bieżącym żądaniem.
Wskazówka
Można również odczytać wartości zmiennych współdzielonych CGI ze środowiska. Można to zrealizować gdy PHP pracuje jako moduł Apache lub jako CGI. Aby odczytać wszystkie zmienne środowiska zdefiniowane w ten sposób należy użyć funkcji phpinfo().
array geallheaders( void )
Przykład: getallheaders()
$headers = getallheaders();
while (list ($header, $value) = each($headers))
{
echo "$header: $value
\n";
}

Przykład ten wyświetla wszystkie nagłówki bieżącego żądania HTTP. Funkcja getallheaders() działa jedynie, gdy PHP pracuje jako moduł Apache.
getcwd
Zwraca bieżący katalog.
string getcwd( void )
getdate
Zwraca tablicę asocjacyjną zawierającą informacje o dacie odczytane na podstawie parametru $timestamp. Tablica zawiera następujące elementy:
- seconds - sekundy
- minutes - minuty
- hours - godziny
- mday - dzień miesiąca
- wday - dzień tygodnia jako numer
- mon - miesiąc jako numer
- year - rok jako numer
- yday - dzień w roku jako numer, na przykład 299
- weekday - dzień tygodnia jako tekst, na przykład Friday
- month - miesiąc jako tekst, na przykład January
array getdate( int timetamp )
getenv
Zwraca wartość zmiennej środowiska o nazwie $varname, lub w przypadku wystąpienia błędu False.
string getenv( string varname )
$ip = getenv( "REMOTE_ADDR" ); // odczytuje numer IP użytkownika

Listę zmiennych środowiska można uzyskać za pomocą funkcji phpinfo(). Znaczenie wielu z nich opisane jest w specyfikacji CGI (http://hoohoo.ncsa.uiuc.edu/cgi/) na stronie poświęconej zmiennym środowiska (http://hoohoo.ncsa.uiuc.edu/cgi/env.html).
Uwaga
Funkcja ta nie działa w trybie ISAPI.
gethostbyaddr
Zwraca nazwę komputera o adresie przekazanym w argumencie $ip_address. W przypadku wystąpienia błędu funkcja zwraca $ip_address. Patrz również: gethostbyname().
string gethostbyaddr( string ip_address )
gethostbyname
Zwraca adres IP komputera o nazwie przekazanej w $hostname. Patrz również: gethostbyaddr().
string gethostbyname( string hostname )
gethostbynamel
Zwraca listę adresów IP skojarzonych z nazwą $hostname. Patrz również: gethostbyname(), gethostbyaddr(), checkdnserr(), getmxrr() oraz man named(8).
string gethostbynamel( string hostname )
GetImageSize
Odczytuje wielkość rysunku GIF, JPG, PNG lub SWF i zwraca wymiary, typ pliku oraz ciąg tekstu z szerokością i wysokością w postaci fragmentu znacznika IMG. Funkcja zwraca tablicę z 4 elementami. Pod indeksem 0 znajduje się szerokość rysunku w pikselach, pod indeksem 1 znajduje się wysokość rysunku. Indeks 2 zawiera znacznik określający typ rysunku, 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF. Pod indeksem 3 znajduje się ciąg zawierający tekst height=xxx width=xxx, który może być użyty bezpośrednio w znaczniku IMG.
array GetImageSize( string filename [, array imgeinfo])
Przykład: GetImageSize() < ?php $size = GetImageSize ("img/flag.jpg"); ? > < IMG SRC="img/flag.jpg" < ?php echo $size[3]; ? > Opcjonalny parametr $imageinfo pozwala na odczytanie dodatkowych danych z pliku rysunku. W chwili obecnej zwracane są różne znaczniki APP pliku JPG w postaci tablicy asocjacyjnej. Niektóre programy wykorzystują znaczniki APP do umieszczenia w rysunku informacji tekstowej. Częstym zastosowaniem jest umieszczanie danych IPTC http://www.xe.net/iptc/ w znaczniku APP13. Do zamiany binarnego znacznika APP13 na postać czytelną dla człowieka można użyć funkcji iptcparse(). Przykład: GetImageSize() zwracający IPTC
< ?php
$size = GetImageSize ("testimg.jpg", &$info);
if (isset(($info["APP13"]))
{
$iptc = iptcparse( $info["APP13"]);
var_dump( $iptc);
}
? >

Uwaga
Funkcja ta nie wymaga biblioteki GD
getlastmod
Zwraca czas ostatniej zmiany bieżącej strony. Zwracana wartość jest znacznikiem czasu Uniksa. W przypadku błędu zwraca False.
int getlastmod( void )
Przykład: getlastmod()
< ?php
// zwraca ciąg w postaci 'Ostatnia modyfikacja: March 04 1998 20:43:59.'
echo "Ostatnia modyfikacja: ". date ("F d Y H:i:s.", getlastmod());
? >

Patrz również: date(), getmyuid(), get_current_user(), getmyinode() oraz getmypid().
getmxrr
Szuka w DNS rekordu MX skojarzonego z $hostname. Zwraca True, jeżeli znalezione zostały jakieś rekordy, w przypadku wystąpienia błędu lub braku rekordów zwracana jest wartość False. Lista znalezionych rekordów MX jest umieszczana w tablicy $mxhosts. Jeżeli zostanie podana tablica $weight, zostanie wypełniona wagami odnalezionych rekordów. Patrz również: checkdnsrr(), gethostbyname(), gethostbynamel(), gethostbyaddr() oraz man named(8).
int getxrr( string hostname, array mxhosts [, array weight])
getmyinode
Zwraca bieżący inode pliku ze skryptem lub False w przypadku wystąpienia błędu. Patrz również: getmyuid(), get_current_user(), getmypid() i getlastmod(). Uwaga Funkcja ta nie działa w Windows
int getmyinode( void )
getmypid
Zwraca identyfikator procesu PHP lub False w przypadku wystąpienia błędu.
Uwaga
Jeżeli PHP działa jako moduł serwera, w kolejnych wywołaniach skryptu nie jest gwarantowane, że identyfikatory procesów będą różne. Patrz również: getmyuid(), get_current_user(), getmyinode() oraz getlastmod().
int getmypid( void )
getmyuid
Zwraca identyfikator użytkownika uruchamiającego bieżący skrypt, lub False w przypadku wystąpienia błędu. Patrz również: getmypid(), get_current_user(), getmyinode() oraz getlastmod().
int getmyuid( void )
getprotobyname
Zwraca numer protokołu skojarzonego z protokołem $name według pliku /etc/protocols. Patrz również: getprotobynumber().
int getprotobyname( string name )
getprotobynumber
Zwraca nazwę protokołu skojarzonego z protokołem $number według pliku /etc/protocols. Patrz również: getprotobyname().
int getprotobynumber( string name )
getrandmax
Zwraca maksymalną wartość, jaka może być zwrócona przez funkcję rand(). Patrz również: rand(), srand(), mt_rand(), mt_srand() oraz mt_getrandmax().
int getrandmax( void )
getrusage
Jest to interfejs do getrusage(2). Zwraca tablicę asocjacyjną zawierającą dane zwrócone przez wywołanie systemowe. Jeżeli $who jest równe 1, getrusage zostanie wywołane z RUSAGE_CHILDREN.
array getrusage( [int who] )
Przykład: getrusage()
$dat = getrusage();
echo $dat["ru_nswap"]; # ilość stronicowań
echo $dat["ru_majflt"]; # ilość błędów strony
echo $dat["ru_utime.tv_sec"]; # użyty czas użytkownika (sekundy)
echo $dat["ru_utime.tv_usec"]; # użyty czas użytkownika (mikrosekundy)
Więcej szczegółów na temat getrusage można znaleźć w podręczniku systemowym pod hasłem getrusage(2).
getservbyname
Zwraca numer portu używanego przez usługę $service dla protokołu $protocol, według definicji w /etc/services. $protocol może być TCP lub UDP. Patrz również: getservbyport().
int getservbyname( string service, string protocol)
gettext
Funkcja szuka tłumaczenia ciągu w jednej z tablic tłumaczeń. Zwraca przetłumaczony ciąg lub oryginalny ciąg, jeżeli tłumaczenie nie zostanie znalezione. Jako Znaków zastępczych można używać podkreślenia.
string gettext( string message )
Przykład: gettext()
< ?php
// Ustaw język na niemiecki
putenv( "LANG=de");
// Określ połozenie tablic tłumaczeń
bindtextdomain( "myPHPApp", "./locale");
// wybierz domenę
textdomain( "myPHPApp");
// wypisz komunikat testowy
print (gettext( "Welcome to My PHP Application"));
? >

gettimeofday
Jest to interfejs do gettimeofday(2). Zwraca tablicę asocjacyjną zawierającą dane zwracane przez wywołanie systemowe.
- sec - sekundy
- usec - mikrosekundy
- minuteswest - przesunięcie w minutach na zachód od Greenwich
- dsttime - typ poprawki dst
array gettimeofday( void )
gettype
Zwraca typ zmiennej PHP $var. Możliwe zwracane wartości zamieszczone są poniżej:
boolean integer double string
array object resource user function
unknown type
string gettype( mixed var )
Patrz również: settype().
get_browser
Odczytuje możliwości przeglądarki użytkownika. Jest to realizowane przez odszukanie danych na temat przeglądarki w pliku browscap.ini. Domyślnie używana jest wartość zmiennej $HTTP_USER_AGENT, ale można przekazać dowolną dowolny parametr $user_agent (na przykład, aby odczytać możliwości innej przeglądarki). Zwracany jest obiekt zawierający dane opisujące, na przykład numer wersji, identyfikator, wartości True lub False dla takich własności jak, obsługa ramek, JavaScript, cookie itd. Mimo, że plik browscap.ini zawiera dane o wielu przeglądarkach, to jednak użytkownik musi dbać o jego aktualność. Format pliku jest bardzo prosty. Poniższy przykład pokazuje przykładowe dane zwracane dla przeglądarki użytkownika. object get_browser( [string user_agent])
Przykład: get_browser() < ?php
function list_array ($array)
{
while (list ($key, $value) = each($array))
$str .= "$key: $value
\n";
return $str;
}
echo "$HTTP_USER_AGENT


\n";
$browser = get_browser();
echo list_array( (array) $browser);
? >
Wynik działania tego skryptu może wyglądać następująco
Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)< hr >
< b >browser_name_pattern: Mozilla/4\.0 (compatible; MSIE 5\.5; Windows NT 5\.0)
< b >parent:< /b > IE 5.0
< b >version:< /b > 5.5
< b >minorver:< /b > 5
< b >platform:< /b > Win2000
< b >beta:< /b >
< b >browser:< /b > IE
< b >majorver:< /b > 5
< b >frames:< /b > 1
< b >tables:< /b > 1
< b >cookies:< /b > 1
< b >backgroundsounds:< /b > 1
< b >vbscript:< /b > 1
< b >javascript:< /b > 1
< b >javaapplets:< /b > 1
< b >activexcontrols:< /b > 1
< b >win16:< /b >
< b >ak:< /b >
< b >sk:< /b >
< b >aol:< /b >
< b >crawler:< /b >
< b >msn:< /b >
< b >cdf:< /b > 1
< b >dhtml:< /b > 1
< b >xml:< /b > 1
Aby skrypt ten mógł działać należy tak ustawić zmienną konfiguracji browscap, aby wskazywała na katalog z plikiem browscap.ini. Więcej informacji (w tym adresy skąd można ściągnąć plik browscap.ini) można znaleźć w FAQ do PHP pod adresem http://www.php.net/FAQ.php.
get_cfg_var
Zwraca wartość zmiennej konfiguracji PHP określonej przez $varname, lub False w przypadku wystąpienia błędu. Funkcja ta nie zwraca danych konfiguracji ustawionych przy kompilacji PHP lub poprzez pliki konfiguracyjne Apache (przy użyciu dyrektywy php3_configuration_option). Aby sprawdzić, czy system korzysta z pliku konfiguracji, należy spróbować odczytać wartość zmiennej konfiguracji cfg_file_path. Jeżeli jest to możliwe, oznacza to, że jest używany plik konfiguracji.
string get_cfg_var( string varname )
get_class
Zwraca nazwę klasy przekazanego obiektu $obj. Patrz również: get_parent_class(), is_subclass_of().
string get_class( object obj )
get_class_methods
Zwraca tablicę z nazwami metod zdefiniowanych w klasie określonej przez $class_name. Patrz również: get_class_vars(), get_object_vars().
array get_class_methods( string class_name )
get_class_vars
Zwraca tablicę z nazwami właściwości zdefiniowanych w klasie określonej przez $class_name. Patrz również: get_class_methods(), get_object_vars().
array get_class_vars( string class_name )
get_current_user
Zwraca nazwę właściciela bieżącego skryptu PHP. Patrz również getmyuid(), getmypid(), getmyinode() oraz getlastmod().
string get_current_user( void )
get_declared_classes
Zwraca tablicę nazw klas zadeklarowanych w bieżącym skrypcie. W PHP 4.0.1pl2 na początku tablicy zwracane były trzy dodatkowe klasy: stdClass (zdefiniowana w Zend/zend.c), OverloadedTestClass (zdefiniowana w ext/standard/basic_functions.h) oraz Directory (zdefiniowana w ext/standard/dir.c). array get_declared_classes( void )
get_extension_funcs
Zwraca nazwy wszystkich funkcji zdefiniowanych w module $module_name.
array get_extension_funcs( string module_name ) Przykład: get_extension_funcs()
print_r (get_extension_funcs( "xml"));
print_r (get_extension_funcs( "gd"));

Wykonanie tych linii spowoduje wypisanie listy funkcji umieszczonych w modułach xml i gd. Patrz również: get_loaded_extensions().
get_html_translation_table
Zwraca tablicę translacji używaną wewnętrznie w funkcjach htmlspecialchars() i htmlentities(). Możliwe jest określenie potrzebnej w danym momencie tabeli (HTML_ENTITIES i HTML_SPECIALCHARS). Tak samo jak w przypadku funkcji htmlspecialchars() i htmlentities() można opcjonalnie określić rodzaj ukośników $quote_style. Domyślnym ustawieniem jest tryb ENT_COMPAT. Opis trybów znajduje się w opisie funkcji htmlspecialchars(). string get_html_translation_table( int table [, int quote_style])
Przykład: Tablica translacji
$trans = get_html_translation_table( HTML_ENTITIES );
$str = "To firma & & spółka";
$encoded = strtr( $str, $trans);

Zmienna $encoded zawiera teraz ciąg To firma & <PRO> & spó³ka. Ciekawym zastosowaniem jest użycie funkcji array_flip() w celu zmiany kierunku translacji.
$trans = array_flip( $trans );
$original = strtr ($str, $trans)
;
Teraz w zmiennej $original będzie znajdował się ciąg: To firma & < PRO > & spółka.
Uwaga Funkcja ta została dodana w PHP 4.0
Patrz również htmlspecialchars(), htmlentities(), strtr() i array_flip().
get_included_files
Funkcja zwraca tablicę asocjacyjną z nazwami wszystkich plików dołączonych do skryptu za pomocą funkcji include_once(). Indeksami tej tablicy są nazwy plików użytych w include_once() bez rozszerzenia .php. W PHP 4.0.1pl2 funkcja zakładała, że pliki dołączane poprzez include_once() mają rozszerzenia .php i inne rozszerzenia nie działają. Patrz również: require_once(), include_once(), get_required_files().
array get_included_files( void )
get_loaded_extesions
Zwraca nazwy wszystkich modułów wkompilowanych i załadowanych przez interpreter PHP.
array get_loaded_extensions( void )
Przykład get_loaded_extensions()
print_r (get_loaded_extensions());

Spowoduje to wypisanie listy podobnej do następującej:
Array
(
[0] => standard
[1] => bcmath
[2] => Calendar
[3] => com
[4] => variant
[5] => ftp
[6] => mysql
[7] => odbc
[8] => pcre
[9] => session
[10] => xml
[11] => wddx
[12] => apache
)
Patrz również: get_extension_funcs().
get_magic_quotes_gpc
Zwraca stan ustawienia magic_quotes_gpc (0 - wyłaczone, 1 - włączone). Patrz również: get_magic_quotes_runtime(), set_magic_quotes_runtime().
long get_magic_quotes_gpc( void )
get_magic_quotes_runtime
Zwraca stan ustawienia magic_quotes_runtime (0 - wyłaczone, 1 - włączone). Patrz również: get_magic_quotes_gpc(), set_magic_quotes_runtime().
long get_magic_quotes_runtime( void )
get_meta_tags
Otwiera plik $filename i analizuje go szukając znaczników meta.
array get_meta_tags( string filename [, int use_include_path])
Przykład: Znaczniki < META >
< meta name="author" content="name" >
< meta name="tags" content="php3 documentation" >
< /head > < !-- tutaj zatzymuje się analiza -- >

Uwaga
Uwaga na końce linii - PHP wykorzystuje własną funkcję analizującą plik wejściowy, więc pliki z MacIntosha mogą nie działać na Uniksie. Nazwa właściwości staje się kluczem, natomiast zawartość umieszczana jest w tablicy jako wartość elementu. Dzięki temu można wykorzystać standardowe funkcje przeglądające tablice. Znaki specjalne są zastępowane znakiem podkreślenia, natomiast pozostały tekst jest konwertowany do małych liter. Ustawienie use_include_path na 1 spowoduje, że PHP będzie próbował otworzyć plik znajdujący się na standardowej ścieżce dołączania.
get_object_vars
Zwraca tablicę asocjacyjną właściwości zdefiniowanych w obiekcie określonym przez $obj. Jeżeli zmienna zdefiniowana w klasie nie ma przypisanej wartości, nie znajdzie się ona w tablicy asocjacyjnej.
array get_object_vars( object obj)
Przykład: użycie get_object_vars()
< ?php
class Point2D
{
var $x, $y;
var $label;
function Point2D( $x, $y)
{
$this->x = $x;
$this->y = $y;
}
function setLabel( $label)
{
$this->label = $label;
}
function getPoint()
{
return array( "x" => $this->x,
"y" => $this->y,
"label" => $this->label);
}
}
$p1 = new Point2D( 1.233, 3.445);
print_r(get_object_vars($p1));
// Właściwość $Label jest zdefiniowana, ale nie zainicjowana
// Array
// (
// [x] => 1.233
// [y] => 3.445
// )
$p1->setLabel("point #1");
print_r(get_object_vars($p1));
// Array
// (
// [x] => 1.233
// [y] => 3.445
// [label] => point #1
// )
? >

Patrz również: get_class_methods(), get_class_vars().
get_parent_class
Zwraca nazwę klasy bazowej dla klasy, której instancją jest obiekt $obj. Patrz również: get_class(), is_subclass_of().
string get_parent_class( object obj )
get_required_files
Zwraca tablicę asocjacyjną z nazwami wszystkich plików załadowanych do skryptu poprzez funkcję require_once().
array get_required_files( void ) Przykład: Wypisywanie plików dołączanych za pomocą require i include.
< ?php
require_once( "local.php" );
require_once( "../inc/global.php" );
for ($i=1; $i<5; $i++)
include "util". $i . ".php";
echo "Pliki dołączane przez require_once\n";
print_r (get_required_files());
echo "Pliki dołączane przez include_once\n";
print_r (get_included_files());
? >
Wykonanie tego skryptu spowoduje wygenerowanie następnego wyniku:
Pliki dołączane przez require_once
Array
( [0] => C:\helion\php4-devguide\site\doda\local.php
[1] => C:\helion\php4-devguide\site\inc\global.php
[2] => C:\helion\php4-devguide\site\doda\util1.php
[3] => C:\helion\php4-devguide\site\doda\util2.php
[4] => C:\helion\php4-devguide\site\doda\util3.php
[5] => C:\helion\php4-devguide\site\doda\util4.php
)
Pliki dołączane przez include_once
Array
(
[0] => C:\helion\php4-devguide\site\doda\local.php
[1] => C:\helion\php4-devguide\site\inc\global.php
[2] => C:\helion\php4-devguide\site\doda\util1.php
[3] => C:\helion\php4-devguide\site\doda\util2.php
[4] => C:\helion\php4-devguide\site\doda\util3.php
[5] => C:\helion\php4-devguide\site\doda\util4.php
)
Uwaga
W PHP 4.0.1pl2 funkcja zakładała, że pliki dołączane poprzez include_once() mają rozszerzenia .php i inne rozszerzenia nie działają. Patrz również: require_once(), include_once(), get_included_files().
gmdate
Funkcja ta jest identyczna z date(), poza tym, że zwracany czas jest czasem Greenwich (GMT). Jeżeli przykłąd zostanie uruchomiony w Polsce (GMT +0100), pierwsza linia przykładu zwróci Jan 01 1998 00:00:00, natomiast druga Dec 31 1997 23:00:00. string gmdate( string format, int timestamp )
Przykład: gmdate()
echo date("M 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));

Patrz również: date(), mktime() i gmmktime().
gmmktime
Funkcja identyczna jak mktime(), poza tym, że przekazane parametry reprezentują czas GMT.
int gmmktime( int hour, int minute, int second, int month,
int day, int year [, int is_dst])

gmstrftime
Zachowuje się tak samo jako jak funkcja strftime(), ale zwracany czas jest czasem GMT. Na przykład, jeżeli będzie użyta w strefie czasowej GMT -0500, pierwsze wywołanie z przykładu wypisze ciąg Dec 31 1998 20:00:00, natomiast drugie: Jan 01 1999 01:00:00.
string gmstrftime( string format, int timestamp )
Przykład: gmstrftime()
setlocale( 'LC_TIME', 'en_US');
echo strftime("%b %d %Y %H:%M:$S", mktime( 20,0,0,12,31,98));
echo gmstrftime("%b %d %Y %H:%M:$S", mktime( 20,0,0,12,31,98));

Patrz również: strftime().
GregorianToJD
Prawidłowy zakres dat kalendarza gregoriańskiego to 4714 p.n.e. do 9999 n.e. Chociaż można stosować tak szeroki zakres dat, nie ma to jednak sensu. Kalendarz gregoriański został ustanowiony 15 października 1582 roku (lub 5 października 1582 roku według kalendarza juliańskiego). Niektóre kraje jeszcze długo nie wprowadziły tego kaledarza. Na przykład Anglia przyjęła go w 1752 roku, Rosja w 1918 a Grecja w 1923 roku. Większość krajów europejskich przed kalendarzem gregoriańskim używała kalendarza juliańskiego.
int GregorianToJD( int month, int day, int year)
Przykład: Funkcje kalendarza
< ?php
$jd = GregorianToJD( 10, 11, 1970);
echo "$jd\n";
$gregorian = JDToGregorian( $jd );
echo "$gregorian\n";
? >

gzclose
Funkcja zamyka plik gz wskazywany przez $zp. W przypadku powodzenia zwraca True, a w przypadku błędu, False. Wskaźnik pliku gz musi być prawidłowym wskaźnikiem wskazującym na plik otwarty przez funkcję gzopen().
int gzclose( int zp )
gzcompress
Zwraca dane wejściowe przekazane w $data skompresowane gzipem, lub False w przypadku wystąpienia błędu. Opcjonalny parametr $level może przyjmować wartości od 0 dla braku kompresji, do 9 dla maksymalnej kompresji. Patrz również: gzuncompress().
string gzcompress( string data [, int level])
gzeof
Zwraca True, jeżeli wskaźnik pliku gz znajduje się na końcu pliku lub wystąpił błąd. W przeciwnym przypadku zwraca False. Wskaźnik pliku gz musi być prawidłowym wskaźnikiem wskazującym na plik otwarty przez funkcję gzopen().
int gzeof( int zp )
gzfile
Funkcja identyczna z readgzfile(), poza tym, że gzfile() zwraca zawartość pliku w tablicy. Można ustawić parametr opcjonalny na 1, co spowoduje szukanie pliku również na ścieżce ustawionej w include_path. Patrz również: readgzfile(), gzopen().
array gzfile( string filename [, int use_include_path])
gzgetc
Zwraca ciąg zawierający jeden znak (nieskompresowany) odczytany z pliku na który wskazuje $zp. Zwraca False na końcu pliku (tak samo jak gzeof()).Wskaźnik pliku gz musi być prawidłowym wskaźnikiem wskazującym na plik otwarty przez funkcję gzopen(). Patrz również: gzopen() i gzgets().
string gzgetc( int zp )
gzgets
Zwraca ciąg znaków (nieskompresowany) o maksymalnej długości $length-1 odczytany z pliku na który wskazuje $zp. Czytanie kończy się po odczytaniu $length-1 znaków, znaku nowej linii lub znaku EOF. Zwraca False w przypadku wystąpienia błędu. Wskaźnik pliku gz musi być prawidłowym wskaźnikiem wskazującym na plik otwarty przez funkcję gzopen(). Patrz również: gzopen(), gzgetc() i fgets().
string gzgets( int zp, int length )
gzgetss
Funkcja identyczna jak gzgets(), ale dodatkowo gzgetss() usiłuje usunąć znaczniki HTML i PHP z odczytanego tekstu. Można użyć opcjonalnego trzeciego parametru w celu określenia znaczników, które mają pozostać w tekście. Parametr $allowable_tags został dodany w PHP 3.0.13, PHP4B3. Patrz również: gzgets(), gzopen() i strip_tags().
string gzgetss( int zp, int length [, string allowable_tags])
gzopen
Otwiera plik gzip (.gz) do odczytu lub zapisu. Parametr $mode jest taki jak w fopen() ("rb" lub "wb"), ale może zawierać również poziom kompresji ("wb9") lub strategię: f dla filtrowania danych, na przykład "wb6f", h dla kompresji tylko metodą Huffmana, np.: "wb1h". Więcej informacji na temat filtrowania znajduje się w opisie deflateIni2 w pliku zlib.h. Można również wykorzystać gzopen() do odczytania danych, które nie są w formacie gzip. W takim przypadku gzread() odczytuje plik bez jego dekompresji. Funkcja gzopen() zwraca wskaźnik do otwartego pliku. Po tej operacji wszystkie dane odczytywane z tego pliku są dekompresowane, natomiast dane zapisywane do pliku są kompresowane. Jeżeli otwarcie pliku nie uda się, funkcja zwraca False. Można użyć opcjonalnego trzeciego argumentu i ustawić go na 1 w celu włączenia poszukiwania pliku do otwarcia na ścieżce include_path. int gzopen( string filename, string mode [, int use_include_path])
Przykład gzopen()
$fp = gzopen( "/tmp/file.gz", "r" ); Patrz również: gzclose().
gzpassthru
Odczytuje plik wskazywany przez wskaźnik do pliku gz, aż do znaku EOF, a jego (nieskompresowaną) zawartość kieruje na wyjście. Jeżeli wystąpi błąd zwraca False. Wskaźnik pliku gz musi być prawidłowym wskaźnikiem wskazującym na plik otwarty przez funkcję gzopen(). Po zakończeniu odczytu pliku jest on zamykany.
int gzpassthru( int zp )
gzputs
Identyczna jak funkcja gzwrite().
int gzputs( int zp, string str [, int length])
gzread
Odczytuje maksymalnie $length bajtów z pliku gz wskazywanego przez $zp. Odczyt zostaje przerwany, gdy zostanie odczytane $length znaków (nieskompresowanych), lub napotkany zostanie koniec pliku.
string gzread( int zp, int length )
Przykład: gzread()
// odzytanie zawartości pliku gz do ciągu
$filename = "/usr/local/somth.txt.gz";
$zd = gzopen( $filename, "r");
$contents = gzread( $dz, 10000 );

Patrz również: gzwrite(), gzopen(), gzgets(), gzgetss(), gzfile(), gzpassthru().
gzrewind
Ustawia znacznik pozycji na początku pliku. Jeżeli wystąpi błąd, funkcja zwraca 0. Wskaźnik pliku gz musi być prawidłowym wskaźnikiem wskazującym na plik otwarty przez funkcję gzopen(). Patrz również gzseek(), gztell(). int gzrewind( int zp )
gzseek
Ustawia znacznik pozycji pliku wskazywanego przez $zp na pozycję określoną przez $offset. Jest to odpowiednik wywołania (w C) gzseek( zp, offset, SEEK_SET). Jeżeli plik jest otwarty do odczytu, funkcja jest wykonywana, ale może być to niezwykle powolne. Jeżeli plik jest otwarty do zapisu, obsługiwane jest jedynie przesunięcie w przód; gzseek() kompresuje wtedy sekwencję zer aż do nowej pozycji. W przypadku powodzenia operacji zwraca 0, w przeciwnym wypadku zwraca -1.
Uwaga
Przesunięcie poza znacznik EOF nie jest traktowane jako błąd. Patrz również gztell() i gzrewind().
int gzseek( int zp, int offset )
gztell
Zwraca pozycje znacznika pozycji dla pliku wskazywanego przez $zp, to znaczy przesunięcie od początku pliku. Jeżeli wystąpi błąd, funkcja zwraca False. Wskaźnik pliku gz musi być prawidłowym wskaźnikiem wskazującym na plik otwarty przez funkcję gzopen(). Patrz również: gzopen(), gzseek() i gzrewind(). int gztell( int zp )
gzuncompress
Na podstawie danych $data, skompresowanych za pomocą funkcji gzcompress() zwraca oryginalne nieskompresowane dane. W przypadku błędu zwraca False. Funkcja zakończy się niepowodzeniem, jeżeli rozmiar rozkompresowanych danych przekracza 256 krotność wielkości danych wejściowych $data, lub jest większy od opcjonalnego parametru $length. Patrz również gzcompress().
string gzuncompress( string data [, int length])
gzwrite
Zapisuje zawartość $string do pliku gz wskazywanego przez $zp. Jeżeli podano argument $length, zapis jest przerywany po zapisaniu $length bajtów (nieskompresowanych), lub po osiągnięciu końca danych wejściowych.
Uwaga
Jeżeli podany został argument $length, ignorowany jest parametr konfiguracji magic_quotes_runtime i z ciągu $string nie będą usunięte ukośniki. Patrz również: gzread(), gzopen() i gzputs().
header
Funkcja używana na początku pliku HTML do wysłania surowych nagłówków HTTP. Więcej informacji na temat surowych nagłówków można znaleźć w specyfikacji protokołu HTTP 1.1 (http://www.w3.org/Protocols/rfc2616/rfc2616).
Uwaga
Należy pamiętać, że funkcja header() musi być wywołana przed wysłaniem danych HTML, niezależnie czy poprzez normalny kod HTML czy poprzez PHP. Bardzo często spotykanym błędem jest umieszczanie wolnych linii przed wywołaniem funkcji header(). Istnieją dwa nagłówki specjalnego przeznaczenia. Pierwszy to nagłówek Location. Oprócz odesłania tego nagłówka do przeglądarki zwraca on do Apache kod statusu REDIRECT. Dla programistów skryptów może nie być to zbyt ważne, ale ważne jest dla programistów zainteresowanych działaniem serwera Apache.
int header( string string )
Przykład: header()
header("Location: http://www.php.net"); /* przekierowuje rzeglądarkę do witryny PHP */
exit; /* należy się upewnić, że kod poniżej nie
zostanie wykonany. */

Drugim nagłówkiem specjalnego przeznaczenia jest nagłówek rozpoczynający się ciągiem HTTP/ (wielkość znaków bez znaczenia). Na przykład jeżeli skonfigurowana zostanie dyrektywa Apache ErrorDocument 404, tak aby wskazywała na skrypt PHP, dobrze jest się upewnić, że skrypt PHP generuje błąd 404. W tym celu należy wysłać nastepujący nagłówek:
header("HTTP/1.0 404 Not Found");
Skrypty PHP często generują dynamiczny kod HTML, który nie powinien być buforowany w przeglądarkach i serwerach proxy. Można zablokować wiele serwerów proxy za pomocą nagłówków:
header("Expires: Mon, 26 ul 1997 05:00:00 GMT"); //Data w przeszłości
header("LastModified: " .. gmdate("D, d M y H:i:s"); // Czas GMT
header("Cache-Control: no-cache, must-revalidate"); // zawsze zmodyfikowane HTTP/1.1
header("Pragme: no-cache"); // HTTP/1.0

Patrz również: headers_sent().

headers_sent
Zwraca True, jeżeli wysłane zostały nagłówki HTTP, w przeciwnym przypadku zwraca False. Patrz również: header().
boolean headers_sent( void )
hebrev
Opcjonalny parametr $max_chas_per_line wskazuje na maksymalną ilość znaków w linii danych wyjściowych. Funkcja próbuje uniknąć łamania wyrazów. Patrz również: hebrevc().
string hebrev(string hebrew_text [, int max_chars_per_line]) hebrevc
Funkcja podobna do hebrev() z tą różnicą, że konwertuje znaki nowej linii (\n) na
\n. Opcjonalny parametr $max_chars_per_line wskazuje maksymalną ilość znaków w wyniku. Funkcja próbuje uniknąć łamania wyrazów. Patrz również: hebrev().
string hebrevc( string hebrev_text [, int max_chars_per_line])
hexdec
Zwraca dziesiętny odpowiednik liczby szesnastkowej przekazanej w parametrze $hex_string. Funkcja hexdec() konwertuje ciąg szesnastkowy na liczbę dziesiętną. Największą liczbą, jaka może być skonwertowana jest 7fffffff lub 2147483647 dziesiętnie. Patrz również: dechex(). int hexdec( string hex_string )
highlight_file
Wynikiem działania funkcji jest wersja pliku PHP, o nazwie $filename, z wyróżnioną składnią. Używane kolory są zdefiniowane w wewnętrznym module wyróżniania składni.
void highlight_file( string filename )
Przykład: Tworzenie łączy do plików z wyróżnioną składnią Aby utworzyć łącze umożliwiające wyróżnienie składni dowolnego pliku, skorzystamy z dyrektywy Apache ForceType. Pozwala to na stworzenie eleganckiego adresu URL, natomiast użycie funkcji highlight_file() pozwala na pokazanie ładnie wyglądającego kodu. W pliku httpd.conf należy dodać następujące linie:
< Location / source >
ForceType application/x-httpd-php
< /Location >

Następnie należy utworzyć plik o nazwie source i umieścić go w głównym katalogu serwera WWW:
< HTML >
< HEAD >
< TITLE >Wyświetlanie źródła< /TITLE >
< /HEAD >
< BODY COLOR BGCOLOR="white" >
< ?php
$script = getenv( "PATH_TRANSLATED");
if (!$script)
{
echo "< BR >< B >BŁĄD: wymagana nazwa skryptu< /B >< BR >";
}
else
{
if ereg("(\.php|\.inc)$", $script))
{
echo "< H1 >Źródło skryptu: $PATH_INFO< /H1 >\n< hr >\n";
highlight_file( $script );
}
else
echo " < H1 >BŁĄD: Dopuszczalne sa jedynie rozszerzenia php i inc< /H1 >"; }
echo "Przetworzony: " . date( "Y/M/d H:i:s", time());
< /BODY >
< /HTML >
? >
Teraz można użyć adresów podobnych do przytoczonego poniżej, aby wyświetlić kolorową wersję skryptu /sciezka/do/skryptu.php. http://serwer.com/source/sciezka/do/skryptu.php Patrz również: highlight_string() i show_source().
highlight_string
Wysyła na wyjście pokolorowaną wersję ciągu $str. Używane kolory są zdefiniowane w wewnętrznym module PHP. Patrz również: highlight_file() i show_source().
void highlight_string( string str )
htmlentities
Funkcja jest identyczna z htmlspecialchars(), ale wszystkie znaki posiadające odpowiadające im symbole HTML są zamieniane na te symbole. Tak jak w przypadku funkcji htmlspecialchars() można użyć opcjonalnego argumentu wskazującego na sposób traktowania cudzysłowów i apostrofów. Wartość ENT_COMPAT (domyślna) konwertuje jedynie cudzysłowy, pozostawiając bez zmian apostrofy. ENT_QUOTES powoduje konwersję zarówno cudzysłowów jak i apostrofów. ENT_NOQUOTES powoduje, że zarówno cudzysłowy jak i apostrofy pozostają niezmienione. W chwili obecnej używany jest zestaw znaków ISO-8859-1. Należy pamiętać, że argument opcjonalny został dodany w PHP 3.0.17 i PHP 4.0.3. Patrz również: htmlspecialchars() i nl2br().
string htmlentities( string string [, int quote_style])
htmlspecialchars
Niektóre znaki mają specjalne znaczenie w HTML i powinny być reprezentowane przez symbole HTML. Funkcja ta zwraca ciąg z zastosowanymi niektórymi z tych konwersji. Są to najczęściej używane konwersje przy programowaniu dla WWW. Jeżeli wymagana jest kompletna konwersja, należy użyć funkcji htmlentities(). Funkcja ta jest użyteczna do usuwania znaczników HTML z tekstu wprowadzonego przez użytkownika, na przykład w księdze gości lub na tablicy ogłoszeniowej. Argument opcjonalny, $quote_style wskazuje sposób konwersji apostrofów i cudzysłowów. Domyślny tryb ENT_COMPAT jest dostępny dla zachowania zgodności z poprzednimi wersjami i konwertuje jedynie cudzysłowy, pozostawiając bez zmian apostrofy. ENT_QUOTES powoduje konwersję zarówno cudzysłowów jak i apostrofów. ENT_NOQUOTES powoduje, że zarówno cudzysłowy jak i apostrofy pozostają niezmienione.
string htmlspecialchars( string string [, int quote_style])
Wykonywane są następujące konwersje:
- & jest zamieniane na &
- " jest zamieniany na ", o ile nie jest ustawiona wartość ENT_NOQUOTES
- ' jest zmieniany na ' jeżeli jest ustawiona wartość ENT_QUOTES
- < jest zmieniane na <
- > jest zmieniane na >
Uwaga
Funkcja ta wykonuje jedynie przedstawione translacje. Aby przeprowadzić pełną translację należy użyć funkcji htmlentities(). Należy pamiętać, że argument opcjonalny został dodany w PHP 3.0.17 i PHP 4.0.3.
hw_Array2Objrec
Konwertuje $object_array na rekord obiektowy. Wielokrotne atrybuty na przykład Title w różnych językach są obsługiwane prawidłowo. Patrz również: hw_objrec2array().
string hw_Array2Objrec( array object_array )
hw_Children
Zwraca tablicę identyfikatorów obiektów. Każdy identyfikator należy do elementu kolekcji o identyfikatorze $objectID. Tablica zawiera wszystkie elementy potomne, zarówno dokumenty jak i kolekcje.
array hw_Children( int connection, int objectID )
hw_ChildrenObj
Zwraca tablicę rekordów obiektów. Każdy z obiektów należy do elementu potomnego o identyfikatorze $objectID. Tablica zawiera wszystkie elementy potomne, zarówno dokumenty jak i kolekcje.
array hw_ChildrenObj( int connection, int objectID )
hw_Close
Zwraca False, jeżeli $connection nie jest prawidłowym indeksem połączenia, a w przeciwnym przypadku True. Zamyka połączenie o podanym indeksie do serwera Hyperwave.
int hw_Close( int connection )
hw_Connect
Otwiera połączenie do serwera Hyperwave i zwraca indeks połączenia, jeżeli operacja się uda. Jeżeli nie, zwraca False. Każdy z argumentów powinien być ciągiem poza numerem portu. Argumenty $username i $password są opcjonalne i mogą być opuszczone. W takim przypadku nie będzie przeprowadzana identyfikacja użytkownika. Jest to zbliżone do identyfikacji użytkownika anonimowego. Funkcja zwraca indeks połączenia, który jest potrzebny w innych funkcjach Hyperwave. Można utrzymywać kilka połączeń do serwera, Należy jedynie pamiętać, że przesyłane hasło nie jest zaszyfrowane. Patrz również: hw_pConnect().
int hw_Connect( string host, int port, string username, string password )
hw_Cp
Kopiuje obiekt o identyfikatorze podanym w drugim parametrze do kolekcji o identyfikatorze $destination_id. Zwracaną wartością jest ilość skopiowanych obiektów. Patrz również: hw_mv().
int hw_Cp( int conection, array object_id_array, int destination_id
hw_Deleteobject
Usuwa obiekt o identyfikatorze przekazanym w drugim argumencie funkcji. Usuwa wszystkie kopie obiektu. Zwraca True, jeżeli nie wystąpiły żadne błędy, lub False gdy błędy wystąpiły. Patrz również hw_mv().
int hw_Deleteobject( int connection, int object_to_delete )
hw_DocByAnchor
Zwraca identyfikator obiektu, do którego należy $anchorID.
int hw_DocByAnchor( int connection, int anchorID )
hw_DocByAnchorObj
Zwraca rekord obiektu dokumentu, do którego należy $anchorID.
int hw_DocByAnchorObj( int connection, int anchorID )
hw_Document_Attributes
Zwraca rekord obiektu dokumentu. Dla zachowania zgodności z poprzednimi wersjami akceptowane jest również hw_DocumentAttributes(). Jednak nie zaleca się stosowania tej nazwy. Patrz również: hw_Document_BodyTag() i hw_Document_Size().
hw_Document_BodyTag
Zwraca znacznik BODY dokumentu. Jeżeli jest to dokument HTML, znacznik BODY powinien być wydrukowany przez dokumentem. Patrz również: hw_Document_Attributes(), hw_Document_Size(). Dla zapewnienia zgodności akceptowana jest również nazwa hw_DocumentBodyTag(). Nie zaleca się jej stosowania.
string hw_Document_BodyTag( int hw_document )
hw_Document_Content
Zwraca treść dokumentu. Jeżeli jest to dokument HTML, zawartością jest wszystko po znaczniku BODY. Dane ze znaczników BODY i HEAD są zapamiętywane w rekordzie obiektu. Parz również: hw_Document_Attributes(), hw_Document_Size() i hw_DocumentSetContent().
string hw_Document_Content( int hw_document )
hw_Document_SetContent
Zapisuje lub zmienia zawartość dokumentu. Jeżeli dokument jest w formacie HTML, zawartość stanowi wszystko po znaczniku BODY. Dane ze znaczników HEAD i BODY są przechowywane w rekordzie obiektu. Jeżeli informacje te zostaną umieszczone w zawartości dokumentu, po wstawieniu dokumentu serwer Hyperwave zmieni odpowiednio rekord obiektu; nie jest to najlepsze rozwiązanie. Jeżeli funkcja się nie powiedzie, dokument będzie zawierał poprzednią zawartość. Patrz również: hw_Document_Attributes(), hw_Document_Size() i hw_Document_Content(). string hw_DocumentSetContent( int hw_document, string content )
hw_Document_Size
Zwraca wielkość dokumentu w bajtach. Patrz również: hw_Document_BodyTag() i hw_Document_Attributes(). W celu zachowania zgodności akceptowana jest również nazwa hw_DocumentSize, ale jej stosowanie nie jest zalecane.
int hw_Document_Size( int hw_document )
hw_EditText
Przesyła test dokumentu na serwer. Rekord obiektu dokumentu nie może być modyfikowany do czasu zakończenia edycji. Funkcja ta działa jedynie dla dokumentów czysto tekstowych. Nie otwiera specjalnego połączenia i przez to na czas przesyłania blokuje połączenie sterujące. Patrz również: hw_PipeDocument(), hw_FreeDocument(), hw_Document_BodyTag(), hw_Document_Size(), hw_Output_Document() i hw_GetText().
int hw_EditText( int connection, int hw_document )
hw_Error
Zwraca kod ostatniego błędu. Jeżeli nie występowały żadne błędy, zwraca 0. Błąd odnosi się do ostatnio wykonanej komendy.
int hw_Error( int connection )
hw_ErrorMsg
Zwraca ciąg zawierający ostatni komunikat błędu lub ciąg No Error. Jeżeli funkcja się nie udała, zwraca False. Komunikat błędu odnosi się do ostatnio wykonanej komendy.
string hw_ErrorMsg( int connection )
hw_Free_Document
Zwalnia pamięć zajmowaną przez dokument Hyperwave.
int hw_Free_Document( int hw_document )
hw_GetAnchors Zwraca tablicę identyfikatorów obiektów z łączami dokumentów z identyfikatorem obiektu $objectID.
array hw_GetAnchors( int connection, int objectID )
hw_GetAnchorsObj
Zwraca tablicę rekordów obiektów z łączami dokumentów z identyfikatorem obiektu $objectID.
array hw_GetAnchorsObj( int connection, int objectID )
hw_GetAndLock
Zwraca rekord obiektu dla obiektu o identyfikatorze $objectID. Dodatkowo nakłada blokadę na obiekt, dzięki czemu inni użytkownicy nie mają do niego dostępu do czasu zwolnienia blokady. Patrz również: hw_Unlock() i hw_GetObject().
string hw_GetAndLock( int connection, int objectID )
hw_GetChildColl
Zwraca tablicę identyfikatorów obiektów. Każdy z identyfikatorów należy do kolekcji potomnej w kolekcji o identyfikatorze $objectID. Funkcja nie zwraca dokumentów potomnych. Patrz również: hw_GetChildren() i hw_GetChildDocColl().
array hw_GetChildColl( int connection, int objectID )
hw_GetChildCollObj
Zwraca tablicę rekordów obiektów. Każdy z rekordów obiektów należy do kolekcji potomnej w kolekcji o identyfikatorze $objectID. Funkcja nie zwraca dokumentów potomnych. Patrz również: hw_ChildrenObj() i hw_GetChildDocCollObj().
array hw_GetChildCollObj( int connection, int objectID )
hw_GetChildDocColl
Zwraca tablicę identyfikatorów obiektów dokumentów potomnych w kolekcji. Patrz również: hw_GetChildren() i hw_GetChildColl().
array hw_GetChldDocColl( int connection, int objectID )
hw_GetChildDocCollObj
Zwraca tablicę rekordów obiektów dla dokumentów potomnych w kolekcji. Patrz również: hw_ChildrenObj() i hw_GetChildCollObj().
array hw_GetChildDocCollObj( int connection, int objectID )
hw_GetObject
Jeżeli drugi parametr jest liczą całkowitą, zwraca rekord obiektu dla obiektu o identyfikatorze $objectID. Jeżeli drugi parametr jest tablicą liczb całkowitych, funkcja zwróci tablicę rekordów obiektów. W tym przypadku analizowany jest również trzeci parametr - ciąg zapytania.
array hw_GetObject( int connection, {int,array} objectID, string query )
Ciąg zapytania posiada następującą składnię:
< expr > ::= "(" < exp r> ")" |
"!" < expr > | /* Negacja */
< expr > "||" < expr> | /* OR */
< expr > "&&" < expr > | /* AND */
< attribute > < operator > < value >
< attribute > ::= /* dowolna nazwa atrybutu (Tytuł, Autor, TypDokumentu ...) */
< operator > ::= "=" | /* równy */
"<" | /* mniejszy od (porównanie ciągów) */
">" | /* większy od (porównanie ciągów) */
"~" /* porównywanie wyrażeń regularnych */
Zapytanie pozwala na dalszy wybór odpowiednich obiektów z listy zwracanych obiektów. W przeciwieństwie do pozostałych funkcji zapytań, to zapytanie może działać na atrybutach bez indeksów. Ilość zwracanych rekordów obiektów zależy od zapytania i od tego, czy możliwy jest dostęp do dokumentu. Patrz również: hw_GetAndLock() i hw_GetObjectByQuery().
hw_GetObjectByQuery
Przeszukuje wszystkie obiekty na serwerze i zwraca tablicę identyfikatorów obiektów. Maksymalna ilość identyfikatorów jest ograniczona do $max_hits. Jeżeli $max_hits ma wartość -1, maksymalna ilość zwracanych identyfikatorów nie jest ograniczona. Zapytanie działa jedynie na atrybutach posiadających indeksy. Patrz również: hw_GetObjectByQueryObj().
array hw_GetObjectByQuery( int connection, string query, int max_hits )
hw_GetObjectByQueryColl
Przeszukuje obiekty w kolekcji o identyfikatorze $objectID i zwraca tablicę identyfikatorów obiektów. Maksymalna ilość identyfikatorów jest ograniczona do $max_hits. Jeżeli $max_hits ma wartość -1, maksymalna ilość zwracanych identyfikatorów nie jest ograniczona. Zapytanie działa jedynie na atrybutach posiadających indeksy. Patrz również: hw_GetObjectByQueryCollObj(). array hw_GetObjectByQueryColl( int connection, int objectID, string query, int max_hits )
hw_GetObjectByQueryCollObj
Przeszukuje obiekty w kolekcji o identyfikatorze $objectID i zwraca tablicę rekordów obiektów. Maksymalna ilość obiektów jest ograniczona do $max_hits. Jeżeli $max_hits ma wartość -1, maksymalna ilość zwracanych obiektów nie jest ograniczona. Zapytanie działa jedynie na atrybutach posiadających indeksy. Patrz również: hw_GetObjectByQueryColl(). array hw_GetObjectByQueryCollObj( int connection, int objectID, string query, int max_hits )
hw_GetObjectByQueryObj
Przeszukuje wszystkie obiekty na serwerze i zwraca tablicę rekordów obiektów. Maksymalna ilość identyfikatorów jest ograniczona do $max_hits. Jeżeli $max_hits ma wartość -1, maksymalna ilość zwracanych identyfikatorów nie jest ograniczona. Zapytanie działa jedynie na atrybutach posiadających indeksy. Patrz również: hw_GetObjectByQuery().
array hw_GetObjectByQueryObj( int connection, string query, int max_hits )
hw_GetParents
Zwraca indeksowaną tablicę identyfikatorów obiektów. Każdy identyfikator obiektu jest obiektem podrzędnym do obiektu o identyfikatorze $objectID.
array hw_GetParents( int connection, int objectID )
hw_GetParentsObj
Zwraca indeksowaną tablicę rekordów obiektów oraz dodatkowo skorelowaną tablicę z danymi statystycznymi o rekordach obiektów. Dodatkowa tablica jest umieszczona w ostatnim elemencie zwracanej tablicy. Każdy z rekordów obiektów jest obiektem podrzędnym do obiektu o identyfikatorze $objectID.
array hw_GetParentsObj( int connection, int objectID )
hw_GetRemote
Zwraca zdalny dokument. Dokumenty zdalne w sensie Hyperwave są dokumentami pobieranymi z zewnętrznych źródeł. Najczęściej dokumentami zdalnymi są strony WWW lub zapytania do baz danych. Aby był możliwy dostęp do zewnętrznych źródeł dokumentów, Hyperwave wprowadza protokół Hyperwave Gateway Interface (HGI), który jest podobny do CGI. W chwili obecnej poprzez HGI można uzyskać dostęp do serwerów http, ftp i niektórych baz danych. Wywołanie hw_GetRemote() zwraca dokument pochodzący ze zdalnego źródła danych. Jeżeli chcesz użyć tej funkcji, powinieneś dobrze znać HGI. Powinieneś również rozważyć użycie PHP zamiast Hyperwave do komunikacji z zdalnym źródłem danych. Dodanie obsługi baz danych poprzez Hyperwave będzie bardziej skomplikowane, niż wykonanie tego samego w PHP. Patrz również: hw_GetRemoteChildren().
int hw_GetRemote( int connection, int objectID )
hw_GetRemoteChilden
Zwraca obiekty pochodne do zdalnego dokumentu. Obiektami pochodnymi zdalnego dokumentu są również zdalne dokumenty. Funkcja ta może być wykorzystana, jeżeli można ograniczyć zapytanie bazy danych. Jest to opisane w podręczniku Hyperwave Programmer's Guide. Jeżeli istnieje tylko jeden obiekt pochodny, funkcja zwraca ten obiekt sformatowany przez HGI. Jeżeli istneije więcej niż jeden element pochodny, funkcja zwraca tablice rekordów obiektów, z których każdy być może może być wartością wejściową w kolejnym wywołaniu funkcji hw_GetRemoteChildren(). Obiekty te są obiektami wirtualnymi i nie istnieją w serwerze Hyperwave, i dlatego nie posiadają własnych identyfikatorów. Jeżeli zamierzasz wykorzystać tą funkcję powinieneś dobrze znać HGI. Powinieneś również rozważyć użycie PHP zamiast Hyperwave do komunikacji z zdalnym źródłem danych. Dodanie obsługi baz danych poprzez Hyperwave będzie bardziej skomplikowane, niż wykonanie tego samego w PHP. Patrz również: hw_GetRemote().
hw_GetSrcByDestObj
Zwraca rekordy obiektów wskazujących na obiekt o identyfikatorze $objectID. Obiekt ten może być dokumentem lub zakotwiczeniem. Patrz również: hw_GetAnchors().
array hw_GetSrcByDestObj( int connection, int objectID )
hw_GetText
Zwraca dokument z identyfikatorem $objectID. Jeżeli dokument posiada zakotwiczenia, które można do niego wstawić, zostaną one wstawione. Opcjonalny parametr $rootID/$prefix może być ciągiem lub liczbą całkowitą. Jeżeli jest to liczba, określa w jaki sposób wstawiane są do dokumentu łącza. Wartością domyślną jest 0 i powoduje to utworzenie łączy z nazwy i obiektu docelowego łącza. Jest to uzyteczne przy tworzeniu aplikacji WWW. Jeżeli łącze wskazuje na nazwę internet_movie, łącze HTML będzie miało postać < A HREF="/internet_movie" >. Położenie źródła i celu łącza jest ignorowane. Będziesz musiał tak ustawić swój serwer WWW, aby zamieniał takie łącza na, na przykład /my_script.php3/internet_movie. Skrypt my_script.php3 musi sprawdzić zawartość $PATH_INFO i odczytać dokument. Wszystkie łącza powinny zaczynać się od /my_script.php3/. Jeżeli nie chcesz tego robić, możesz ustawić odpowiednio parametr opcjonalny $rootID/$prefix na dowolny prefiks. W tym przypadku musi być to ciąg.
int hw_GetText( int connection, int objectID [, mixed rootID/prefix])
Jeżeli $rootID/$prefix jest liczbą różną od 0, łącze jest tworzone z wszystkich nazw względem bieżącego obiektu, zaczynając od $rootID/$prefix oddzielanych ukośnikami. Jeżeli na przykład poprzedni dokument internet_movie jest umieszczony w a-b-c-internet_movie, gdzie znak - jest separatorem hierarchii w serwerze Hyperwave, a dokument źródłowy znajduje się w a-b-d-source, wynikowe łącze HTML będzie miało postać < A HREF="../c/internet_movie" >. Jest to korzystne, jeżeli chcesz zapisać całą zawartość serwera na dysk i odwzorować hierarchię dokumentów w systemie plików. Funkcja ta działa jedynie dla dokumentów tekstowych. Nie otwiera ona specjalnego połączenia, więc blokuje na czas przesyłu połączenie sterujące. Patrz również: hw_PipeDocument(), hw_FreeDocument(), hw_Document_BodyTag(), hw_Document_Size() i hw_Open_Document().
hw_getusername
Zwraca nazwę użytkownika połączenia.
string hw_getusername( int connection )
hw_Identify
Autoryzuje użytkownika za pomocą ciągów $username i $password. Autoryzacja jest ważna jedynie w bieżącej sesji. Funkcja nie jest potrzebna zbyt często. W większości przypadków łatwiejszą metodą autoryzacji jest otwarcie połączenia. Patrz również: hw_Connect().
hw_InCollections
Sprawdza, czy zbiór obiektów (dokumentów lub kolekcji) przekazanych w $object_id_array jest częścią kolekcji przekazanych w $collection_id_array. Jeżeli czwarty parametr, $return_collections jest równy 0, podzbiór identyfikatorów będących częścią kolekcji (na przykład dokumenty lub kolekcje podrzędne do jednej, lub więcej kolekcji) jest zwracany w postaci tablicy. Jednak gdy czwarty argument jest równy 1, zbiór kolekcji posiadających co najmniej jeden obiekt w znalezionym podzbiorze obiektów podrzędnych jest zwracany w postaci tablicy. Opcja ta pozwala na przykład, na wyróżnienie części hierarchii dokumentów, w której zawarte są wyniki przekazanego zapytania.
array hw_InCollections( int connection, array object_id_array, array collection_id_array, int return_collections)
hw_Info
Zwraca dane na temat bieżącego połączenia. Zwracany ciąg posiada następującą postać: , , , , , .
string hw_Info( int connection )
hw_InsColl Wstawia nową kolekcję z atrybutami zawartymi w tablicy $object_array, do kolekcji o identyfikatorze $objectID.
int hw_InsColl( int connection, int objectID, array object_array )
hw_InsDoc
Wstawia nowy dokument z atrybutami zawartymi w $object_record, do kolekcji o identyfikatorze $parentID. Funkcja wstawia rekord obiektu lub rekord obiektu oraz tekst przekazany w $text, o ile został podany. Jeżeli chcesz wstawić dokument dowolnego typy, należy użyć funkcji hw_insertdocument(). Patrz również: hw_InsertDocument() i hw_InsColl().
int hw_InsDoc( int connection, int parentID, string object_record, string 3text )
hw_InsertDocument
Przesyła dokument do kolekcji o identyfikatorze $parentID. Dokument musi być wcześniej utworzony za pomocą funkcji hw_NewDocument(). Należy się upewnić, że rekord obiektu posiada co najmniej następujące atrybuty: Type, DocumentType, Title i Name. Przydatne jest ustawienie atrybutu MimeType. Funkcja zwraca identyfikator obiektu nowego dokumentu, lub False. Patrz również: hw_PipeDocument().
int hw_InsertDocument( int connection, int parent_id, int hw_document )
hw_InsertObject
Umieszcza obiekt na serwerze. Obiekt musi być prawidłowym obiektem Hyperwave. Więcej danych na ten temat znajduje się w dokumentacji HG-CSP.
Uwaga
Jeżeli chcesz wstawić zakotwiczenie atrybut position musi być zawsze ustawiony na wartość początkową, końcową lub invisible. Pozycje niewidoczne są wymagane, jeżeli opis ni ma odpowiedniego łącza do tekstu opisu. Patrz również: hw_PipeDocument(), hw_InsertDocument(), hw_InsDoc() i hw_InsColl().
int hw_InsertObject( int connection, string object_rec, string parameter )
hw_mapid
Mapuje identyfikator globalnego obiektu na dowolnym serwerze Hyperwave, nawet jeżeli nie wykonano podłączenia do niego za pomocą hw_connect(), do identyfikatora obiektu wirtualnego. Ten obiekt wirtualny może być używany identycznie, jak każdy inny identyfikator obiektu, na przykład do pobrania rekordu obiektu za pomocą hw_getobject(). Identyfikator serwera jest pierwszą częścią globalnego identyfikatora obiektu (GOid) i w chwili obecnej jest to numer IP w postaci liczby.
Uwaga Aby użyć tej funkcji należy ustawić znacznik F_DISTRIBUTED, co obecnie można wykonać jedynie w czasie kompilacji pliku hg_comm.c. Nie jest to wykonywane domyślnie. Należy zapoznać się z komentarzami na początku pliku hg_comm.c.
int hw_mapid( int connection, int server_id, int object_id )
hw_Modifyobject
Polecenie to pozwala na usunięcie, dodanie lub zmianę poszczególnych atrybutów rekordu obiektu. Obiekt jest określony za pomocą identyfikatora $object_to_change. Pierwsza tablica, $remove, jest listą atrybutów do usunięcia. Druga tablica, $add, jest listą atrybutów które należy dodać do obiektu. W celu zmiany atrybutu, należy usunąć stary atrybut i dodać nowy. Funkcja hw_Modifyobject() zawsze najpierw usuwa stare atrybuty a potem dodaje nowe chyba, że wartości atrybutów do usunięcia nie są tablicą ciągów. Ostatni parametr wskazuje, czy operacja ma być wykonana w sposób rekurencyjny. Wartość 1 oznacza rekurencyjne wywołanie. Jeżeli nie jest możliwa modyfikacja niektórych obiektów, zostaną pominięte bez żadnej informacji o tym fakcie. Funkcja hw_error() może nie wskazać żadnego błędu, choć nie wszystkie obiekty będą zmienione.
int hw_Modifyobject( int connecion, int object_to_change, array remove, array add, int mode )
Kluczami w obu tablicach są nazwy atrybutów. Wartością każdego z elementów tablicy może być tablica ciągów, ciąg, bądź cokolwiek innego. Jeżeli będzie to tablica, wartość atrybutu jest tworzona z klucza, średnika i wartości. Wstawienie pustego ciągu spowoduje całkowite usunięcie atrybutu. Jeżeli wartość nie jest ani ciągiem ani tablicą, ale na przykład liczbą, nie będą podejmowane żadne operacje na atrybucie. Jest to niezbędne, jeżeli chcesz dodać całkowicie nowy atrybut a nie wartość istniejącego atrybutu. Jeżeli tablica z elementami do usunięcia będzie zawierała pusty ciąg dla atrybutu, usunięcie się nie uda. Ustawienie wartości tego atrybutu na, na przykład 0, spowoduje, że nie będzie podjęta próba jego usunięcia, natomiast dodanie atrybutu powiedzie się. Jeżeli chcesz zmienić atrybut Name z bieżącą wartością książki na artykuły, powinieneś utworzyć dwie tablice i wywołać funkcję hw_modifyobject().
Przykład: zmiana atrybutu
// $connect jest istniejącym połączeniem do serwera Hyperwave
// $objid jest identyfikatorem obiektu do zmiany
$remarr = array("Name" => "książki");
$addarr = array("Name" => "artykuły");
$hw_modifyobject($connect, $objid, $remarr, $addarr);

Aby usunąć lub dodać parę nazwa-wartość, należy przekazać tablice zawierające dodawane i usuwane atrybuty przekazując w trzecim parametrze pustą tablicę. Jeżeli atrybut jest pierwszym atrybutem o tej nazwie, należy ustawić wartości w tablicy atrybutów do usunięcia na liczby całkowite.
Przykład: dodanie całkowicie nowego atrybutu
// $connect jest istniejącym połączeniem do serwera Hyperwave
// $objid jest identyfikatorem obiektu do zmiany
$remarr = array("Name" => 0);
$addarr = array("Name" => "artykuły");
$hw_modifyobject($connect, $objid, $remarr, $addarr);

Uwaga
Atrybuty w wielu językach, na przykład Title mogą być zmieniane na dwa sposoby. Pierwszym sposobem jest wpisywanie wartości atrybutów w postaci język:tytuł, lub przekazywanie tablicy z elementami dla każdego języka zapisanymi w identyczny sposób jak poprzednio. Poprzedni przykład może być zapisany w następujący sposób:
Przykład: zmiana atrybutu Title
$remarr = array("Title" => "en:Books");
$addarr = array("Title" => "en:Articles");
$hw_modifyobject($connect, $objid, $remarr, $addarr);

lub
Przykład: zmiana atrybutu Title
$remarr = array("Title" => array("en" => "Books"));
$addarr = array("Title" => array("en" => "Articles", "ge"=>"Artikel");
$hw_modifyobject($connect, $objid, $remarr, $addarr);

W przykładzie tym zostanie usunięty angielski tytuł Books i dodany tytuł angielski Articles i niemiecki Artikel.
Przykład: usuwanie atrybutu
$remarr = array("Title" => "");
$addarr = array("Title" => "en:Articles");
$hw_modifyobject($connect, $objid, $remarr, $addarr);

Uwaga
Wykonanie poprzedniego przykładu spowoduje usunięcie wszystkich atrybutów o nazwie Title i dodanie nowego atrybutu Title. Jest to wygodne, jeżeli chcesz usuwać atrybuty w sposób rekurencyjny. Jeżeli chcesz usunąć wszystkie atrybuty o zadanej nazwie, musisz przekazać pusty ciąg jako wartość atrybutu. Jedynie atrybuty Title, Description i Keyword prawidłowo obsługują prefiksy języków. Jeżeli atrybut nie posiada prefiksu języka, użyty zostanie prefiks xx. Atrybut Name ma specjalne znaczenie; w niektórych przypadkach nie jest możliwe jego całkowite usunięcie. Otrzymasz wtedy komunikat błędu Change of base attribute (nie jest jasna przyczyna tego błędu). Dlatego zawsze musisz dodawać nowy atrybut Name przed usunięciem starego.
Uwaga
Nie musisz otaczać wywołania tej funkcji wywołaniami hw_getandlock() i hw_unlock(). Funkcja hw_modifyobject() robi to samodzielnie. Zwraca True w przypadku pomyślnego wykonania i False w przypadku błędu.

Przenosi obiekt o identyfikatorze podanym w drugim parametrze z kolekcji i identyfikatorze $source do kolekcji o identyfikatorze $destination. Jeżeli identyfikator kolekcji docelowej wynosi 0, obiekt jest usuwany ze źródłowej kolekcji. Jeżeli jest to ostatni egzemplarz obiektu, zostanie on usunięty. Jeżeli chcesz usunąć wszystkie wystąpienia za pomocą jednego wywołania, należy użyć funkcji hw_deleteobject(). Zwracana wartość jest ilością przeniesionych obiektów. Patrz również: hw_cp() i hw_deleteobject().
int hw_Mv( int connection, array object_id_array, int souce_id, int destination_id )
hw_New_Document
Zwraca nowy dokument Hyperwave. Zawartość dokumentu jest przekazana w parametrze $document_data, natomiast rekord obiektu w $object_record. Wielkość danych musi być przekazana w parametrze $document_size. Funkcja ta nie wstawia dokumentu do serwera Hyperwave. Patrz również: hw_FreeDocument(), hw_Document_Size(), hw_Document_BodyTag(), hw_Output_Document() i hw_InsertDocument().
int hw_new_document (string object_record, string document_data, int document_size)
hw_Objrec2Array
Konwertuje $object_record na tablicę obiektów. Kluczami wynikowej tablicy są nazwy atrybutów. Atrybuty wielowartościowe, takie jak Title, w różnych językach tworzą własne tablice. Kluczami w tych tablicach części stojące z lewej strony dwukropka. Część ta musi mieć dwa znaki. Inne wartości wielowartościowe nie posiadające prefiksów tworzą indeksowaną tablicę. Jeżeli nie podany został parametr opcjonalny, atrybuty Title, Description i Keyword są traktowane jako atrybuty języka,, natomiast atrybuty Group, Parent i HtmlAttr są traktowane jako wartości wielowartościowe bez prefiksu. Przekazując tablice zawierająca typy każdego z argumentów można zmienić to zachowanie. Tablica jest tablicą asocjacyjną z nazwą atrybutu jako klucze i wartościami będącymi jedną z wartości HW_ATTR_LANG lub HW_ATTR_NONE. Patrz również: hw_array2objrec().
array hw_objrec2array (string object_record [, array format])
hw_Output_Document
Drukuje dokument bez znacznika BODY. Dla zgodności z poprzednimi wersjami można użyć nazwy hw_OutputDocument(), ale jest to postać przestarzała.
int hw_output_document (int hw_document)
hw_pConnect
W przypadku powodzenia zwraca numer połączenia, lub False w przypadku, gdy połączenie nie może być wykonane. Otwiera trwałe połączenie do serwera Hyperwave. Każdy z argumentów oprócz numeru portu, powinien być ciągiem znaków. Argumenty $username i $password są opcjonalne. W takim przypadku nie jest wykonywana autoryzacja na serwerze. Jest to zbliżone do korzystania z konta gościa. Funkcja zwraca numer połączenia, który jest przekazywany do wszystkich funkcji Hyperwave. Można mieć kilka jednocześnie otwartych trwałych połączeń. Patrz również: hw_Connect().
int hw_pconnect (string host, int port, string username, string password)
hw_PipeDocument
Zwraca dokument Hyperwave o identyfikatorze obiektu $objectID. Jeżeli dokument posiada możliwe do wstawienia zakotwiczenia, zostaną one wstawione. Dokument zostanie przesłany poprzez połączenie specjalne, które nie blokuje połączenia sterującego. Patrz również: hw_GetText(). Więcej informacji na temat wstawiania łączy znajduje się w opisie funkcji hw_FreeDocument(), hw_Document_Size(), hw_Document_BodyTag() i hw_Output_Document().
int hw_pipedocument (int connection, int objectID)
hw_Root
Zwraca identyfikator obiektu kolekcji korzenia; w chwili obecnej posiada ona wartość 0. Kolekcja potomna tej kolekcji jest główną kolekcją serwera.
int hw_root ()
hw_Unlock
Odblokowuje dokument, więc użytkownicy mają nów do niego dostęp. Patrz również: hw_GetAndLock().
int hw_unlock (int connection, int objectID)
hw_Who
Zwraca tablicę z użytkownikami obecnie zalogowanymi na serwerze Hyperwave. Każda pozycja jest kolejna tablica, zawierającą atrybuty: identyfikator elementu, nazwa, system, pola onSinceDate, onSinceTime, TotalTime, oraz self. Wartością self jest 1 jeżeli pozycja należy do użytkownika inicjującego żądanie.
int hw_who (int connection)
ibase_close
Zamyka połączenie z bazą danych InterBase identyfikowane przez identyfikator połączenia zwracany przez funkcję ibase_connect(). Jeżeli identyfikator połączenia jest pominięty, funkcja działa na ostatnio otwartym połączeniu. Domyślna transakcja w tym połączeniu jest zatwierdzana, natomiast pozostałe transakcje są wycofywane. int ibase_close ([int connection_id])
ibase_connect
Nawiązuje połączenie z serwerem InterBase. Argument $database musi być ścieżką do pliku bazy danych na serwerze. Jeżeli serwer nie jest serwerem lokalnym, musi być poprzedzony albo ciągiem hostname: (TCP/IP), //hostname (NetBEUI) lub hostname@ (IPX/SPX) w zależności od protokołu używanego w tym połączeniu. Parametry $username i $password mogą być pobierane w dyrektywach konfiguracji ibase.default_user i ibase.default_password. Parametr $charset jest domyślnym zestawem znaków dla bazy danych. Parametr $buffers określa ilość buforów bazy danych zakładanych na serwerze. Jeżeli podane zostanie 0 lub parametr zostanie opuszczony, serwer zakłada domyślną dla siebie ilość buforów. Parametr $dialect wybiera domyślny dialekt SQL obowiązujący dla wszystkich wyrażeń wykonywanych poprzez bieżące połączenie. Wartością domyślną jest najwyższy dialekt obsługiwany przez biblioteki klienta. Jeżeli ibase_connect() jest wywoływany po raz drugi z tymi samymi parametrami, nie jest tworzone nowe połączenie. Zamiast tego zwracany jest identyfikator istniejącego połączenia. Połączenie z serwerem jest zamykane natychmiast po zakończeniu wykonywania skryptu, chyba, że wcześniej została wywołana funkcja ibase_close().
int ibase_connect(string database [, string username [, string password [, string charset [, int buffers [, int dialect [, string role]]]]]])
Przykład: ibase_connect()
< ?php
$dbh = ibase_connect ($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query ($dbh, $stmt);
while ($row = ibase_fetch_object ($sth))
{ print $row->email . "\n";
} ibase_close ($dbh);
? >

Uwaga
Parametry $buffers i $dialect zostały dodane w PHP4-RC2. Działają one jedynie z serwerem InterBase 6 i nowszymi od niego. Parametr $role działa jedynie z InterBase 5 i wyższymi. Patrz również: ibase_pconnect().
ibase_execute
Wykonuje zapytanie przygotowane za pomocą ibase_prepare(). W przypadku, gdy to samo zapytanie jest powtarzane dla różnych parametrów, jest to o wiele bardziej efektywne niż wykorzystanie ibase_query().
int ibase_execute (int query [, int bind_args])
Przykład: ibase_execute()
< ?php
$updates = array(
1 => 'Eric',
5 => 'Filip',
7 => 'Larry'
);
$query = ibase_prepare("UPDATE FOO SET BAR = ? WHERE BAZ = ?");
while (list($baz, $bar) = each($updates)) {
ibase_execute($query, $bar, $baz);
}
? >

ibase_fetch_object
Pobiera wiersz w postaci pseudoobiektu korzystając z $result_id zwróconego przez ibase_query() lub ibase_execute().
object ibase_fetch_object (int result_id)
Przykład: ibase_fetch_object()
< ?php
$dbh = ibase_connect ($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query ($dbh, $stmt);
while ($row = ibase_fetch_object ($sth)) {
print $row->email . "\n";
}
ibase_close ($dbh);
? >

Patrz również: ibase_fetch_row().
ibase_fetch_row Zwraca kolejny wiersz korzystając z identyfikatora wyniku zwracanego przez funkcję ibase_query().
B>array ibase_fetch_row (int result_identifier)
ibase_free_query
Zwalnia zapytanie przygotowane przez ibase_prepare().
int ibase_free_query (int query)
ibase_free_result
Zwalania wynik tworzony przez ibase_query().
int ibase_free_result (int result_identifier)
ibase_num_fields
Zwraca liczbę określającą ilość pól w wyniku zapytania. Patrz również ibase_field_info(). Uwaga
Funkcja ibase_num_fields() nie działa jeszcze w PHP 4.
Przykład: ibase_num_fields()
< ?php
$dbh = ibase_connect ($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query ($dbh, $stmt);
if (ibase_num_fields($sth) > 0) {
while ($row = ibase_fetch_object ($sth)) {
print $row->email . "\n";
}
} else {
die ("No Results were found for your query");
}
ibase_close ($dbh);
? >

ibase_pconnect
Działa bardzo podobnie do ibase_connect() z dwiema poważnymi różnicami. Po pierwsze, w czasie dołączania do serwera funkcja próbuje odszukać istniejące (trwałe) połączenie otwarte z tym samym zestawem argumentów. Jeżeli zostanie znalezione takie połączenie, jego identyfikator jest zwracany i nie jest tworzone nowe połączenie. Po drugie, Połączenie do serwera InterBase nie jest zamykane po zakończeniu wykonywania skryptu. Połączenie pozostaje otwarte do wykorzystania w przyszłości (ibase_close() nie zamyka połączeń utworzonych przez ibase_pconnect()). Połączenie takie nazywane jest z tego powodu połączeniem trwałym. Opis parametrów przekazywanych do funkcji jest zamieszczony przy opisie funkcji ibase_connect(); są one identyczne. int ibase_pconnect(string database [, string username [, string password [, string charset [, int buffers [, int dialect [, string role]]]]]])
ibase_prepare
Przygotowuje zapytanie dodając obsługę parametrów dołączanych później za pomocą funkcji ibase_execute().
int ibase_prepare ([int link_identifier, string query])
ibase_query
Wykonuje zapytanie na basie danych InterBase i zwraca identyfikator wyniku wykorzystywany w funkcjach ibase_fetch_row(), ibase_fetch_object(), ibase_free_result() i ibase_free_query(). Mimo, że funkcja ta obsługuje dołączanie zmiennych do parametrów, używanie tego udogodnienia w tej właśnie funkcji nie ma wielkiego sensu. Przykład użycia funkcji jest umieszczony przy opisie funkcji ibase_prepare() i ibase_execute().
int ibase_query ([int link_identifier, string query [, int bind_args]])
ibase_timefmt
Ustala format znacznika czasu, daty i czasu dla kolumn tych typów zwracanych zapytaniach. Wewnętrznie kolumny są formatowane przez funkcję C strftime(), więc wszelkie szczegóły na temat ciągu formatującego znajdują się w jej dokumentacji. Parametr $columntype jest jedną ze stałych IBASE_TIMESTAMP, IBASE_DATE i IBASE_TIME. Jeżeli zostanie ion opuszczony, przyjmowana jest wartość IBASE_TIMESTAMP w celu zapewnienia zgodności z poprzednimi wersjami. int ibase_timefmt (string format [, int columntype])
Przykład: ibase_timefmt()
< ?php
// kolumny InterBase 6 typu TIME będą zwracane w postaci
// '05 godzin 37 minut'.
ibase_timefmt("%H godzin %M minut", IBASE_TIME);
? >

Można również ustawić domyślny format za pomocą dyrektyw konfiguracji PHP ibase.timestampformat, ibase.dateformat i ibase.timeformat. Parametr $columntype został dodany w PHP 4.0. Ma on znaczenie jedynie w wersjach InterBase 6 i wyższych.
Uwaga
W PHP 4.0 wprowadzono zmianę, która powodowała niezgodność z poprzednimi wersjami, zmieniając nazwę dyrektywy konfiguracji ibase.timeformat na ibase.timestampformat oraz dodane zostały dyrektywy ibase.dateformat i ibase.timeformat w celu ulepszenia działania funkcji.
icap_close
Zamyka podany strumień icap.
int icap_close (int icap_stream [, int flags])
icap_delete_event
Usuwa zdarzenie z kalendarza o identyfikatorze podanym w $uid. Zwraca True.
string icap_delete_event (int sream_id, int uid)
icap_fetch_event
Pobiera zdarzenie określone przez $event_id ze strumienia kalendarza.
int icap_fetch_event (int stream_id, int event_id [, int options])
Zwraca obiekt zdarzenia zawierający następujące atrybuty:
- int id - Identyfikator zdarzenia.
- int public - True jeżeli zdarzenie jest publiczne lub False, gdy jest prywatne.
- string category - Ciąg zawierający kategorię zdarzenia.
- string title - Ciąg zawierający tytuł zdarzenia.
- string description - Ciąg z opisem zdarzenia .
- int alarm - Ilość minut przed zdarzeniem gdy wysyłane jest powiadomienie lub alarm.
- object start - Obiekt zawierający datę i czas.
- object end - Obiekt zawierający datę i czas.
Wszystkie pozycje daty i czasu zawierają następujące atrybuty:
- int year - rok
- int month - miesiąc
- int mday - dzień miesiąca
- int hour - godzina
- int min - minuty
- int sec - sekundy
icap_list_alarms
Zwraca tablicę z identyfikatorami zdarzeń które wyślą alarm o podanej godzinie. Funkcja icap_list_alarms() wymaga podania daty i czasu oraz strumienia kalendarza. Zwracana jest tablica identyfikatorów zdarzeń z aktywnym alarmem o podanej godzinie.
int icap_list_alarms (int stream_id, array date, array time)
Wszystkie pozycje z datą i czasem zawierają następujące atrybuty:
- int year - rok
- int month - miesiąc
- int mday - dzień miesiąca
- int hour - godzina
- int min - minuty
- int sec - sekundy
icap_list_events
Zwraca tablicę identyfikatorów zdarzeń pomiędzy dwiema datami. Funkcja icap_list_events() pobiera ze strumienia identyfikatory zdarzeń pomiędzy data początkową i końcową. Zwracana jest tablica identyfikatorów zdarzeń pomiędzy podanymi datami. array icap_list_events (int stream_id, int begin_date [, int end_date])
Wszystkie pozycje z datą i czasem zawierają następujące atrybuty:
- int year - rok
- int month - miesiąc
- int mday - dzień miesiąca
- int hour - godzina
- int min - minuty
- int sec - sekundy
icap_open
W przypadku powodzenia zwraca strumień ICAP, natomiast w przypadku wystąpienia błędu, False. Funkcja icap_open() otwiera połączenie ICAP do podanego w $calendar magazynu. Jeżeli podany jest parametr opcjonalny $options, jest on również przekazany do otwieranej skrzynki pocztowej.
stream icap_open (string calendar, string username, string password, string options)
icap_snooze
Włącza alarm dla zdarzenia kalendarza określonego przez $uid. Zwraca True.
string icap_snooze (int stream_id, int uid)
icap_store_event
Zapisuje zdarzenie w kalendarzu ICAP.
string icap_store_event (int stream_id, object event)
Obiekt zdarzenia zawiera następujące atrybuty:
- int id - Identyfikator zdarzenia.
- int public - 1 jeżeli zdarzenie jest publiczne lub 0, gdy jest prywatne.
- string category - Ciąg zawierający kategorię zdarzenia.
- string title - Ciąg zawierający tytuł zdarzenia.
- string description - Ciąg z opisem zdarzenia .
- int alarm - Ilość minut przed zdarzeniem gdy wysyłane jest powiadomienie lub alarm.
- object start - Obiekt zawierający datę i czas.
- object end - Obiekt zawierający datę i czas.
Wszystkie pozycje daty i czasu zawierają następujące atrybuty:
- int year - rok
- int month - miesiąc
- int mday - dzień miesiąca
- int hour - godzina
- int min - minuty
- int sec - sekundy
Zwraca True w przypadku powodzenia operacji lub False w przypadku błędu.
ifxus_close_slob
Usuwa obiekt slob dla podanego w $bid identyfikatora obiektu slob. Zwraca False w przypadku wystąpienia błędu, True w przypadku powodzenia operacji.
int ifxus_close_slob (int bid)
ifxus_create_slob
Tworzy obiekt slob i otwiera go. Tryby: 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER. Można również użyć stałych o nazwach IFX_LO_RDONLY, IFX_LO_WRONLY itd. Zwraca False w przypadku wystąpienia błędu a w przypadku powodzenia, identyfikator obiektu slob.
ifxus_free_slob
Usuwa obiekt slob. Parametr $bid jest identyfikatorem obiektu slob. Zwraca False w przypadku wystąpienia błędu i True w przeciwnym wypadku.
int ifxus_free_slob (int bid)
ifxus_open_slob
Otwiera obiekt slob. Parametr $bid powinien być identyfikatorem istniejącego obiektu. Tryby: 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER. Zwraca False w przypadku wystąpienia błędu a w przeciwnym wypadku identyfikator nowego obiektu slob.
int ifxus_open_slob (long bid, int mode)
ifxus_read_slob
Czyta n bajtów z obiektu slob. Parametr $bid jest identyfikatorem istniejącego obiektu slob, natomiast $nbytes jest ilością bajtów do przeczytania. Zwraca False w przypadku wystąpienia błędu a w przeciwnym wypadku zwraca ciąg.
int ifxus_read_slob (long bid, long nbytes)
ifxus_seek_slob
Ustawia bieżący plik lub wyszukuje pozycję w otwartym obiekcie slob. Parametr $bid powinien być identyfikatorem istniejącego obiektu slob. Tryby: 0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END natomiast $offset jest przesunięciem w bajtach. Zwraca False w przypadku wystąpienia błędu a w przeciwnym wypadku pozycję w pliku.
int ifxus_seek_slob (long bid, int mode, long offset)
ifxus_tell_slob
Zwraca bieżącą pozycję w pliku lub przesunięcie w otwartym obiekcie slob. Parametr $bid powinien być identyfikatorem istniejącego obiektu slob. Zwraca False w przypadku wystąpienia błędu a w przeciwnym wypadku pozycję w pliku.
int ifxus_tell_slob (long bid) ifxus_write_slob
Zapisuje zawartość ciągu do obiektu slob. Parametr $bid musi być identyfikatorem obiektu slob, natomiast $content zawiera dane do zapisania. Zwraca False w przypadku wystąpienia błędu, w przeciwnym przypadku ilość zapisanych bajtów.
int ifxus_write_slob (long bid, string content)
ifx_affected_rows
Parametr $result_id powinien być identyfikatorem wyniku zwracanym przez funkcję ifx_query() lub ifx_prepare(). Zwraca ilość wierszy zmienionych przez zapytanie związane z $result_id. W przypadku operacji wstawienia, zamiany lub usunięcia, ilość ta jest prawdziwą liczbą operacji (sqlerrd[2]). W przypadku operacji SELECT nie jest dokładną liczbą zwracanych wierszy, a jedynie oszacowaniem (sqlerrd[0]). Serwer bazy danych może nigdy nie zwrócić ilości wierszy zwracanych przez operację SELECT w tej fazie operacji (zaraz po operacji PREPARE, po ustaleniu planu wykonania przez optymalizator), ponieważ nie rozpoczął on odczytywania zwracanych wierszy. Jest to użyteczna funkcja do ograniczania zapytań do takich, które zwracają rozsądną ilość wierszy po przygotowaniu zapytania przez ifx_prepare(). Patrz również: ifx_num_rows().
int ifx_affected_rows (int result_id)
Przykład: wykorzystanie funkcji serwera Informix ifx_affected_rows()
$rid = ifx_prepare ("select * from emp
where name like " . $name, $connid);
if (! $rid) {
... błąd ...
}
$rowcount = ifx_affected_rows ($rid);
if ($rowcount > 1000) {
printf ("Zapytanie zwraca zbyt dużo wierszy: (%d)\n
", $rowcount);
die ("Proszę ograniczyć zapytanie< br >\n");
}

ifx_blobinfile_mode
Ustawia domyślny tryb przechowywania obiektów blob w zapytaniach SELECT. Tryb 0 oznacza przechowywanie blobów w pamięci, natomiast 1, przechowywanie ich w pliku. void ifx_blobinfile_mode (int mode) ifx_byteasvarchar Ustawia domyślny tryb zapytaniach SELECT. Tryb 0 powoduje zwracanie identyfikatora blob, natomiast 1, zwracanie pola varchar z danymi tekstowymi.
void ifx_byteasvarchar (int mode)
ifx_close
Zawsze zwraca True. Funkcja ifx_close() powoduje zamknięcie połączenia z bazą danych Informix, skojarzoną z podanym identyfikatorem połączenia. Jeżeli nie został podany identyfikator połączenia, zamykane jest ostatnio otwarte połączenie.
Uwaga
nie jest to operacja niezbędna, ponieważ nietrwałe połączenia są zamykane automatycznie po zakończeniu wykonywania skryptu. Funkcja ifx_close() nie zamyka połączeń trwałych generowanych przez ifx_pconnect(). Patrz również: ifx_connect() i ifx_pconnect().
int ifx_close ([int link_identifier])
Przykład: Zamykanie połączenia z bazą danych Informix
$conn_id = ifx_connect ("mydb@ol_srv", "itsme", "mypassword");
... potrzebne zapytania ...
ifx_close($conn_id);

ifx_connect
Zwraca identyfikator połączenia lub false w przypadku wystąpienia błędu. Funkcja ifx_connect() nawiązuje połączenie z serwerem Informix. Wszystkie argumenty są opcjonalne i w przypadku opuszczenia któregoś z nich, z pliku konfiguracyjnego pobierane są wartości domyślne, ifx.default_host zawiera nazwę serwera biblioteki Informixa korzystają ze zmiennej środowiskowej INFORMIXSERVER), ifx.default_user zawiera nazwę użytkownika a ifx.default_password zawiera domyślne hasło (jeżeli nie jest zdefiniowana to bez hasła). Jeżeli drugi raz wywołano funkcję ifx_connect() z tymi samymi argumentami, nie jest nawiązywane nowe połączenie. Zamiast tego zwracany jest identyfikator istniejącego połączenia. Połączenie nie jest zamykane po zakończeniu wykonywania skryptu lub po wywołaniu funkcji ifx_close(). Patrz również: ifx_pconnect() i ifx_close().
int ifx_connect (string [database], string [userid], string [password])
Przykład: Podłączenie do bazy Informix
$conn_id = ifx_connect ("mydb@ol_srv", "itsme", "mypassword");
ifx_copy_blob

Tworzy kopię podanego obiektu blob. Parametr $bid jest identyfikatorem obiektu blob. Zwraca False w przypadku błędu, a w przeciwnym wypadku identyfikator nowego obiektu blob.
int ifx_copy_blob (int bid)
ifx_create_blob
Tworzy obiekt blob. Zwraca False w przypadku błędu, a w przeciwnym wypadku identyfikator nowego obiektu blob.
int ifx_create_blob (int type, int mode, string param)
- Parametr $type: 1 = TEXT, 0 = BYTE
- Parametr $mode: 0 = obiekt blob jest przechowywany w pamięci, 1 = obiekt blob jest przechowywany w pliku.
- Parametr $param: Jeżeli tryb=0 jest to wskaźnik na zawartość, jeżeli tryb=1, wskaźnik na strumień pliku.
ifx_create_char
Tworzy obiekt znakowy. Parametr $param powinien zawierać zawartość obiektu.
int ifx_create_char (string param)
ifx_do
Zwraca True gdy operacja się powiodła i False w przypadku błędu. Wykonuje uprzednio przygotowane zapytanie i otwiera dla niego kursor. W przypadku wystąpienia błędu nie zwalnia $result_id. Dla zapytań innych od SELECT ustawia również właściwą liczbę zmienionych wierszy, którą można odczytać za pomocą ifx_affected_rows(). Patrz również ifx_prepare().
int ifx_do (int result_id)
ifx_error
Kody błędów serwera Informix (SQLSTATE i SQLCODE) są formatowane następująco:
x [SQLSTATE = aa bbb SQLCODE=cccc]
Gdy x jest spacją, oznacza to brak błędu.
E - błąd
N - koniec danych
W - ostrzeżenie
? - niezdefiniowany
string ifx_error (void)
Jeżeli znak x jest czymkolwiek poza spacją, SQLSTATE i SQLCODE dokładniej opisują błąd. Opis SQLSTATE i SQLCODE można znaleźć w podręczniku do serwera Informix. Zwraca jeden znak określający wynik wyrażenia oraz zarówno wartość SQLSTATE jak i SQLCODE związane z ostatnio wykonywanym wyrażeniem SQL. Format tego ciągu jest następujący: (znak) [SQLSTATE=(dwa znaki) (trzy znaki) SQLCODE=(jeden znak)]. Pierwszym znakiem może być spacja (sukces), W (wyrażenie wygenerowało ostrzeżenia), E (zdarzył się błąd w czasie wykonywania wyrażenia) lub N (wyrażenie nie zwróciło żadnych danych). Patrz również: ifx_errormsg().
ifx_erormsg
Zwraca komunikat serwera Informix opisujący ostatni błąd w serwerze lub gdy podano wartość opcjonalnego parametru $errorcode, komunikat związany z podanym numerem błędu. Patrz również: idx_error().
string ifx_errormsg ([int errorcode])
Przykład: ifx_errormsg()
printf("%s\n
", ifx_errormsg(-201));

ifx_fetch_row
Zwraca tablicę asocjacyjną zawierająca odczytany wiersz, lub False jeżeli nie ma następnego wiersza. Kolumny blob są zwracane w postaci numerycznych identyfikatorów blob, które można użyć w funkcji ifx_get_blob(), lub jeżeli zostały wywołane funkcje ifx_textasvarchar(1) lub ifx_byteasvarchar(1), pola blob są zwracane w postaci ciągów znaków. W przypadku wystąpienia błędu zwraca False. Parametr $result_id musi być prawidłowym identyfikatorem wyniku zwracanym przez ifx_query() lub ifx_prepare() (tylko dla zapytań SELECT). Opcjonalny parametr $position wskazuje na rodzaj operacji na kursorze. Może być to NEXT, PREVIOUS, CURRENT, FIRST, LAST lub liczba. Jeżeli podana zostanie liczba, odczytywany jest wiersz o podanym numerze. Jest to parametr opcjonalny stosowany tylko dla kursorów typu SCROLL.
array ifx_fetch_row (int result_id [, mixed position])
Funkcja ifx_fetch_row() odczytuje jeden wiersz danych z wyniku związanego z podanym identyfikatorem wyniku. Wiersz jest zwracany w postaci tablicy. Każda kolumna wyniku jest przechowywana w osobnej komórce tablicy, której kluczem jest nazwa kolumny. Kolejne wywołania ifx_fetch_row() zwracają kolejne wiersze wyniku lub False, gdy nie ma już kolejnych wierszy. Przykład: Odczyt wierszy wyniku
$rid = ifx_prepare ("select * from emp where name like " . $name, $connid, IFX_SCROLL);
if (! $rid) {
... error ...
}
$rowcount = ifx_affected_rows($rid);
if ($rowcount > 1000) {
printf ("Zapytanie zwraca zbyt dużo wierszy: (%d)\n< br >", $rowcount);
die ("Proszę ograniczyć zapytanie< br >\n");
}}
if (! ifx_do ($rid)) {
... error ...
}
$row = ifx_fetch_row ($rid, "NEXT");
while (is_array($row)) {
for(reset($row); $fieldname=key($row); next($row)) {
$fieldvalue = $row[$fieldname];
printf ("%s = %s,", $fieldname, $fieldvalue);
}
printf("\n< br >");
$row = ifx_fetch_row ($rid, "NEXT");

ifx_free_result ($rid); }

ifx_fieldproperties
Zwraca tablicę asocjacyjną z nazwami pól jako kluczami i właściwościami pól SQL dla wyniku zapytania określonego przez $result_id, jako danymi. W przypadku wystąpienia błędu zwraca False. Zwraca właściwości SQL serwera Informix w postaci tablicy asocjacyjnej, dla każdego pola zwracanego przez zapytanie. Właściwości te są zapisywane jako SQLTYPE:długość:dokładność:skala:ISNULLABLE, gdzie SQLTYPE jest typem Informixa, np.: SQLVCHAR, natomiast ISNULLABLE może mieć wartość Y lub N.
array ifx_fieldproperties (int result_id)
Przykład: właściwości pól SQL serwera Informix
$properties = ifx_fieldproperties ($resultid);
if (! isset($properties)) {
... błąd ...
}
for ($i = 0; $i < count($properties); $i++) {
$fname = key ($properties);
printf ("%s:\t typ = %s\n", $fname, $properties[$fname]);
next ($properties);
}

ifx_fieldtypes
Dla wyniku zapytania o identyfikatorze $result_id zwraca tablicę asocjacyjną z nazwami pól jako kluczami i typami pól SQL jako danymi. W przypadku wystąpienia błędu zwraca False.
array ifx_fieldtypes (int result_id)
Przykład: Nazwy i typy pól SQL
types = ifx_fieldtypes ($resultid);
if (! isset ($types)) {
... błąd ...
}
for ($i = 0; $i < count($types); $i++) {
$fname = key($types);
printf("%s :\t typ = %s\n", $fname, $types[$fname]);
next($types);
}

ifx_free_blob
Usuwa obiekt blob o podanym identyfikatorze $bid. W przypadku wystąpienia błędu zwraca False, w przeciwnym wypadku True.
int ifx_free_blob (int bid)
ifx_free_char
Usuwa obiekt znakowy o podanym identyfikatorze $bid. W przypadku wystąpienia błędu zwraca False, w przeciwnym wypadku True.
int ifx_free_char (int bid)
ifx_free_result
Dla identyfikatora wyniku $result_id zwalnia zasoby przydzielone dla zapytania. W przypadku wystąpienia błędu zwraca False.
int ifx_free_result (int bid)
ifx_getsqlca
Zwraca pseudo-wiersz (tablicę asocjacyjną) z wartościami sqlca.sqlerrd[0] ... sqlca.sqlerrd[5] po skojarzeniu zapytania z $result_id. Parametr $result_id musi być prawidłowym identyfikatorem wyniku zwracanym przez ifx_query() lub ifx_prepare().
array ifx_getsqlca (int result_id)
Dla zapytań INSERT, UPDATE i DELETE zwracane wartości są ustawiane przez serwer po wykonaniu zapytania. Pozwala to odczytać ilość wierszy zmienionych przez zapytanie oraz numer kolejny wstawionego wiersza. W przypadku wyrażeń SELECT, wartości te są ustawiane po wykonaniu operacji PREPARE. Pozwala to na odczytanie przewidywanej ilości wierszy wyniku. Wykorzystanie tej funkcji pozwala na zmniejszenei narzutu czasowego na wykonanie zapytania select dbinfo('sqlca.sqlerrdx') i odczytanie wartości zapisanych w odpowiednim momencie przez sterownik bazy Informix. Przykład: Odczytywanie wartości sqlca.sqlerrd[x]
/* zakładamy, że pierwsza kolumna 'sometable' jest numerem seryjnym rekordu */
$qid = ifx_query("insert into sometable
values (0, '2nd column', 'another column') ", $connid);
if (! $qid) {
... błąd ...
}
$sqlca = ifx_getsqlca ($qid);
$serial_value = $sqlca["sqlerrd1"];
echo "Numer seryjny wstawionego wiersza wynosi: " . $serial_value
\n";

ifx_get_blobb
Zwraca zawartość obiektu blob o podanym identyfikatorze obiektu $bid.
int ifx_get_blob (int bid)
ifx_get_char
Zwraca zawartość obiektu znakowego o podanym identyfikatorze obiektu $bid.
int ifx_get_char (int bid)
ifx_htmltbl_result
Zwraca ilość odczytanych wierszy, lub False w przypadku wystąpienia błędu. Formatuje wiersze wyniku o identyfikatorze $result_id do postaci tabeli HTML. Drugim opcjonalnym parametrem funkcji jest ciąg atrybutów znacznika < TABLE >.
int ifx_htmltbl_result (int result_id [, string html_table_options])
ifx_nullformat
Ustawia domyślną wartość wartości NULL po odczytaniu wiersza. Tryb 0 powoduje zwracanie "" a tryb 1 zwracanie "NULL".
void ifx_nullformat (int mode)
ifx_num_fields
Zwraca ilość kolumn zapytania o identyfikatorze $result_id lub False w przypadku wystąpienia błędu. Po przygotowaniu lub wykonaniu zapytania wywołanie to pozwala na odczytanie ilości kolumn w zapytaniu.
int ifx_num_fields (int result_id)
ifx_num_rows
Zwraca ilość wierszy odczytanych do tej pory z wyniku zapytania $result_id, po wykonaniu ifx_query() lub ifx_do().
int ifx_num_rows (int result_id)
ifx_pconnect
Zwraca dodatni identyfikator trwałego połączenia do serwera Informix lub False w przypadku wystąpienia błędu. Funkcja ifx_pconnect() działa bardzo podobnie do ifx_connect() z dwoma wyjątkami. Funkcja działa identycznie jak ifx_connect(), jeżeli PHP nie działa jako moduł Apache. Po pierwsze, w czasie połączenia funkcja próbuje znaleźć łącze (trwałe) otwarte do tego samego serwera z identycznym użytkownikiem i hasłem. Jeżeli zostanie znalezione takie połączenie, zamiast otwierania nowego połączenia, zwracany jest identyfikator istniejącego połączenia. Po drugie, połączenie z serwerem SQL nie jest zamykane po zakończeniu wykonywania skryptu. Zamiast tego łącze pozostanie otwarte do wykorzystania w przyszłości (ifx_close() nie zamyka łączy zestawionych za pomocą ifx_pconnect()). Z tego powodu ten typ łącza nazywany jest trwałym. Patrz również: ifx_connect().
int ifx_pconnect ([string database [, string userid [, string password]]])
ifx_query
Zwraca identyfikator wyniku lub w przypadku wystąpienia błędu wartość False. Identyfikator ten jest używany przez inne funkcje do pobrania wyników działania zapytania. Ustawia jest wartość określająca ilość wierszy zwracanych przez zapytanie, którą można odczytać przez wywołanie ifx_affected_rows(). Funkcja ifx_query() wysyła zapytanie do bazy danych określanej przez podany identyfikator połączenia. Jeżeli nie zostanie podany identyfikator połączenia, operacja jest wykonywana na ostatnio otwartym połączeniu. Jeżeli nie istnieje otwarte połączenie, funkcja próbuje je ustanowić, identycznie jak funkcja ifx_connect() i następnie wykorzystuje to połączenie. Wykonuje zapytanie $query na połączeniu $conn_id. W przypadku zapytań SELECT deklarowany i otwierany jest kursor. Opcjonalny parametr $cursor_type pozwala na utworzenie kursora typu SCROLL lub (oraz) HOLD. Jest to maska bitowa, która może przyjmować wartości IFX_SCROLL, IFX_HOLD lub jednocześnie obie wartości. Zapytania inne niż SELECT wykonywane są w trybie natychmiastowym. IFX_SCROLL i IFX_HOLD są stałymi symbolicznymi i nie należy ich zapisywać w apostrofach. Jeżeli nie podasz tego parametru, otwierany jest zwykły kursor sekwencyjny. Dla dowolnego typu zapytania zapamiętywana jest ilość wierszy będących wynikiem zapytania (rzeczywista lub szacowana), którą można odczytać za pomocą funkcji ifx_affected_rows().
int ifx_query (string query [, int link_identifier [, int cursor_type, mixed [blobidarray]]])
Jeżeli w zapytaniu UPDATE występuje kolumna BLOB (BYTE lub TEXT), można dodać parametr $blobidarray, zawierający odpowiednie identyfikatory blob, i powinieneś zamienić te kolumny znakiem ? w tekście zapytania. Jeżeli zawartość kolumny TEXT (lub BYTE) pozwala na to, można wywołać funkcje ifx_textasvarchar(1) i ifx_byteasvarchar(1). Pozwoli to na traktowanie kolumn TEXT (lub BYTE) w zapytaniach SELECT, tak, jakby była to zwykła (choć długa) kolumna VARCHAR, i nie przejmować się identyfikatorami obiektów blob. Wywołując ifx_textasvarchar(0) i ifx_byteasvarchar(0) (domyślna sytuacja) zapytania SELECT kolumny BLOB będą zwracane jako identyfikatory obiektów blob (wartości numeryczne). Mając taki identyfikator można pobrać zawartość kolumny BLOB za pomocą funkcji obsługujących bloby. Patrz również: ifx_connect(). Przykład: Wyświetlenie wszystkich wierszy tabeli orders jako tabeli html
ifx_textasvarchar(1); // użycie "trybu tekstowego" do blobów
$res_id = ifx_query("select * from orders", $conn_id);
if (! $res_id) {
printf("Nie można wykonać zapytania : %s\n< br >%s< br >\n", ifx_error());
ifx_errormsg();
die;
}
ifx_htmltbl_result($res_id, "border=\"1\"");
ifx_free_result($res_id);

Przykład: Wstawienie kilku wierszy do tabeli catalog
// utworzenie identyfikatorów blobów dla kolunm byte i text
$textid = ifx_create_blob(0, 0, "Kolumna Text w pamięci!");
$byteid = ifx_create_blob(1, 0, "Kolumna Byte w pamięci");
// zapamiętanie identyfikatorów blob w tablicy blobid
$blobidarray[] = $textid;
$blobidarray[] = $byteid;
// wykonanie zapytania
$query = "insert into catalog (stock_num, manu_code, " .
"cat_descr,cat_picture) values(1,'HRO',?,?)";
$res_id = ifx_query($query, $conn_id, $blobidarray);
if (! $res_id) {
… błąd …
}
// zwonienie identyfikatora wyniku
ifx_free_result($res_id);

ifx_textasvarchar
Ustawia domyślny tryb tekstowy dla zapytań SELECT. Tryb 0 powoduje zwracanie identyfikatorów blob, natomiast tryb 1 powoduje zwracanie zawartości jako tekstu.
void ifx_textasvarchar (int mode)
ifx_update_blob
Uaktualnia zawartość obiektu blob dla podanego identyfikatora $bid. Parametr $content jest ciągiem zawierającym nowe dane. Zwraca False w przypadku błędu a w przeciwnym przypadku True.
ifx_update_blob (int bid, string content)
ifx_update_char
Uaktualnia zawartość obiektu znakowego dla podanego identyfikatora $bid. Parametr $content jest ciągiem zawierającym nowe dane. Zwraca False w przypadku błędu a w przeciwnym przypadku True.
ifx_update_char (int bid, string content)
ignore_user_abort
Funkcja ta ustawia znacznik, czy klient może spowodować przerwanie wykonywania skryptu. Zwraca wcześniejsze ustawienie i może być wywołana bez argumentów w celu sprawdzenia bieżącego ustawienia, bez jego zmiany. int ignore_user_abort ([int setting])
ImageArc
Rysuje fragment elipsy o środku o współrzędnych $cx, $cy (lewy górny róg to 0,0) na rysunku reprezentowanym przez $im. Parametry $w i $h określają szerokość i wysokość elipsy, natomiast punkty początkowe i końcowe są określane w stopniach podawanych w argumentach $s i $e.
int ImageArc (int im, int cx, int cy, int w, int h, int s, int e, int col)
ImageChar
Rysuje pierwszy znak w $c na rysunku określonym przez $id. Lewy górny róg litery znajduje się na współrzędnych $x, $y (lewy górny róg to 0,0), kolor to $col. Jeżeli $font jest 1, 2, 3, 4 lub 5, używane są wbudowane czcionki (największa liczba reprezentuje największą czcionkę). Patrz również imageloadfont().
int ImageChar (int im, int font, int x, int y, string c, int col)
ImageCharUp
Rysuje pionowo pierwszy znak w $c na rysunku określonym przez $id. Lewy górny róg litery znajduje się na współrzędnych $x, $y (lewy górny róg to 0,0), kolor to $col. Jeżeli $font jest 1, 2, 3, 4 lub 5, używane są wbudowane czcionki (największa liczba reprezentuje największą czcionkę). Patrz również imageloadfont().
int ImageCharUp (int im, int font, int x, int y, string c, int col)
ImageColorAllocate
Zwraca identyfikator koloru reprezentujący kolor stworzony z podanych składników RGB. Argument $im jest wynikiem funkcji imagecreate(). Funkcja ImageColorAllocate() musi być wywołana do stworzenia każdego koloru, który będzie używany na rysunku $im.
int imagecolorallocate (int im, int red, int green, int blue)
Przykład $white = ImageColorAllocate ($im, 255, 255, 255);
$black = ImageColorAllocate ($im, 0, 0, 0);

ImageColorAt
Zwraca indeks koloru piksela o podanych współrzędnych. Patrz również: ImageColorSet() i ImageColorsForIndex().
int imagecolorat (int im, int x, int y)
ImageColorClosest
Zwraca indeks koloru, w palecie kolorów rysunku, który jest najbliższy podanej wartości RGB. Odległość od żądanego koloru i kolorów istniejących w palecie jest obliczana tak, jakby wartości RGB reprezentowały punkty w przestrzeni trójwymiarowej. Patrz również: ImageColorExact().
int imagecolorclosest (int im, int red, int green, int blue)
ImageColorDeAllocate
Usuwa kolor poprzednio utworzony za pomocą funkcji ImageColorAllocate().
int imagecolordeallocate (int im, int index)
Przykład:
$white = ImageColorAllocate($im, 255, 255, 255);
ImageColorDeAllocate($im, $white);

ImageColorExact
Zwraca indeks podanego koloru w palecie kolorów rysunku. Jeżeli kolor nie występuje w palecie, zwracana jest wartość -1. Patrz również: ImageColorClosest().
int imagecolorexact (int im, int red, int green, int blue)
ImageColorResolve
Funkcja gwarantuje zwrócenie indeksu dla podanego koloru. Będzie to dokładnie identyczny kolor lub najbliższy mu podobny. Patrz również: ImageColorClosest().
int imagecolorresolve (int im, int red, int green, int blue)
ImageColorSet
Ustawia indeks w palecie kolorów na podany kolor. Jest to przydatne do tworzenia efektów wypełniania za pomocą palety, bez potrzeby wykonywania wypełniania. Patrz również: ImageColorAt().
bool imagecolorset (int im, int index, int red, int green, int blue)
ImageColorsForIndex
Zwraca tablicę asocjacyjną z kluczami red, green i blue, które zawierają odpowiednie wartości dla podanego indeksu koloru. Patrz również: ImageColorAt() i ImageColorExact().
array imagecolorsforindex (int im, int index)
ImageColorsTransparent
Ustawia kolor przezroczysty w rysunku $im na $col. Parametr $im jest identyfikatorem zwracanym przez ImageCreate(), natomiast $col jest identyfikatorem koloru zwracanym przez ImageColorAllocate(). Zwracany jest identyfikator nowego (lub bieżącego, jeżeli nie podano nowego koloru) koloru przezroczystego.
int imagecolortransparent (int im [, int col])
ImageCopy
Kopiuje fragment rysunku $src_im do $dst_im, rozpoczynając od współrzędnych $src_x, $src_y o szerokości $src_w i wysokości $src_h. Zdefiniowany fragment jest kopiowany do docelowego rysunku na współrzędne $dst_x i $dst_y.
int ImageCopy (resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h)
ImageCopyResized
Kopiuje prostokątny fragment rysunku do innego rysunku. Parametr $dst_im jest docelowym rysunkiem, natomiast $src_im to identyfikator rysunku źródłowego. Jeżeli współrzędne źródła i celu oraz szerokość i wysokość różnią się, stosowane jest odpowiednie przeskalowanie kopiowanego fragmentu. Współrzędne wskazują na lewy górny róg. Funkcja może być używana do kopiowania obszarów tego samego rysunku (jeżeli $dst_im jest taki sam jak $src_im), ale gdy obszary te nachodzą na siebie, wyniki są nieprzewidywalne.
int ImageCopyResized (resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)
ImageCreate
Zwraca identyfikator rysunku wskazujący na pusty rysunek o rozmiarze $x_size na $y_size.
int imagecreate (int x_size, int y_size)
Przykład: Tworzenie nowego strumienia rysunku GD i tworzenie rysunku. < ?php
header (" Content-type: image/png ");
$im = @ImageCreate (50, 100)
or die ("Nie można zainicjować nowego strumienia rysunku GD");
$background_color = ImageColorAllocate ($im, 255, 255, 255);
$text_color = ImageColorAllocate ($im, 233, 14, 91);
ImageString ($im, 1, 5, 5, "Prosty tekst przykładowy", $text_color);
ImagePng ($im);
? >

ImageCreateFromGif
Zwraca identyfikator rysunku reprezentujący rysunek pobrany z pliku o podanej nazwie. Funkcja ImageCreateFromGif() w przypadku wystąpienia błędu zwraca pusty ciąg. Wyświetla również komunikat błędu, ale niestety jest on wyświetlany w przeglądarce jako nieprawidłowe łącze. Aby ułatwić uruchamianie można zastosować poniższy przykład, który tworzy rysunek GIF z komunikatem błędu.
int ImageCreateFromGif (string filename)
Przykład: Obsługa błędu w czasie tworzenia rysunku (podziękowania dla vic@zymsys.com)
function LoadGif ($imgname) {
$im = @ImageCreateFromGIF ($imgname); /* Próba otwarcia */
if (!$im) { /* Jeżeli się nie udało */
$im = ImageCreate (150, 30); /* Tworzenie pustego rysunku */
$bgc = ImageColorAllocate ($im, 255, 255, 255);
$tc = ImageColorAllocate ($im, 0, 0, 0);
ImageFilledRectangle ($im, 0, 0, 150, 30, $bgc);
/* Wyświetlenie komunikatu błędu */
ImageString($im, 1, 5, 5, "Błąd przy ładowaniu $imgname", $tc);
}
return $im;
}

Uwaga
Ponieważ obsługa GIF została usunięta z biblioteki GD od wersji 1.6 funkcja ta nie jest już dostępna.
ImageCreateFromJPEG
Zwraca identyfikator rysunku reprezentujący rysunek pobrany z pliku o podanej nazwie. Funkcja ImageCreateFromJPEG() w przypadku wystąpienia błędu zwraca pusty ciąg. Wyświetla również komunikat błędu, ale niestety jest on wyświetlany w przeglądarce jako nieprawidłowe łącze. Aby ułatwić uruchamianie można zastosować poniższy przykład, który tworzy rysunek JPEG z komunikatem błędu.
int ImageCreateFromJPEG (string filename)
Przykład: Obsługa błędu w czasie tworzenia rysunku (podziękowania dla vic@zymsys.com)
function LoadJPEG ($imgname) {
$im = @ImageCreateFromJPEG ($imgname); /* Próba otwarcia */
if (!$im) { /* Jeżeli się nie udało */
$im = ImageCreate (150, 30); /* Tworzenie pustego rysunku */
$bgc = ImageColorAllocate ($im, 255, 255, 255);
$tc = ImageColorAllocate ($im, 0, 0, 0);
ImageFilledRectangle ($im, 0, 0, 150, 30, $bgc);
/* Wyświetlenie komunikatu błędu */
ImageString($im, 1, 5, 5, "Błąd przy ładowaniu $imgname", $tc);
}
return $im;
}

ImageCreateFromPNG
Zwraca identyfikator rysunku reprezentujący rysunek pobrany z pliku o podanej nazwie. Funkcja ImageCreateFromPNG() w przypadku wystąpienia błędu zwraca pusty ciąg. Wyświetla również komunikat błędu, ale niestety jest on wyświetlany w przeglądarce jako nieprawidłowe łącze. Aby ułatwić uruchamianie można zastosować poniższy przykład, który tworzy rysunek PNG z komunikatem błędu. Przykład: Obsługa błędu w czasie tworzenia rysunku (podziękowania dla vic@zymsys.com)
function LoadPNG ($imgname) {
$im = @ImageCreateFromPNG ($imgname); /* Próba otwarcia */
if (!$im) { /* Jeżeli się nie udało */
$im = ImageCreate (150, 30); /* Tworzenie pustego rysunku */
$bgc = ImageColorAllocate ($im, 255, 255, 255);
$tc = ImageColorAllocate ($im, 0, 0, 0);
ImageFilledRectangle ($im, 0, 0, 150, 30, $bgc);
/* Wyświetlenie komunikatu błędu */
ImageString($im, 1, 5, 5, "Błąd przy ładowaniu $imgname", $tc);
}
return $im;
}

ImageDashedLine
Rysuje na rysunku $im linię przerywaną z $x1, $y1 do $x2, $y2 (lewy górny róg to 0,0) o kolorze $col. Patrz również: ImageLine().
int imagedashedline (int im, int x1, int y1, int x2, int y2, int col)
ImageDestroy
Zwalnia pamięć zajętą przez rysunek $im. Parametr $im jest identyfikatorem rysunku zwracanym przez funkcję ImageCreate().
int imagedestroy (int im)
ImageFill Wykonuje wypełnianie metodą zalewania (flood fill) rysunku $im rozpoczynając od współrzędnych $x, $y (lewy górny róg to 0,0) kolorem $col.
int imagefill (int im, int x, int y, int col)
ImageFilledPolygon
Tworzy wypełniony wielobok na rysunku $im. Parametr $points jest tablicą PHP zawierającą wierzchołki wieloboku, to znaczy $points[0] = x0, $points[1] = y0, $points[2] = x1, $points[3] = y1 i tak dalej. Parametr $num_points zawiera całkowitą ilość wierzchołków.
int imagefilledpolygon (int im, array points, int num_points, int col)
ImageFilledRectangle
Na rysunku $im tworzy wypełniony prostokąt o kolorze $col, rozpoczynając od górnego lewego rogu o współrzędnych $x1, $y1, kończąc na prawym dolnym rogu o współrzędnych $x2, $y2. Lewy górny róg rysunku ma współrzędne 0,0.
int imagefilledrectangle (int im, int x1, int y1, int x2, int y2, int col)
ImageFillToBorder Wypełnia na rysunku obszar ograniczony kolorem zdefiniowanym w parametrze $border. Punkt rozpoczęcia wypełniania to $x, $y (lewy górny róg to 0,0), kolor wypełnienia to $col.
int imagefilltoborder (int im, int x, int y, int border, int col)
ImageFontHeight
Zwraca wysokość znaku w pikselach dla określonej czcionki. Patrz również: ImageFontWidth() i ImageLoadFont().
int imagefontheight (int font)
ImageFontWidth
Zwraca szerokość znaku w pikselach dla określonej czcionki. Patrz również: ImageFontHeiht() i ImageLoadFont().
int ImageFontWidth (int font)
ImageGammaCorrect
Stosuje korekcję gamma na rysunku $im na podstawie wartości gamma wejściowej $inputgamma i wyjściowej $outputgamma.
int imagegammacorrect (int im, float inputgamma, float outputgamma)
ImageGIF
Tworzy plik GIF na podstawie rysunku $im. Parametr $im jest identyfikatorem zwracanym przez funkcję ImageCreate(). Rysunek zostanie zapisany w formacie GIF87a chyba, że rysunek będzie zawierał kolor przezroczysty stworzony za pomocą funkcji ImageColorTransparent(). W takim przypadku formatem pliku będzie GIF89a. Nazwa pliku jest opcjonalna, jeżeli zostanie pominięta, utworzony zostanie bezpośredni surowy strumień rysunku. Wysyłając za pomocą funkcji header() typ zawartości image/gif, można stworzyć skrypt PHP, który bezpośrednio wysyła do przeglądarki rysunki GIF.
Uwaga
Ponieważ obsługa GIF została usunięta z biblioteki GD od wersji 1.6 funkcja ta nie jest już dostępna.
int imagegif (int im [, string filename])
ImageInterlace
Ustawia i kasuje bit przeplotu. Jeżeli $interlace jest równy 1, rysunek będzie z przeplotem. Jeżeli $interlace jest 0, przeplot nie zostanie zastosowany. Funkcja zwraca bieżącą wartość bitu przeplotu dla rysunku.
int imageinterlace (int im [, int interlace])
ImageJPEG
Tworzy plik JPEG na podstawie rysunku $im. Parametr $im jest identyfikatorem zwracanym przez funkcję ImageCreate(). Nazwa pliku jest opcjonalna, jeżeli zostanie pominięta, utworzony zostanie bezpośredni surowy strumień rysunku. Aby opuścić nazwę pliku i jednocześnie podać wartość parametru $quality należy użyć pustego ciągu (""). Wysyłając za pomocą funkcji header() typ zawartości image/jpeg, można stworzyć skrypt PHP, który bezpośrednio wysyła do przeglądarki rysunki JPEG.
Uwaga
Obsługa formatu JPEG jest dostępna jedynie, jeżeli biblioteka GD jest w wersji 1.8 lub nowszej.
int imagejpeg (int im [, string filename [, int quality]])
ImageLine
Na rysunku $im rysuje linię od $x1, $y1 do $x2, $y2 (lewy górny róg to 0,0) o kolorze $col. Patrz również: ImageCreate() i ImageColorAllocate().
int imageline (int im, int x1, int y1, int x2, int y2, int col)
ImageLoadFont
Ładuje czcionkę bitmapową zdefiniowaną przez użytkownika i zwraca identyfikator czcionki (zawsze większy od 5, więc nie koliduje z wbudowanymi czcionkami). Format pliku jest obecnie binarny, zależny od architektury. Oznacza to, że należy generować pliki czcionek na komputerze z takim samym procesorem, co komputer na którym jest uruchomione PHP. Format pliku jest następujący:
Pozycja w bajtach : Typ danych C : Opis
0 - 3 : int : Ilość znaków w pliku czcionek
4 -7 : int : Wartość pierwszego znaku czcionki (często 32 dla spacji)
8 - 11 : int : Szerokość każdego znaku w pikselach
12 - 15 : int : Wysokość każdego znaku w pikselach
16 - xxx : char : Tablica danych znakowych, jeden bajt na piksel w każdym znaku, razem (znaki*szerokość*wyskokość) bajtów
ImagePNG
Otwiera strumień GD ($im) w formacie PNG i przesyła dane do standardowego wyjścia (zwykle jest to przeglądarka), lub jeżeli podana jest nazwa pliku $filename, zapisuje rysunek do pliku.
int imagepng (int im [, string filename])
Przykład:
< ?php
$im = ImageCreateFromPng("test.png");
ImagePng($im);
? >

ImagePolygon
Tworzy wielobok na rysunku $im. Parametr $points jest tablicą PHP zawierającą wierzchołki wieloboku to znaczy $points[0] = x0, $points[1] = y0, $points[2] = x1, $points[3] = y1 i tak dalej. Parametr $num_points zawiera całkowitą ilość wierzchołków. Patrz również: ImageCreate().
int imagepolygon (int im, array points, int num_points, int col)
ImagePSBBox
Parametr $size jest wyrażony w pikselach, $space pozwala zmienić domyślna wartość odstępu w czcionkach. Wartość ta jest dodawana do standardowej wartości odstępu i może być ujemna. Parametr $tightness pozwala kontrolować ilość światła pomiędzy literami. Wartość ta jest dodawana do normalnej szerokości znaku i może również być ujemna. Parametr $angle jest wyrażony w stopniach. Parametry $space i $tightness są podawane w jednostkach odstępu znaku, gdzie 1 jednostka odstępu jest 1/1000 pica do kwadratu. Parametry $space, $tightness i $angle są opcjonalne. Ramka ograniczająca jest wyliczana z wykorzystaniem dostępnych danych z metryki czcionki i niestety nieco różni się od wyników otrzymywanych przez rasteryzację tekstu. Jeżeli kąt wynosi 0, należy się spodziewać, że tekst będzie potrzebował o 1 piksel więcej w każdym kierunku. Funkcja zwraca tablicę zawierającą następujące elementy: 0 - lewa dolna współrzędna x, 1 - lewa dolna współrzędna y, 2 - prawa górna współrzędna x i 3 - prawa górna współrzędna y. Patrz również: ImagePSText().
array ImagePSBBox (string text, int font, int size [, int space [, int tightness [, float angle]]])
ImagePSEncodeFont
Ładuje z pliku wektor kodowania znaków i zmienia na niego istniejący wektor kodowania czcionki. Ponieważ w czcionkach PostScript wektor kodowania nie zawiera wielu znaków na pozycjach powyżej 127, prawie na pewno musisz zmienić wektor kodowania w przypadku wykorzystywania języków innych niż angielski. Dokładny format pliku jest opisany w dokumentacji T1lib. T1lib zawiera dwa gotowe do użycia pliki, IsoLatin1.enc i IsoLatin2.enc. Jeżeli chcesz cały czas wykorzystywać tą funkcję, lepszym sposobem na zdefiniowanie kodowania jest ustawienie w pliku konfiguracyjnym zmiennej ps.default_encoding na odpowiedni plik kodowania. Wszystkie załadowane przez użytkownika czcionki będą miały odpowiednio zdefiniowane kodowanie.
int imagepsencodefont (int font_index, string encodingfile)
ImagePsExtendfont
Powiększa lub zmniejsza czcionkę $font_index. Jeżeli wartość parametru $extend jest mniejsza od jeden, funkcja zmniejsza czcionkę.
bool imagepsextendfont (int font_index, float extend)
ImagePSFreeFont
Patrz również: ImagePSLoadFont().
void imagepsfreefont (int fontindex)
ImagePSLoadFont
Jeżeli wszystko odbędzie się bez błędów, funkcja zwraca prawidłowy indeks czcionki, który może być użyty do innych celów. Jeżeli coś się nie powiedzie, funkcja zwraca False i drukuje komunikat opisujący błąd. Patrz również: ImagePSFreeFont(). int ImagePSLoadFont (string filename)
ImagePsSlantFont
Pochyla czcionkę wskazywaną przez parametr $font_index o wartość przekazaną w parametrze $slant.
bool imagepsslantfont (int font_index, float slant)
ImagePSText
Parametr $size jest wyrażony w pikselach. Parametr $foreground jest kolorem jakim zostanie namalowany tekst, natomiast $background to kolor na który tekst będzie się zmieniał przy zastosowaniu wygładzania (antialiasing). Nie są rysowane żadne punkty w kolorze $background, więc tło nie będzie zamalowane. Współrzędne przekazane w $x, $y definiują początek (punkt odniesienia) pierwszego znaku (mniej więcej lewy dolny róg znaku). Funkcja różni się tym od ImageString(), gdzie $x, $y określają lewy górny róg pierwszego znaku. Jeżeli potrzebujesz bliższych informacji na temat czcionek i systemu miar, znajdują się w dokumentacji PostScript.
array imagepstext (int image, string text, int font, int size, int foreground,
int background, int x, int y [, int space [, int tightness
[, float angle [, int antialias_steps]]]])

Parametr $space pozwala na zmianę domyślnego odstępu w czcionce. Wartość ta jest dodawana do normalnej wartości, więc może być ujemna. Parametr $tightness powala na kontrolowanie ilości światła pomiędzy literami. Wartość ta jest dodawana do normalnej szerokości znaki i również może być ujemna. Wartość $angle podawana jest w stopniach. Parametr $antialiasing_steps pozwala na określanie ilości kolorów użytych do wygładzania tekstu. Dopuszczalnymi wartościami są 4 i 16. Wyższa wartość jest polecana dla tekstów o rozmiarze mniejszych od 20, gdzie wygładzanie mocno wpływa na jakość tekstu. W przypadku większych czcionek można użyć wartości 4, ponieważ potrzeba wtedy mniej obliczeń. Parametry $space i $tightness są wyrażane w jednostkach odstępu znaku, gdzie 1 jednostka odstępu jest 1/1000 pica do kwadratu. Parametry $space, $tightness, $angle i $antialias są opcjonalne. Funkcja zwraca tablicę zawierającą następujące elementy: 0 - lewa dolna współrzędna x, 1 - lewa dolna współrzędna y, 2 - prawa górna współrzędna x i 3 - prawa górna współrzędna y. Patrz również: ImagePSBBox().
ImageRectangle
Na rysunku $im tworzy prostokąt w kolorze $col o współrzędnych lewego górnego rogu $x1, $y1 i prawego dolnego $x2, $y2. Lewy górny róg rysunku ma współrzędne 0,0.
int ImageRectangle (int im, int x1, int y1, int x2, int y2, int col)
ImageSetPixel
Rysuje na rysunku $im piksel w kolorze $col na współrzędnych $x, $y (lewy górny róg to 0,0). Patrz również: ImageCreate() i ImageColorAllocate().
int ImageSetPixel (int im, int x, int y, int col)
ImageString
Na rysunku $im rysuje ciąg $s rozpoczynając od współrzędnych $x, $y (lewy górny róg to 0,0) w kolorze $col. Jeżeli $font wynosi 1, 2, 3, 4 lub 5, używane są wbudowane czcionki. Patrz również: ImageLoadFont().
int ImageString (int im, int font, int x, int y, string s, int col)
ImageStringUp
Na rysunku $im rysuje pionowo ciąg $s rozpoczynając od współrzędnych $x, $y (lewy górny róg to 0,0) w kolorze $col. Jeżeli $font wynosi 1, 2, 3, 4 lub 5, używane są wbudowane czcionki. Patrz również: ImageLoadFont().
int ImageStringUp (int im, int font, int x, int y, string s, int col)
ImageSX
Zwraca szerokość rysunku identyfikowanego przez $im. Patrz również: ImageCreate() i ImageSY().
int ImageSX (int im)
ImageSY
Zwraca wysokość rysunku identyfikowanego przez $im. Patrz również: ImageCreate() i ImageSX().
int ImageSY (int im)
ImageTTFBBox
Funkcja oblicza i zwraca ramkę otaczającą tekst TrueType (w pikselach). Parametr $text jest ciągiem do zmierzenia. Parametr $size jest wielkością czcionki, $fontfile jest nazwą pliku z czcionką TrueType (może być w postaci URL). $angle jest kątem pochylenia tekstu $text w stopniach. Funkcja ImageTTFBBox() zwraca tablicę składająca się z ośmiu elementów reprezentujących cztery punkty tworzące ramkę otaczającą tekst: 0 - współrzędna X lewego dolnego rogu, 1 - współrzędna Y lewego dolnego rogu, 2 - współrzędna X prawego dolnego rogu, 3 - współrzędna Y prawego dolnego rogu, 4 - współrzędna X prawego górnego rogu, 5 - współrzędna Y prawego górnego rogu, 6 - współrzędna X lewego górnego rogu, 7 - współrzędna Y lewego górnego rogu. Punkty te są niezależne od pochylenia tekstu, więc "lewy górny" oznacza górny wierzchołek po lewej stronie, patrząc na tekst poziomo. Funkcja wymaga bibliotek GD i FreeType. Patrz również: ImageTTFText().
array imagettfbbox (int size, int angle, string fontfile, string text)
ImageTTFText
Na rysunku $im rysuje ciąg $text, rozpoczynając od współrzędnych $x, $y (lewy górny róg to 0,0), pod kątem $angle w kolorze $col, za pomocą czcionki TrueType umieszczonej w pliku $fontfile. Współrzędne podane w $x, $y określają punkt bazowy pierwszego znaku (mniej więcej lewy dolny róg znaku). Różni się to od funkcji ImageString(), gdzie x, y określają prawy górny róg pierwszego znaku. Parametr $angle jest wyrażony w stopniach, gdzie 0 stopni określa tekst czytany z lewej do prawej (kierunek na godzinę trzecią), natomiast wyższe wartości reprezentują pochylenie w kierunku przeciwnym do ruchu wskazówek zegara. (wartość 90 powoduje narysowanie tekstu od góry do dołu). Parametr $fontflile jest ścieżką do pliku TrueType z używaną czcionką. Parametr $text jest ciągiem tekstowym, który może zawierać sekwencje znaków UTF-8 (w postaci :{) używane do stosowania znaków o kodach powyżej 255. $col jest indeksem koloru. Użycie ujemnego indeksu koloru powoduje wyłączenie wygładzania tekstu. Funkcja ImageTTFText() zwraca tablicę ośmioelementową reprezentującą cztery punkty stanowiące ramkę ograniczającą tekst. Punkty te są umieszczone w tablicy w kolejności lewy górny, prawy górny, prawy dolny i lewy dolny. Punkty te są niezależne od pochylenia tekstu, więc "lewy górny" oznacza górny wierzchołek po lewej stronie, patrząc na tekst poziomo.
array imagettftext (int im, int size, int angle, int x, int y, int col, string fontfile, string text)
Przykład: 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",
"Testowanie... Omega: Ω");
ImageGif ($im);
ImageDestroy ($im);
? >

Funkcja wymaga bibliotek GD i FreeType. Patrz również: ImageTTFBox().
ImageTypes
Funkcja zwraca maskę bitową związaną z formatami rysunków obsługiwanych przez bibliotekę GD dołączoną do PHP. Zwracane są następujące bity: IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP.
int imagetypes (void)
Przykład: ImageTypes
< ?php
if (ImageTypes() & IMG_PNG) {
echo "Obsługa PNG jest aktywna";
}
? >


imap_8bit
Konwertuje ciąg 8-bitowy na ciąg quoted-printable (zgodnie z RFC2045, sekcja 6.7). Zwraca ciąg quoted-printable. Patrz również imap_qprint().
string imap_8bit (string string)
imap_alerts
Zwraca tablicę wszystkich komunikatów ostrzeżeń IMAP wygenerowanych od ostatniego wywołania imap_alerts(), lub od początku strony. Gdy zostanie wywołana funkcja imap_alerts(), stos ostrzeżeń jest czyszczony. Specyfikacja IMAP wymaga, aby komunikaty te były pokazywane użytkownikowi.
array imap_alerts (void)

imap_append
Zwraca True w przypadku powodzenia i False w przypadku błędu. Funkcja dołącza ciąg komunikatu do skrzynki pocztowej $mbox. Jeżeli podane zostały opcjonalne znaczniki $flags, funkcja dołącza również do skrzynki te znaczniki. Działając na serwerze Cyrus IMAP, trzeba użyć terminatorów linii "\r\n" zamiast "\n", lub operacja się nie powiedzie.
int imap_append (int imap_stream, string mbox, string message [, string flags])
Przykład: imap_append()
$stream = imap_open("{your.imap.host}INBOX.Drafts","username", "password");
$check = imap_check($stream);
print "Ilość komunikatów przed dołączeniem: ". $check->Nmsgs."\n";
imap_append($stream,"{your.imap.host}INBOX.Drafts"
,"From: me@my.host\r\n"
."To: you@your.host\r\n"
."Subject: test\r\n"
."\r\n"
."przesyłka testowa, proszę zignorować\r\n"
);
$check = imap_check($stream);
print "Ilość komunikatów po dołączeniu : ". $check->Nmsgs."\n";
imap_close($stream);

imap_base64
Dekoduje tekst zakodowany metodą BASE-64 (patrz RFC2045, sekcja 6.8). Zdekodowany komunikat jest zwracany w postaci ciągu. Patrz również: imap_binary().
string imap_base64 (string text)
imap_binary
Konwertuje 8-bitowy ciąg na ciąg zakodowany metodą BASE-64 (zgodnie z RFC2045, sekcja 6.8). Zwraca ciąg base64. Patrz również: imap_base64().
string imap_binary (string string)

imap_body
Zwraca treść przesyłki o numerze $msg_number z bieżącej skrzynki pocztowej. Opcjonalny parametr $flags jest maską bitową zawierającą jedną lub więcej wartości:
- FT_UID - Wartość $msgno jest idnetyfikatorem UID
- FT_PEEK - Nie ustawia znacznika \Seen, jeżeli jest już ustawiony
- FT_INTERNAL - Zwracany ciąg jest w formacie wewnętrznym
Funkcja imap_body() zwraca dosłowną kopię treści przesyłki. Aby odczytać jeden fragment wieloczęściowej przesyłki kodowanej za pomocą MIME należy użyć funkcji imap_fetch_structure() do zanalizowania struktury i imap_fetch_body() do skopiowania pojedynczego komponentu przesyłki.
string imap_body (int imap_stream, int msg_number [, int flags])
imap_check
Zwraca dane na temat bieżącej skrzynki pocztowej. W przypadku błędu zwraca False. Funkcja imap_check() sprawdza status bieżącej skrzynki na serwerze i zwraca dane w postaci obiektu o następujących właściwościach:
- Date - ostatnia zmiana zawartości skrzynki
- Driver - protokół używany do komunikacji ze skrzynką: POP3, IMAP, NNTP
- Mailbox - nazwa skrzynki pocztowej
- Nmsgs - ilość przesyłek w skrzynce
- Recent - ilość nowych przesyłek w skrzynce
object imap_check (int imap_stream)
imap_clearflag_full
Funkcja powoduje usunięcie określonego znacznika ze zbioru znaczników przesyłki w określonej sekwencji. Znacznikami do usuwania są: \\Seen, \\Answered, \\Flagged, \\Deleted, \\Draft i \\Recent (według RFC2060). Parametr $options jest maską bitową składającą się z następujących znaczników: ST_UID, sekwencja argumentów zawierająca UID zamiast numerów sekwencji.
string imap_clearflag_full (int stream, string sequence, string flag, string options)
imap_close
Zamyka strumień imap. Posiada opcjonalny parametr $flag CL_EXPUNGE, który powoduje wyczyszczenie skrzynki przed zamknięciem poprzez usunięcie przesyłek zaznaczonych jako usunięte.
int imap_close (int imap_stream [, int flags])
imap_createmailbox
Tworzy nową skrzynkę pocztową o nazwie $mbox. Nazwy zawierające znaki narodowe powinny być zakodowane przy pomocy funkcji imap_utf7_encode(). Zwraca True w przypadku powodzenia lub False w przypadku wystąpienia błędu. Patrz również: imap_renamemailbox(), imap_deletemailbox() i imap_open() gdzie znajduje się opis formatów nazw $mbox.
int imap_createmailbox (int imap_stream, string mbox)
Przykład: imap_createmailbox()
$mbox = imap_open("{your.imap.host}","username","password",OP_HALFOPEN)
or die("nie można połączyć: ".imap_last_error());
$name1 = "phpnewbox";
$name2 = imap_utf7_encode("phpnewböx");
$newname = $name1;
echo "Nową nazwą będzie '$name1'
\n";
# tworzymy nową skrzynkę o nazwie "phptestbox" w skrzynce poczty przychozącej
# sprawdzamy status po utworzeniu i na koniec usuwamy, przywracając skrzynkę
# do stanu początkowego
if(@imap_createmailbox($mbox,imap_utf7_encode("{your.imap.host}INBOX.$newname")))
{
$status = @imap_status($mbox,"{your.imap.host}INBOX.$newname",SA_ALL);
if($status) {
print("nowa skrzynka '$name1' ma następujący status:< br >\n");
print("Komunikatów: ". $status->messages )."< br >\n";
print("Ostatnich: ". $status->recent )."< br >\n";
print("Nieprzeczytanych:". $status->unseen )."< br >\n";
print("Następny UID: ". $status->uidnext )."< br >\n";
print("Poprawność UID: ". $status->uidvalidity)."< br >\n";
if(imap_renamemailbox($mbox,"{your.imap.host}INBOX.$newname",
"{your.imap.host}INBOX.$name2")) {
echo "zmieniono nazwę srzyni z '$name1' na '$name2'< br >\n";
$newname=$name2;
} else {
print "Nieudane wywołanie imap_renamemailbox na nowej skrzynce: "
.imap_last_error()."< br >\n";
}
} else {
print "Nieudane wywołanie imap_status na nowej skrzynce: "
.imap_last_error()."
\n";
} if(@imap_deletemailbox($mbox,"{your.imap.host}INBOX.$newname")) {
print "nowa skrzynka usunięta, przywracając stan początkowy< br >\n";
} else {
print "Nieudane wywołanie imap_deletemailbox na nowej skrzynce: "
.implode("< br >\n",imap_errors())."< br >\n";
}
} else {
print "nie można utworzyć nowej skrzyki: ".implode("< br >\n",imap_errors())
."< br >\n";
}
imap_close($mbox);

imap_delete
Zwraca True. Funkcja imap_delete() oznacza do usunięcia przesyłkę wskazywaną przez $msg_number. Opcjonalny parametr $flags posiada tylko jedną opcję, FT_UID, która wskazuje funkcji, że argumenty $msg_number należy traktować jako identyfikatory UID. Przesyłki zaznaczone do usunięcia pozostają w skrzynce do czasu wywołania funkcji imap_expunge() lub imap_close() z ustawionym parametrem opcjonalnym CL_EXPUNGE.
int imap_delete (int imap_stream, int msg_number [, int flags])
Przykład: imap_delete()
$mbox = imap_open ("{your.imap.host}INBOX", "username", "password")
or die ("nie można połączyć: " . imap_last_error());
$check = imap_mailboxmsginfo ($mbox);
print "Przesyłki przed usunięciem: " . $check->Nmsgs . "< br >\n" ;
imap_delete ($mbox, 1);
$check = imap_mailboxmsginfo ($mbox);
print "Przesyłki po usunięciu: " . $check->Nmsgs . "< br >\n" ;
imap_expunge ($mbox);
$check = imap_mailboxmsginfo ($mbox);
print "Przesyłki po wyczyszczeni: " . $check->Nmsgs . "< br >\n" ; imap_close ($mbox);


imap_deletemailbox
suwa podaną skrzynkę pocztową (format nazw $mbox można znaleźć przy opisie imap_open()). Zwraca True w przypadku powodzenia i False w przypadku błędu. Patrz również: imap_createmailbox(), imap_renamemailbox() i imap_open().
int imap_deletemailbox (int imap_stream, string mbox)
imap_errors
Zwraca tablicę wszystkich komunikatów błędów IMAP wygenerowanych od ostatniego wywołania imap_errors() lub od początku skryptu. Po wywołaniu imap_errors() stos błędów jest czyszczony.
array imap_errors (void)
imap_expunge
Usuwa przesyłki zaznaczone jako usunięte przez imap_delete(), imap_mail_move() lub imap_setflag_full(). Zwraca True.
int imap_expunge (int imap_stream)
imap_fetchbody
Funkcja powoduje pobranie sekcji z treści podanego komunikatu w postaci tekstu i zwrócenie tego tekstu. Specyfikacja sekcji jest ciągiem liczb rozdzielonych kropkami, które są indeksami w liście części, w sposób określony przez specyfikację IMAP4. Części z treścią nie są dekodowane przez tą funkcję. Parametrem imap_fetchbody() jest maska bitowa z jedną lub więcej stałych:
- FT_UID - Parametr $msg_number jest UID
- FT_PEEK - Nie ustawia znacznika \Seen, jeżeli nie był wcześniej ustawiony
- FT_INTERNAL - Zwracany ciąg jest w postaci wewnętrznej bez konwersji końców linii.
string imap_fetchbody (int imap_stream, int msg_number, string part_number
[, flags flags])

imap_fetchheader
Powoduje odczytanie całego, nieprzefiltrowanego RFC822 nagłówka formatu podanego komunikatu i zwrócenie go ciągu znaków. Opcje są następujące:
FT_UID - Parametr $msg_number jest UID
" FT_INTERNAL - Zwracany ciąg jest w postaci wewnętrznej bez konwersji końców linii.
" FT_PREFETCH - TEXT.RFC822 powinien być w tym samym czasie wstępnie pobrany. Pozwala to uniknąć dodatkowego RTT na połączeniu IMAP, jeżeli wymagany jest pełny tekst przesyłki (na przykład, operacja "zapis do pliku")
string imap_fetchheader (int imap_stream, int msgno, int flags)
imap_fetchstructure
Funkcja pobiera wszystkie informacje o strukturze podanej przesyłki. Opcjonalny parametr $flags posiada tylko jedną opcję, FT_UID, która wskazuje funkcji, że argumenty $msg_number należy traktować jako identyfikatory UID. Zwracany obiekt zawiera kopertę, datę wewnętrzną, rozmiar, znaczniki i strukturę treści, oraz podobne obiekty dla każdego załącznika MIME.
object imap_fetchstructure (int imap_stream, int msg_number [, int flags])
Zwracany obiekt z imap_fetchstructure()
Typ : Typ treści
encoding : Kodowanie do przesłania treści
ifsubtype : TRUE jeżeli występuje ciąg podtypu
subtype : Podtyp MIME
ifdescription : TRUE jeżeli jest to ciąg opisu
description : Ciąg opisu treści
ifid : TRUE jeżeli jest to ciąg identyfikacyjny
id : Ciąg identyfikacyjny
lines : Ilość linii
bytes : Ilość bajtów
ifdisposition : TRUE jeżeli jest to ciąg rozmieszczenia
disposition : Ciąg rozmieszczenia
ifdparameters : TRUE jeżeli istnieje tablica dparameters
dparameters : Tablica parametrów rozmieszczenia
ifparameters : TRUE jeżeli istnieje tablica parametrów
parameters : Tablica parametrów MIME
parts : Tablica obiektów opisujących każdą część przesyłki

Uwaga
Dparameters jest tablica obiektów posiadających atrybuty $attribute i $value. Parameters jest tablicą obiektów posiadających atrybuty $attribute i $value. Parts jest tablicą obietów o identycznej strukturze jak nadrzędny obiekt, z ograniczeniem, że nie mogą posiadać następnych obiektów parts. Podstawowe typy treści
0:text, 1: multipart, 2:message, 3:application, 4:audio, 5:image, 6-video, 7-other
Rodzaje kodowania
0:7BIT, 1:8BIT, 2:BINARY, 3:BASE64, 4:QUOTED-PRINTABLE, 5:OTHER
imap_fetch_overview
Pobiera nagłówki dla podanej sekwencji $sequence i zwraca skrót ich zawartości. Parametr $sequence może zawierać sekwencję indeksów wiadomości lub identyfikatorów UID, gdy parametr $flag zawiera FT_UID. Funkcja zwraca tablicę obiektów opisujących następujące nagłówki kolejnych wiadomości:
- subject - temat wiadomości
- from - nadawca wiadomości
- date - data wysłania
- message_id - identyfikator wiadomości
- references - odwołania do tego identyfikatora wiadomości
- size - rozmiar w bajtach
- uid - identyfikator UID wiadomości w skrzynce
- msgno - numer kolejny komunikatu w skrzynce
- recent - wiadomość oznaczona jako niedawna
- flagged - wiadomość zaznaczona
- answered - wiadomość na którą została udzielona odpowiedź
- deleted - wiadomość zaznaczona do usunięcia
- seen - wiadomość przeczytana
- draft - wiadomość oznaczona jako szkic
array imap_fetch_overview (int imap_stream, string sequence [, int flags])
Przykład: imap_fetch_overview()
$mbox = imap_open("{your.imap.host:143}","username","password")
or die("błąd połaczenia: ".imap_last_error());
$overview = imap_fetch_overview($mbox,"2,4:6",0);
if(is_array($overview)) {
reset($overview);
while( list($key,$val) = each($overview)) {
print $val->msgno
. " - " . $val->date
. " - " . $val->subject
. "\n";
}
}
imap_close($mbox);

imap_getmailboxes
Zwraca tablicę obiektów zawierających dane na temat skrzynek pocztowych. Każdy obiekt posiada następujące atrybuty: $name - zawiera pełną nazwę skrzynki, $delimiter - znak podziału w tej części hierarchii, w której znajduje się skrzynka, $attributes - maska bitowa, która może być testowana za pomocą następujących stałych:
- LATT_NOINFERIORS - skrzynka nie posiada "dzieci" (skrzynek w niej założonych)
- LATT_NOSELECT - jest to kontener a nie skrzynka i nie może być otwierany
- LATT_MARKED - skrzynka jest zaznaczona i używana jedynie przez UWIMAPD
- LATT_UNMARKED - skrzynka nie jest zaznaczona i używana jedynie przez UWIMAPD
array imap_getmailboxes (int imap_stream, string ref, string pattern)
Nazwy skrzynek zawierające znaki narodowe z poza drukowalnego zakresu kodów ASCII są zakodowane i mogą być rozkodowane za pomocą funkcji imap_utf7_decode(). Normalnie $ref powinien być określany przez specyfikację serwera, tak jak jest to opisane przy funkcji imap_open(), natomiast $pattern określa początek przeszukiwania w hierarchii skrzynek pocztowych. Jeżeli chcesz uzyskać wszystkie skrzynki, należy przekazać do parametru $pattern ciąg "*". Mogą być tu używane dwa znaki specjalne: * i %. Jeżeli użyjemy znaku * w wyniku otrzymamy wszystkie skrzynki w hierarchii. Znak % powoduje otrzymanie jedynie skrzynek z bieżącego poziomu hierarchii. Jeżeli podamy jedynie "%", otrzymamy skrzynki z głównego poziomu hierarchii, "~/mail/%" na UW-IMAPD zwróci wszystkie skrzynki z katalogu ~/mail, ale bez podkatalogów. Przykład: imap_getmailboxes()
$mbox = imap_open("{your.imap.host}","username","password",OP_HALFOPEN)
or die("błąd połączenia: ".imap_last_error());
$list = imap_getmailboxes($mbox,"{your.imap.host}","*");
if(is_array($list)) {
reset($list);
while (list($key, $val) = each($list))
{
print "($key) ";
print imap_utf7_decode($val->name).",";
print "'".$val->delimiter."',";
print $val->attributes."
\n";
}
} else
print "nieudane wywołanie funkcji imap_getmailboxes: ".imap_last_error()."\n";
imap_close($mbox);

imap_getsubscribed
Identyczna z imap_getmailboxes(), ale zwraca jedynie skrzynki, do których użytkownik posiada subskrypcję.
array imap_getsubscribed (int imap_stream, string ref, string pattern)
imap_header
Alias funkcji imap_headerinfo(), działa dokładnie tak samo.
imap_header( void )
imap_headerinfo
Zwraca obiekt do różnych fragmentów nagłówka: remail, date, Date, subject, Subject, in_reply_to, message_id, newsgroups, followup_to, references.
imap_header( void )
Dostępne są następujące znaczniki wiadomości:
- Recent - 'R' jeżeli wiadomość jest przeczytana i niedawna, 'N' jeżeli jest niedawna i nieprzeczytana, ' ' jeżeli nie jest niedawna
-Unseen - 'U' jeżeli nie jest przeczytana i nie jest niedawna, ' ' jeżeli przeczytana lub niedawna
-Answered - 'A' jeżeli udzielono odpowiedzi, ' ' jeżeli nie udzielono odpowiedzi
-Deleted - 'D' gdy usunięta, ' ' jeżeli nie usunięta
-Draft - 'X' jeżeli jest szkicem, ' ' gdy nim nie jest
-Flagged - 'F' jeżeli jest zaznaczona, ' ' jeżeli jest oznaczona
Uwaga
Działanie znaczników Recent i Unseen jest nieco dziwne. Jeżeli chcesz sprawdzić, czy wiadomość nie jest przeczytana, sprawdź Unseen == 'U' || Recent == 'N'.
- toaddress (kompletna linia to:, do 1024 znaków)
- to[] (zwraca tablicę obiektów z linii to: zawierająca: personal, adl, mailbox, host)
- fromaddress (kompletna linia from:, do 1024 znaków)
- from[] (zwraca tablicę obiektów z linii from: zawierająca: personal, adl, mailbox, host)
- ccaddress (kompletna linia cc:, do 1024 znaków)
- cc[] (zwraca tablicę obiektów z linii cc: zawierająca: personal, adl, mailbox, host)
- bccaddress (kompletna linia bcc:, do 1024 znaków)
- bcc[] (zwraca tablicę obiektów z linii bcc: zawierająca: personal, adl, mailbox, host)
- reply_toaddress (kompletna linia reply_to:, do 1024 znaków)
- reply_to[] (zwraca tablicę obiektów z linii reply_to: zawierająca: personal, adl, mailbox, host)
- senderaddress (kompletna linia sender:, do 1024 znaków)
- sender[] (zwraca tablicę obiektów z linii sender: zawierająca: personal, adl, mailbox, host)
- return_path (kompletna linia return_path:, do 1024 znaków)
- return_path[] (zwraca tablicę obiektów z linii return_path: zawierająca: personal, adl, mailbox, host)
- udate (mail, message, date, in, unix, time)
- fetchfrom (linia from: sformatowana tak, aby zmieściła się w $fromlength znakach)
- fetchsubject (linia subject: sformatowana tak, aby zmieściła się w $fromlength znakach)
imap_headers Zwraca tablicę ciągów sformatowanych z danymi nagłówków. Pozwala na jeden element na przesyłkę.
array imap_headers (int imap_stream)
imap_last_error
Zwraca pełny tekst ostatniego komunikatu błędu IMAP, który wystąpił na bieżącej stronie. Stos błędów pozostaje niezmieniony. Kolejne wywołania imap_last_error() zwrócą ten sam błąd, jeżeli nie wystąpią w międzyczasie inne błędy.
imap_listmailbox
Zwraca tablicę zawierającą nazwy skrzynek pocztowych. Opis parametrów $ref i $pattern znajduje się przy opisie imap_getmailboxes().
array imap_listmailbox (int imap_stream, string ref, string pattern)
Przykład: imap_listmailbox()
$mbox = imap_open("{your.imap.host}","username","password",OP_HALFOPEN)
or die("błąd połaczenia: ".imap_last_error());
$list = imap_listmailbox($mbox,"{your.imap.host}","*");
if(is_array($list)) {
reset($list);
while (list($key, $val) = each($list))
print imap_utf7_decode($val)."
\n";
} else
print "Nieudane wywołanie funkcji imap_listmailbox: ".imap_last_error()."\n";
imap_close($mbox);

imap_listsubscribed
Zwraca tablicę z wszystkimi skrzynkami pocztowymi, do których posiadasz subskrypcję. Jest ona niemal identyczna jak imap_listmailbox(), ale zwraca jedynie te skrzynki, do których zalogowany użytkownik posiada subskrypcję.
array imap_listsubscribed (int imap_stream, string ref, string pattern)
imap_mail
Funkcja ta jest obecnie dostępna tylko w PHP 3.
string imap_mail (string to, string subject, string message
[, string additional_headers [, string cc [, string bcc [, string rpath]]]])

imap_mailboxmsginfo
Zwraca informacje na temat bieżącej skrzynki pocztowej. Zwraca False w przypadku wystąpienia błędu. Funkcja imap_mailboxmsginfo() sprawdza status skrzynki na serwerze. Jest podobna do imap_status(), ale dodatkowo sumuje rozmiary wszystkich wiadomości w skrzynce, co jednak powoduje wydłużenie czasu wykonywania funkcji. Zwraca dane w postaci obiektu z następującymi właściwościami.
object imap_mailboxmsginfo (int imap_stream)
Właściwości skrzynki pocztowej
- Date - data ostatniej zmiany
- Driver - sterownik
- Mailbox - nazwa skrzynki
- Nmsgs - ilość wiadomości
- Recent - ilość ostatnich wiadomości
- Unread - ilość wiadomości nie przeczytanych
- Deleted - ilość usuniętych wiadomości
- Size - rozmiar skrzynki
Przykład: imap_mailboxmsginfo()
< ?php
$mbox = imap_open("{your.imap.host}INBOX","username", "password")
or die("błąd połączenia: ".imap_last_error());
$check = imap_mailboxmsginfo($mbox);
if($check) {
print "Date: " . $check->Date ."< br >\n" ;
print "Driver: " . $check->Driver ."< br >\n" ;
print "Mailbox: " . $check->Mailbox ."< br >\n" ;
print "Messages: ". $check->Nmsgs ."< br >\n" ;
print "Recent: " . $check->Recent ."< br >\n" ;
print "Unread: " . $check->Unread ."< br >\n" ;
print "Deleted: " . $check->Deleted ."< br >\n" ;
print "Size: " . $check->Size ."< br >\n" ;
} else {
print "imap_check() failed: ".imap_last_error(). "< br >\n";
}
imap_close($mbox);
? >

imap_mail_compose

string imap_mail_compose (array envelope, array body)
Przykład: imap_mail_compose()
< ?php
$envelope["from"]="musone@afterfive.com";
$envelope["to"]="musone@darkstar";
$envelope["cc"]="musone@edgeglobal.com";
$part1["type"]=TYPEMULTIPART;
$part1["subtype"]="mixed";
$filename="/tmp/imap.c.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[1]=$part1;
$body[2]=$part2;
$body[3]=$part3;
echo nl2br(imap_mail_compose($envelope,$body));
? >

imap_mail_copy
Zwraca True w przypadku sukcesu lub False w przypadku wystąpienia błędu. Kopiuje wiadomość określoną przez $msglist do określonej skrzynki pocztowej. Parametr $msglist może zawierać zakres a nie tylko numery komunikatów, jak to zostało opisane w RFC2060 (http://www.faqs.org/rfcs/rfc2060.html). Parametr $flags jest maską bitową zawierającą CP_UID - sekwencja liczb zawiera UID i CP_MOVE - usuwa komunikaty ze skrzynki po ich skopiowaniu.
int imap_mail_copy (int imap_stream, string msglist, string mbox [, int flags])
imap_mail_move
Przenosi przesyłkę pocztową określoną przez $msglist to podanej skrzynki pocztowej. Parametr $msglist może zawierać zakres a nie tylko numery komunikatów, jak to zostało opisane w RFC2060 (http://www.faqs.org/rfcs/rfc2060.html). Parametr $flags jest maską bitową i może zawierać jedną wartość CP_UID. Zwraca True w przypadku sukcesu lub False w przypadku wystąpienia błędu.
int imap_mail_move (int imap_stream, string msglist, string mbox [, int flags])
imap_mime_header_decode
Dekoduje rozszerzenia nagłówków komunikatów MIME, które zawierają tekst z poza ASCII (RFC2047 http://www.faqs.org/rfcs/rfc2047.html). Zdekodowane elementy są zwracane w postaci tablicy obiektów, z który posiada dwie właściwości: charset i text. Jeżeli element nie może być zdekodowany a inne słowa są w US-ASCII, właściwość charset jest ustawiona na wartość domyślną.
array imap_mime_header_decode (string text)
Przykład: imap_mime_header_decode()
$text="=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= ";
$elements=imap_mime_header_decode($text);
for($i=0;$i echo "Charset: {$elements[$i]->charset}\n";
echo "Text: {$elements[$i]->text}\n\n";
}

W przedstawionym przykładzie otrzymamy dwa elementy, gdzie pierwszy element jest zakodowany za pomocą ISO-8859-1 a drugi będzie US-ASCII.
imap_msgno
Zwraca numer sekwencji wiadomości dla podanego UID. Jest to odwrotność imap_uid().
int imap_msgno (int imap_stream, int uid)
imap_num_msg
Zwraca ilość przesyłek w bieżącej skrzynce pocztowej.
int imap_num_msg (int imap_stream)
imap_num_recent
Zwraca ilość ostatnich przesyłek w bieżącej skrzynki pocztowej.
int imap_num_recent (int imap_stream)

imap_open
W przypadku powodzenia zwraca strumień IMAP, a w przypadku błędu False. Funkcja może być używana do otwarcia strumienia do serwerów POP3 i NNTP i nie wszystkie funkcje i własności są dostępne na serwerach IMAP. Nazwa skrzynki składa się z dwóch części: nazwy serwera i ścieżki do skrzynki na tym serwerze. Nazwa specjalna INBOX określa bieżącą skrzynkę pocztową użytkownika. Fragment nazwy określający serwer jest otoczony nawiasami klamrowymi {} i zawiera nazwę serwera, lub jego numer IP, określenie protokołu komunikacji (rozpoczynające się od /), oraz opcjonalnie numer portu rozpoczynający się od znaku :. Podawanie nazwy serwera jest obowiązkowe we wszystkich parametrach skrzynki pocztowej. Nazwy skrzynek zawierające znaki narodowe spoza drukowalnego podzbioru kodów ASCII są zakodowane za pomocą funkcji imap_utf7_encode().
int imap_open (string mailbox, string username, string password [, int flags]) Opcje stanowią maskę bitową zawierającą jedną, lub więcej z poniższych wartości:
- OP_READONLY - otwiera skrzynkę tylko do odczytu,
- OP_ANONYMOUS - nie używa ani nie zmienia pliku .newsrc (tylko NNTP),
- OP_HALFOPEN - dla połączeń IMAP i NNTP, otwiera połączenie, ale nie otwiera skrzynki,
- CL_EXPUNGE - automatycznie czyści skrzynkę po jej zamknięciu.
Aby podłączyć się z serwerem IMAP działającym na porcie 143 na komputerze lokalnym, należy wywołać funkcję w następujący sposób:
$mbox = imap_open ("{localhost:143}INBOX", "user_id", "password");
Aby podłączyć się z serwerem POP3 działającym na porcie 110 na komputerze lokalnym, należy wywołać funkcję w następujący sposób:
$mbox = imap_open ("{localhost:110/pop3}INBOX", "user_id", "password");
Aby podłączyć się z serwerem NNTP działającym na porcie 119 na komputerze lokalnym, należy wywołać funkcję w następujący sposób:
$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password");
Aby połączyć się ze zdalnym serwerem należy zastąpić localhost nazwą lub numerem IP serwera, z którym ma być nawiązane połączenie.
$mbox = imap_open ("{your.imap.host:143}", "username", "password");
echo "< p >< h1 >Skrzynki pocztowe< /h1 >\n";
$folders = imap_listmailbox ($mbox, "{your.imap.host:143}", "*");
if ($folders == false) {
echo "wywołanie nieudane< br >\n";
} else {
while (list ($key, $val) = each ($folders)) {
echo $val."< br >\n";
}
}
echo "< p >< h1 >nagłówki w INBOX< /h1 >\n";
$headers = imap_headers ($mbox);
if ($headers == false) {
echo "wywołanie nieudane< br >\n";
} else {
while (list ($key,$val) = each ($headers)) {
echo $val."< br >\n";
}
}
imap_close($mbox);

imap_ping
Zwraca True, jeżeli strumień jest aktywny, False w przypadku nieaktywnego strumienia. Funkcja imap_ping() sprawdza za pomocą operacji ping, czy strumień jest nadal aktywny. Może sprawdzać nową pocztę. Jest to zalecana metoda okresowego sprawdzania nowej poczty oraz podtrzymywania połączenia do serwerów rozłączających nieaktywne połączenia (ponieważ skrypty PHP nie działają zbyt długo, funkcja ta prawdopodobnie nie będzie zbyt użyteczna).
int imap_ping (int imap_stream)
imap_qprint
Konwertuje ciąg zakodowany w postaci quoted-printable na ciąg 8-bitowy zgodnie z RFC2045 (http://www/faqs.org/rfcs/rfc2045.html, sekcja 6.7). Zwraca ciąg 8-bitowy (binarny). Patrz również: imap_8bit().
string imap_qprint (string string)
imap_renamemailbox
Zmienia nazwę skrzynki pocztowej na nową (format nazw skrzynek opisany jest przy funkcji imap_open()). Zwraca True gdy operacja się powiodła i False w przypadku błędu. Patrz również: imap_createmailbox(), imap_deletemailbox() i imap_open().
int imap_renamemailbox (int imap_stream, string old_mbox, string new_mbox)
imap_reopen
Ponownie otwiera strumień do nowej skrzynki na serwerze IMAP lub NNTP. Opcje są maską bitową zawierającą jedną lub więcej następujących wartości:
- OP_READONLY - otwiera skrzynkę tylko do odczytu,
- OP_ANONYMOUS - nie używa ani nie zmienia pliku .newsrc (tylko NNTP),
- OP_HALFOPEN - dla połączeń IMAP i NNTP, otwiera połączenie, ale nie otwiera skrzynki,
- CL_EXPUNGE - automatycznie czyści skrzynkę po jej zamknięciu.
Zwraca True w przypadku powodzenia i False w przypadku błędu.
int imap_reopen (int imap_stream, string mailbox [, string flags])
imap_rfc822_parse_adrlist
Analizuje adresy w sposób zdefiniowany w RFC822 (http://www/faqs.org/rfcs/rfc2045.html). Dla każdego adresu zwraca tablicę obiektów. Właściwościami obiektów są:
- mailbox - nazwa skrzynki (nazwa użytkownika),
- host - nazwa hosta,
- personal - nazwa opisowa użytkownika,
- adl - ścieżka do domeny źródłowej.
array imap_rfc822_parse_adrlist (string address, string default_host)
Przykład: imap_rfc822_parse_adrlist()
$address_string =
"Hartmut Holzgraefe , postmaster@somedomain.net, root";
$address_array = imap_rfc822_parse_adrlist($address_string,"somedomain.net");
if(! is_array($address_array)) die("coś poszło źle\n");
reset($address_array);
while(list($key,$val)=each($address_array)){
print "mailbox : ".$val->mailbox."
\n";
print "host : ".$val->host."
\n";
print "personal: ".$val->personal."
\n";
print "adl : ".$val->adl."

\n";
}

imap_rfc822_parse_headers
Zwraca obiekt z różnymi elementami nagłówka, podobnie do imap_header(), ale bez znaczników i innych elementów pochodzących z serwera IMAP.
object imap_rfc822_parse_headers (string headers [, string defaulthost])
imap_rfc822_write_address
Zwraca prawidłowo sformatowany adres e-mail według definicji w RFC822 (http://www/faqs.org/rfcs/rfc2045.html), na podstawie skrzynki pocztowej, hosta i danych osobistych.
string imap_rfc822_write_address (string mailbox, string host, string personal)
Przykład: imap_rfc822_write_address()
print imap_rfc822_write_address("hartmut","cvs.php.net","Hartmut Holzgraefe")."\n";
imap_scanmailbox
Zwraca tablicę zawierającą nazwy skrzynek, które zawierają tekst przekazany w $string. Funkcja ta jest podobna do imap_listmailbox(), ale dodatkowo sprawdza czy w danych skrzynki zawarty tekst $content. Opis parametrów $ref i $pattern można znaleźć przy funkcji imap_getmailboxes().
array imap_scanmailbox (int imap_stream, string ref, string pattern, string content)
imap_search
Przeszukuje skrzynkę pocztową otwartą za pocą podanego strumienia IMAP. Parametr $criteria zawiera ciąg, w którym dozwolone są zamieszczone poniżej słowa kluczowe rozdzielone spacjami. Wszystkie elementy wielowyrazowe muszą być otoczone apostrofami, na przykład FROM "jan kowalski".
array imap_search (int imap_stream, string criteria, int flags)
- ALL - zwraca wszystkie wiadomości spełniające pozostałe warunki
- ANSWERED - szuka wiadomości z ustawionym znacznikiem \\ANSWERED
- BCC "string" - szuka wiadomości z ciągiem "string" w polu Bcc:
- BEFORE "date" - szuka wiadomości sprzed podanej daty
- BODY "string" - szuka wiadomości z ciągiem "string" w temacie wiadomości
- CC "string" - szuka wiadomości z ciągiem "string" w polu Cc:
- DELETED - szuka usuniętych wiadomości
- FLAGGED - szuka wiadomości z ustawionym znacznikiem \\FLAGGED (czasami nazywanymi wiadomościami ważnymi)
- FROM "string" - szuka wiadomości z ciągiem "string" w polu From:
- KEYWORD "string" - szuka wiadomości ze słowem kluczowym "string"
- NEW - szuka nowych wiadomości
- OLD - szuka starych wiadomości
- ON "date" - szuka wiadomości z polem Date: ustawionym na "date"
- RECENT - szuka wiadomości z ustawionym znacznikiem \\RECENT
- SEEN - szuka przeczytanych wiadomości (z ustawionym znacznikiem \\SEEN)
- SINCE "date" - szuka wiadomości z polem Date: ustawionym na datę wcześniejszą od "date"
- SUBJECT "string" - szuka wiadomości z ciągiem "string" w polu Subject:
- TEXT "string" - szuka wiadomości z ciągiem "string" w tekście
- TO "string" - szuka wiadomości z ciągiem "string" w polu To:
- UNANSWERED - szuka wiadomości, a które nie była udzielona odpowiedź
- UNDELETED - szuka wiadomości, które nie są usunięte
- UNFLAGGED - szuka wiadomości, które nie są oznaczone
- UNKEYWORD "string" - szuka wiadomości nie posiadających słowa kluczowego "string"
- UNSEEN - szuka wiadomości nie przeczytanych
Na przykład, aby odnaleźć wszystkie wiadomości wysłanych przez Mama, na które nie była udzielona odpowiedź, należy użyć ciągu "UNANSWERED FROM Mama". Przy przeszukiwaniu duże i małe litery nie są rozróżniane. Podana lista warunków jest odczytana ze źródeł UW c-client i może być niekompletna lub nieprecyzyjna (patrz RFC2060 sekcja 6.4.4). Prawidłową wartością parametru $flags jest SE_UID, który powoduje zwracanie tablicy zawierającej identyfikatory UID zamiast numerów kolejnych wiadomości.
imap_setflag_full
Powoduje dodanie określonych znaczników do wiadomości z podanej sekwencji. Znaczniki jakie można ustawić to: \\Seen, \\Answered, \\Flagged, \\Deleted, \\Draft i \\Recent (według RFC2060). Prawidłową wartością parametru $flags jest ST_UID, który powoduje zwracanie tablicy zawierającej identyfikatory UID zamiast numerów kolejnych wiadomości.
string imap_setflag_full (int stream, string sequence, string flag, string options)
Przykład: imap_setflag_full()
$mbox = imap_open("{your.imap.host:143}","username","password")
or die("błąd połączenia: ".imap_last_error());
$status = imap_setflag_full($mbox,"2,5","\\Seen \\Flagged");
print gettype($status)."\n";
print $status."\n";
imap_close($mbox);

imap_sort
Zwraca tablicę numerów wiadomości posortowaną według podanego parametru. Jeżeli $reverse jest 1, sortowanie jest odwrotne.
array imap_sort (int stream, int criteria, int reverse, int options)
Sortowanie może się odbywać według jednego (tylko jednego) z poniższych warunków:
- SORTDATE - data wiadomości
- SORTARRIVAL - data otrzymania wiadomości
- SORTFROM - adresu nadawcy (From:)
- SORTSUBJECT - tematu wiadomości
- SORTTO - adresu z pola To:
- SORTCC - adresu z pola Cc:
- SORTSIZE - wielkości przesyłki liczonej w oktetach
Opcje są maską bitową z następującymi wartościami:
- SE_UID - Funkcja zwraca identyfikatory UID zamiast numerów kolejnych
- SE_NOPREFETCH - nie odczytuje wstępnie szukanych wiadomości
imap_status
Zwraca obiekt zawierający dane statusu.
object imap_status (int imap_stream, string mailbox, int options)
Dozwolonymi znacznikami są:
- SA_MESSAGES - ustawia status->messages na ilość wiadomości w skrzynce
- SA_RECENT - ustawia status->recent na ilość niedawnych wiadomości w skrzynce
- SA_UNSEEN - ustawia status->unseen na ilość nierzeczytanych (nowych) wiadomości w skrzynce
- SA_UIDNEXT - ustawia status->uidnext na następny UID jaki zostanie użyty w skrzynce
- SA_UIDVALIDITY - ustawia status->uidvalidity na stałą, która zmienia się, gdy UID skrzynki przestaje być prawidłowy
- SA_ALL - ustawia wszystkie powyższe właściwości
Dodatkowo ustawiany jest status->flags zawierający maskę bitową, która może być porównywana z przedstawionymi powyżej stałymi. Przykład: imap_status()
$mbox = imap_open("{your.imap.host}","username","password",OP_HALFOPEN)
or die("błąd połaczenia: ".imap_last_error());
$status = imap_status($mbox,"{your.imap.host}INBOX",SA_ALL);
if($status) {
print("Wiadomości: ". $status->messages )."< br >\n";
print("Niedawnych: ". $status->recent )."< br >\n";
print("Nieprzeczytanych:". $status->unseen )."< br >\n";
print("Następny UID: ". $status->uidnext )."< br >\n";
print("Poprawność UID: ". $status->uidvalidity)."< br >\n";
} else
print "nieudane wywołanie imap_status: ".imap_last_error()."\n";
imap_close($mbox);

imap_subscribe
Subskrybuje nową skrzynkę. Zwraca True po poprawnym wykonaniu operacji lub False w przypadku błędu.
int imap_subscribe (int imap_stream, string mbox)
imap_uid
Zwraca identyfikator UID wiadomości na podstawie jej numeru kolejnego. UID to jednoznaczny identyfikator nie zmieniający się w czasie w przeciwieństwie do numerów kolejnych, które mogą się zmienić po zmianie zawartości skrzynki. Funkcja jest odwrotna do imap_msgno().
int imap_uid (int imap_stream, int msgno)
imap_undelete
Usuwa znacznik usunięcia dla podanej wiadomości ustawiony przez funkcję imap_delete() lub imap_move(). Zwraca True w przypadku powodzenia i False w przypadku błędu.
int imap_undelete (int imap_stream, int msg_number)
imap_unsubscribe
Usuwa subskrypcję do podanej skrzynki. Zwraca True w przypadku powodzenia i False w przypadku błędu.
int imap_unsubscribe (int imap_stream, string mbox)
imap_utf7_decode
Dekoduje $text w postaci UTF-7 do danych 8-bitowych. Zwraca zdekodowane dane 8-bitowe, lub False, gdy ciąg wejściowy nie jest prawidłowym ciągiem UTF-7. Funkcja ta jest niezbędna do dekodowania nazw skrzynek zwierających znaki narodowe spoza drukowalnego zakresu kodów ASCII. Zmodyfikowane kodowanie UTF-7 jest zdefiniowane w RFC2060 (http://www/faqs.org/rfcs/rfc2060.html sekcja 5.1.3), natomiast oryginalne kodowanie UTF-7 jest zdefiniowane w RFC1642 (http://www/faqs.org/rfcs/rfc1642.html).
string imap_utf7_decode (string text)
imap_utf7_encode
Konwertuje 8-bitowe dane do tekstu UTF-7. Jest to niezbędne do zakodowania nazw skrzynek zawierających znaki narodowe spoza drukowalnego zakresu kodów ASCII. Zmodyfikowane kodowanie UTF-7 jest zdefiniowane w RFC2060 (http://www/faqs.org/rfcs/rfc2060.html sekcja 5.1.3), natomiast oryginalne kodowanie UTF-7 jest zdefiniowane w RFC1642 (http://www/faqs.org/rfcs/rfc1642.html). Zwraca ciąg zakodowany zmodyfikowaną metodą UTF-7.
string imap_utf7_encode (string data)

imap_utf8
Konwertuje podany ciąg na postać UTF8 w sposób zdefiniowany w RFC2044.
string imap_utf8 (string text)
implode
Zwraca ciąg zawierający wszystkie elementy tablicy w tej samej kolejności z ciągiem sklejającym pomiędzy elementami.
Uwaga
Funkcja implode() może, z powodów historycznych, pobierać swoje argumenty w dowolnym porządku. Jednak z powodu spójności z explode() powinno się korzystać z kolejności przedstawionej w dokumentacji. Patrz również: explode(), join() i split().
string implode (string glue, array pieces)
Przykład: implode()
$colon_separated = implode(":", $array);
ini_alter

Zmienia wartość podanej opcji konfiguracji. Zwraca False w przypadku niepowodzenia, natomiast w przypadku sukcesu, poprzednią wartość opcji.
Uwaga
Jest to alias do ini_set(). Patrz również: ini_get(), ini_restore() i ini_set().
string ini_alter (string varname, string newvalue)
ini_get
Zwraca wartość opcji konfiguracji lub False w przypadku wystąpienia błędu. Patrz również: ini_alter(), ini_restore() i ini_set().
string ini_get (string varname)
ini_restore
Przywraca oryginalną wartość podanej opcji konfiguracji. Patrz również ini_alter(), ini_get() i ini_set().
string ini_restore (string varname) ini_set
Ustawia wartość podanej opcji konfiguracji. Zwraca False w przypadku niepowodzenia, natomiast w przypadku sukcesu, poprzednią wartość opcji. Patrz również: ini_alter(), ini_get() i ini_restore().
string ini_set (string varname, string newvalue)
intval
Zwraca wartość całkowitą zmiennej $var przy użyciu konwersji o podanej podstawie (wartością domyślną jest 10). Parametr $var może być dowolnym typem skalarnym. Nie można używać funkcji intval() na tablicach i obiektach. Patrz również doubleval(), strval() i settype().
int intval (mixed var [, int base])
in_array
Szuka $needle w $haystack. Zwraca True, jeżeli ciąg zostanie znaleziony w tablicy i False, jeżeli nie zostanie znaleziony.
bool in_array (mixed needle, array haystack)
Przykład: in_array()
$os = array ("Mac", "NT", "Irix", "Linux");
if (in_array ("Irix", $os)) {
print "Znaleziono Irix";
}

ip2long
Generuje adres IPv4 na podstawie standardowego formatu (ciąg z kropkami).
int ip2long (string ip_address)
Przykład: ip2long()
< ?php
$ip = gethostbyname("www.php.net");
$out = "Następujące adresy są swoimi odpowiednikami:
\n";
$out .= "http://www.php.net/, http://".$ip."/ i http://".ip2long($ip)."/< br >\n";
echo $out;
? >

Patrz również: long2ip().
iptcparse
Dzieli pojedynczy blok IPTC na pojedyncze znaczniki. Zwraca tablicę używając jako indeksów oznaczeń znaczników a jako wartości, wartości znaczników. W przypadku błędu lub braku danych IPTC zwraca False. Patrz również: GetImageSize().
array iptcparse (string iptcblock)
isset
Jeżeli istnieje $var zwraca True, a False gdy nie istnieje. Jeżeli zmienna została usunięta za pomocą unset(), funkcja isset() zwraca False.
boolean isset (mixed var)
Przykład: isset()
$a = "test";
echo isset ($a); // TRUE
unset ($a);
echo isset ($a); // FALSE
$foo = NULL;
print isset ($foo); // FALSE

Patrz również: empty() i unset().
is_array
Zwraca True, jeżeli $var jest tablicą i False, gdy nią nie jest. Patrz również: is_float(), is_int(), is_integer(), is_string() i is_object().
bool is_array (mixed var)
is_bool
Zwraca True, jeżeli parametr $var jest wartością boolean. Parz również: is_array(), is_float(), is_int(), is_integer(), is_string() i is_object().
bool is_bool (mixed var)
is_dir
Zwraca True, jeżeli istnieje katalog o podanej nazwie. Wynik funkcji jest przechowywany w pamięci podręcznej. Więcej szczegółów na ten temat znajduje się w opisie funkcji clearstatchache(). Patrz również: is_file() i is_link().
bool is_dir (string filename)
is_double
Zwraca True, jeżeli parametr $var jest liczbą double, w przeciwnym wypadku zwraca False. Patrz również: is_bool(), is_int(), is_integer(), is_string(), is_array() i is_object().
int is_double( mixed var)
is_executable
Zwraca True, jeżeli istnieje plik o podanej nazwie pliku i jest on plikiem wykonywalnym. Wyniki działania funkcji są przechowywane w pamięci podręcznej. Więcej szczegółów na ten temat znajduje się w opisie funkcji clearstatchache(). Patrz również: is_file() i is_link().
bool is_executable (string filename)
is_file
Zwraca True, jeżeli istnieje plik o podanej nazwie pliku i jest on zwykłym plikiem. Wyniki działania funkcji są przechowywane w pamięci podręcznej. Więcej szczegółów na ten temat znajduje się w opisie funkcji clearstatchache(). Patrz również: is_dir() i is_link().
bool is_file (string filename)
is_float
Alias do funkcji is_double(). Patrz również: is_bool(), is_int(), is_integer(), is_string(), is_array() i is_object().
bool is_float (mixed var)
is_int
Alias do is_long(). Patrz również: is_bool(), is_float(), is_integer(), is_string(), is_array() i is_object().
bool is_int (mixed var)
is_integer
Alias do is_long(). Patrz również: is_bool(), is_float(), is_integer(), is_string(), is_array() i is_object().
bool is_integer (mixed var)
is_link
Zwraca True, jeżeli istnieje plik o podanej nazwie pliku i jest on łączem symbolicznym. Wyniki działania funkcji są przechowywane w pamięci podręcznej. Więcej szczegółów na ten temat znajduje się w opisie funkcji clearstatchache(). Patrz również: is_dir() i is_file(). Funkcja ta nie działa w systemie Windows.
bool is_link (string filename)
is_long
Zwraca True, jeżeli $var jest liczbą całkowitą (long), w przeciwnym wypadku zwraca False. Patrz również: is_bool(), is_float(), is_integer(), is_string(), is_array() i is_object().
is_long( mixed var)
is_numeric
Zwraca True, jeżeli $var jest liczbą lub ciągiem zawierającym liczbę, w przeciwnym wypadku zwraca False. Patrz również: is_bool(), is_float(), is_int(), is_string(), is_object(), is_array() i is_integer().
bool is_numeric (mixed var)
is_object
Zwraca True, jeżeli $var jest obiektem, w przeciwnym wypadku zwraca False. Patrz również: is_bool(), is_int(), is_integer(), is_float(), is_string() i is_array().
bool is_object (mixed var)
is_readable
Zwraca True, jeżeli plik o podanej nazwie istnieje i można go odczytać. Należy pamiętać, że PHP może czytać ten plik jako użytkownik na rzecz którego jest uruchomiony serwer WWW (często jest to nobody). Nie są brane pod uwagę ograniczenia trybu bezpiecznego. Więcej szczegółów na ten temat znajduje się w opisie funkcji clearstatchache(). Patrz również: is_writable().
bool is_readable (string filename)
is_real
Alias do funkcji is_double(). Patrz również: is_bool(), is_int(), is_integer(), is_string(), is_array() i is_object().
int is_real( mixed var )
is_resource
Zwraca True, jeżeli zmienna przekazana przez parametr $var jest zasobem, w przeciwnym przypadku zwraca False. Zasobami są identyfikatory plików lub wyników zapytań do bazy danych, które są tworzone i usuwane poprzez wewnętrzne funkcje PHP. Jeżeli nie są one używane można zastosować ich porządkowanie, ale nie powinny być one zwalniane przez kod użytkownika.
bool is_resource (mixed var)
is_string
Zwraca True, jeżeli $var jest ciągiem, w przeciwnym wypadku zwraca False. Patrz również: is_bool(), is_int(), is_integer(), is_float(), is_real(), is_object() i is_array().
bool is_string (mixed var)
is_subclass_of
Zwraca True, jeżeli $obj jest obiektem klasy, która jest klasą pochodną po $superclass, w przeciwnym wypadku zwraca False. Patrz również: get_class(), get_parent_class().
bool is_subclass_of (object obj, string superclass)
is_uploaded_file
Funkcja ta jest dostępna w PHP3 począwszy od wersji PHP 3.0.16 i w PHP od wersji 4.0.2. Zwraca True, jeżeli plik o podanej nazwie został przesłany poprzez HTTP POST. Jest ona użyteczna do sprawdzenia, czy złośliwy użytkownik nie próbuje oszukać skryptu tak, aby pracował on na pliku, na którym nie powinien, na przykład /etc/passwd. Jest to użyteczne, gdy istnieje jakakolwiek szansa, że zawartość przesyłanego pliku może być pokazana użytkownikowi, lub innym użytkownikom na tym samym systemie. Patrz również: move_uploaded_file().
bool is_uploaded_file (string filename)
is_writeable Zwraca True, jeżeli plik o podanej nazwie istnieje i można do niego pisać. Parametr może być również nazwą katalogu, co pozwala sprawdzić, czy można zapisywać do tego katalogu. Należy pamiętać, że PHP może czytać ten plik jako użytkownik na rzecz którego jest uruchomiony serwer WWW (często jest to nobody). Nie są brane pod uwagę ograniczenia trybu bezpiecznego. Więcej szczegółów na ten temat znajduje się w opisie funkcji clearstatchache(). Patrz również: is_readable().
bool is_writeable (string filename)
JDDayOfWeek
Zwraca dzień tygodnia. W zależności od trybu może zwracać ciąg lub liczbę.
mixed jddayofweek (int julianday, int mode)
Tryby tygodni w kalendarzu
Tryb : Znaczenie
0 : Zwraca numer dnia jako liczbę (0=niedziela, 1=poniedziałek, itd.)
1 : Zwraca ciąg zawierający dzień tygodnia (angielski-gregoriański)
2 : Zwraca ciąg zawierający skrót dnia tygodnia (angielski-gregoriański)
JDMonthName
Zwraca ciąg zawierający nazwę miesiące. Parametr $mode wskazuje funkcji do którego kalendarza skonwertować liczbę dni juliańskich i jaki typ nazwy miesiąca należy zwrócić.
string jdmonthname (int julianday, int mode)
Tryby kalendarza
Tryb : Znaczenie
0 : Gregoriański - skrócony
1 : Gregoriański
2 : Juliański - skrócony
3 : Juliański
4 : Żydowski
5 : Republiki francuskiej
JDToFrench
Konwertuje liczbę dni juliańskich do kalendarza Rewolucji Francuskiej.
string jdtofrench (int juliandaycount)
JDToGregorian
Konwertuje liczbę dni juliańskich na ciąg zawierający datę gregoriańską w formacie miesiąc/dzień/rok.
string jdtogregorian (int julianday)
JDToJewish
Konwertuje liczbę dni juliańskich na kalendarz żydowski.
string jdtojewish (int julianday)
JDToJulian
Konwertuje liczbę dni juliańskich na ciąg zawierający datę w kalendarzu juliańskim w formacie miesiąc/dzień/rok.
string jdtojulian (int julian3day)
jdtounix
Zwraca znacznik czasu Uniksa odpowiadający dacie juliańskiej przekazanej w $jday, lub False jeżeli $jday wykracza poza erę Uniksa (lata gregoriańskie pomiędzy 1970 i 2037 lub 2440588 <= $jday <= 2465342). Patrz również: jdtounix().
Uwaga
Funkcja ta jest dostępna od wersji PHP4RC1.
int jdtounix (int jday)
JewishToJD
Mimo, że oprogramowanie może obsługiwać daty aż do roku 1 (3761 p.n.e.), jednak może być to mylące. Kalendarz żydowski jest w użyciu od kilku tysięcy lat, ale w początkowym okresie nie było wzoru na wyliczenie początku miesiąca. Miesiąc był rozpoczynany po zaobserwowaniu nowiu księżyca.
int jewishtojd (int month, int day, int year)
join
Jest to alias do funkcji implode() i działa identycznie. Patrz również: explode(), implode() i split().
string join (string glue, array pieces)
JulianToJD
Zakres dat kalendarza juliańskiego to 4713 p.n.e. do 9999 n.e. Mimo, że oprogramowanie może obsługiwać daty od 413 p.n.e., jednak może być to mylące. Kalendarz został utworzony w roku 46 p.n.e., ale jego szczegóły nie ustabilizowały się do roku 8 n.e. a nawet prawdopodobnie do 4 wieku. Również początek roku różnił się w różnych kulturach - nie wszyscy zaakceptowali styczeń jako pierwszy miesiąc.
int juliantojd (int month, int day, int year)
key
Zwraca klucz bieżącej pozycji tablicy. Patrz również: current() i next().
mixed key (array array)
krsort
Sortuje tablicę w odwrotnej kolejności utrzymując korelację między kluczami i danymi. Jest to przydatne w przypadku tablic asocjacyjnych.
int krsort (array array [, int sort_flags])
Przykład: krsort()
< ?
$fruits = array ("d"=>"cytryna", "a"=>"pomarańcza", "b"=>"banan", "c"=>"jabłko");
krsort ($fruits);
reset ($fruits);
while (list ($key, $val) = each ($fruits)) {
echo "$key = $val\n";
}
? >

Wykonanie przykładu spowoduje wyświetlenie:
d = cytryna
c = jabłko
b = banan
a = pomarańcza
Można zmienić działanie funkcji używając opcjonalnego parametru $sort_flags. Szczegółowy opis znajduje się przy funkcji sort(). Patrz również: asort(), arsort(), ksort(), sort(), natsort() i rsort().
ksort
Sortuje tablicę utrzymując korelację między kluczami i danymi. Jest to przydatne w przypadku tablic asocjacyjnych.
int ksort (array array [, int sort_flags])
Przykład: ksort()
< ?
$fruits = array ("d"=>"cytryna", "a"=>"pomarańcza", "b"=>"banan", "c"=>"jabłko");
ksort ($fruits);
reset ($fruits);
while (list ($key, $val) = each ($fruits)) {
echo "$key = $val\n";
}
? >

Wykonanie przykładu spowoduje wyświetlenie:
a = pomarańcza
b = banan
c = jabłko
d = cytryna
Można zmienić działanie funkcji używając opcjonalnego parametru $sort_flags. Szczegółowy opis znajduje się przy funkcji sort(). Patrz również: asort(), arsort(), krsort(), sort(), natsort() i rsort().
lcg_value
Zwraca liczbę pseudolosową z zakresu (0, 1). Funkcja łączy dwie wartości CG z okresem 2^31 - 85 i 2^31 - 249. Okres tej funkcji jest równy iloczynowi obu liczb pierwszych.
double lcg_value( void )
ldap_add
Zwraca True w przypadku powodzenia operacji i False w przypadku błędu. Funkcja ldap_add() jest używana do dodawania wpisów do katalogu LDAP. DN dodawanego wpisu jest określane w parametrze $dn. Tablica $entry zawiera informacje na temat wpisów. Wartości wpisów są indeksowane kolejnymi atrybutami. W przypadku wielu wartości atrybutu są one indeksowane liczbami rozpoczynając od 0:
entry["atrybut1"] = wartość
entry["atrybut2"][0] = wartość1
entry["atrybut2"][1] = wartość 2
int ldap_add (int link_identifier, string dn, array entry)

Przykład: Kompletny przykład autoryzowanego wiązania
< ?php
$ds=ldap_connect("localhost"); // zakładając,że serwer LDAP
// działa na tym komputerze
if ($ds) {
// wiązanie z odpowiednim dn, aby uzyskać możliwość wprowadzania zmian
$r=ldap_bind($ds,"cn=root, o=My Company, c=US", "secret");
// przygotowanie danych
$info["cn"]="John Jones";
$info["sn"]="Jones";
$info["mail"]="jonj@here.and.now";
$info["objectclass"]="person";
// dodanie danych do katalogu
$r=ldap_add($ds, "cn=John Jones, o=My Company, c=US", $info);
ldap_close($ds);
} else {
echo "Błąd wiązania z serwerem LDAP";
}
? >

ldap_bind
Wiąże z katalogiem LDAP z odpowiednim RDN i hasłem. Zwraca True w przypadku powodzenia i False w przypadku błędu. Funkcja ldap_bind() wykonuje operację wiązania. Parametry $bind_rdn i $bind_password są opcjonalne. Jeżeli nie zostaną podane, wykonane zostanie wiązanie anonimowe.
int ldap_bind (int link_identifier [, string bind_rdn [, string bind_password]])
ldap_close
Zwraca True w przypadku powodzenia i False w przypadku błędu. Funkcja ldap_close() zamyka połączenie z serwerem LDAP, skojarzone z podanym identyfikatorem $link_identifier. Wywołanie to jest wewnętrznie identyczne z ldap_unbind(). API LDAP korzysta z funkcji ldap_unbind(), więc prawdopodobnie należy używać tej funkcji zamiast ldap_close().
int ldap_close (int link_identifier)
ldap_compare
Zwraca True, jeżeli zostanie dopasowana wartość $value, w przeciwnym przypadku zwraca False. Zwraca -1 w przypadku błędu. Funkcja ldap_compare() jest używana do porównywania wartości $value atrybutu $attribute z wartością tego samego atrybutu w pozycji katalogu LDAP określonej przez $dn. Zamieszczony przykład pokazuje, w jaki sposób można sprawdzić czy podane hasło odpowiada zdefiniowanemu w pozycji DN.
int ldap_compare (int link_identifier, string dn, string attribute, string value)
Przykład: Przykład kontroli hasła
< ?php
$ds=ldap_connect("localhost"); // zakładając,że serwer LDAP
// działa na tym komputerze
if ($ds) {
// wiązanie
if(ldap_bind($ds)) {
// przygotowanie danych
$dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
$value = "secretpassword";
$attr = "password";
// porównanie wartości
$r=ldap_compare($ds, $dn, $attr, $value);
if ($r === -1) {
echo "Błąd: ".ldap_error($ds);
} elseif ($r === TRUE) {
echo "Hasło prawdłowe.";
} elseif ($r === FALSE) {
echo "Hasło nieprawidłowe!";
}
} else {
echo "Błąd przy łączeniu z serwerem LDAP.";
}
ldap_close($ds);
} else {
echo "Nie można przyłączyć do serwera LDAP.";
}
? >

Uwaga Funkcja ldap_compare() nie może porównywać wartości binarnych! Funkcja została dodana w PHP 4.0.2.
ldap_connect
W przypadku powodzenia operacji zwraca dodatni identyfikator łącza LDAP, w przypadku błędu zwraca False. Funkcja ldap_connect() zestawia połączenie z serwerem LDAP na komputerze $hostname i porcie $port. Oba argumenty są opcjonalne. Jeżeli nie podane zostaną argumenty, zwracany jest identyfikator istniejącego połączenia. Jeżeli zostanie podana jedynie nazwa komputera, domyślnym portem jest 389.
int ldap_connect ([string hostname [, int port]])
ldap_count_entries
Zwraca ilość pozycji w wyniku lub False w przypadku wystąpienia błędu. Funkcja ldap_count_entries() zwraca ilość pozycji zapamiętanych w wyniku ostatniej operacji szukania. Parametr $result_identifier określa wewnętrzny wynik LDAP.
int ldap_count_entries (int link_identifier, int result_identifier)
ldap_delete
Zwraca True w przypadku powodzenia operacji lub False w przypadku błędu. Funkcja ldap_delete() usuwa pozycję z katalogu LDAP określoną przez $dn.
int ldap_delete (int link_identifier, string dn)
ldap_dn2ufn
Używana do przekształcania DN na postać bardziej czytelna dla człowieka poprzez usunięcie nazw typów.
string ldap_dn2ufn (string dn)
ldap_err2str
Zwraca ciąg z komunikatem błędu. Funkcja ta zwraca komunikat błędu opisujący błąd numer $errno. Choć numery błędów LDAP są zestandaryzowane, różne biblioteki zwracają różne, nawet przetłumaczone, tekstowe opisy błędów. Nigdy nie należy porównywać tekstu komunikatów błędów, zamiast tego zawsze należy używać do porównania numerów błędów. Patrz również: ldap_errno() i ldap_error().
string ldap_err2str (int errno)
Przykład: Wyliczanie wszystkich komunikatów błędów LDAP
< ?php
for($i=0; $i<100; $i++) {
printf("Błąd $i: %s< br >\n", ldap_err2str($i));
}
? >

ldap_errno
Zwraca numer błędu LDAP dla ostatniego polecenia LDAP na podanym połączeniu. Funkcja ta zwraca standardowy numer błędu zwracany przez ostatnie polecenie LDAP. Numer ten może zostać zamieniony na komunikat tekstowy za pomocą funkcji ldap_err2str(). Jeżeli nie zmniejszysz wystarczająco poziomu ostrzeżeń w pliku php.ini lub nie będziesz poprzedzał funkcji LDAP znakiem @, generowane błędy będą pokazywały się również w wynikowym HTML.
int ldap_errno (int link_id)
Przykład: Generowanie i przechwytywanie błędów
< ?php
// przykład ten zawiera błąd, który zostanie przechwycony
$ld = ldap_connect("localhost");
$bind = ldap_bind($ld);
// błąd składni w wyrażeniu filtrującym (nr: 87),
// aby działało musi być "objectclass=*"
$res = @ldap_search($ld, "o=Myorg, c=DE", "objectclass");
if (!$res) {
printf("LDAP-Errno: %s< br >\n", ldap_errno($ld));
printf("LDAP-Error: %s< br >\n", ldap_error($ld));
die("Aaaaaa!
\n");
}
$info = ldap_get_entries($ld, $res);
printf("%d pasujących wpisów.< br >\n", $info["count"]);
? >

Patrz również: ldap_err2str() i ldap_error().
ldap_error
Zwraca ciąg z komunikatem błędu. Funkcja zwraca komunikat błędu objaśniający błąd wygenerowany przez ostatnie polecenie LDAP wykonane na podanym połączeniu. Choć numery błędów LDAP są zestandaryzowane, różne biblioteki zwracają różne, nawet przetłumaczone, tekstowe opisy błędów. Nigdy nie należy porównywać tekstu komunikatów błędów, zamiast tego zawsze należy używać do porównania numerów błędów. Jeżeli nie zmniejszysz wystarczająco poziomu ostrzeżeń w pliku php.ini lub nie będziesz poprzedzał funkcji LDAP znakiem @, generowane błędy będą pokazywały się również w wynikowym HTML. Patrz również: ldap_err2str() i ldap_errno().
string ldap_error (int link_id)
ldap_explode_dn
Funkcja używana do podziału ciągu DN zwracanego przez funkcję ldap_get_dn(), na pojedyncze komponenty. Każda z części nazywana jest Relative Distinguished Name (RDN). Funkcja ldap_explode_dn() zwraca tablicę zawierającą wszystkie te części. Za pomocą parametru $with_attrib można zdecydować, czy RDN są zwracane ze swoimi wartościami, czy bez. Aby otrzymać RDN z wartością (to znaczy w postaci atrybut=wartość) należy ustawić $with_attrib na 0. Aby otrzymać tylko wartości, należy ustawić go na 1.
array ldap_explode_dn (string dn, int with_attrib)
ldap_first_attribute
Zwraca pierwszy atrybut pozycji lub False w przypadku błędu. Podobnie do odnośnych pozycji, atrybuty również mogą być czytane po kolei z określonej pozycji. Funkcja ldap_first_attribute() zwraca pierwszy atrybut pozycji wskazywanej przez identyfikator pozycji. Pozostałe atrybuty mogą być odczytane za pomocą kolejnych wywołań ldap_next_attribute(). Parametr $ber_identifier jest identyfikatorem wewnętrznego wskaźnika pamięci. Jest on przekazywany przez referencję. Ten sam $ber_identifier jest przekazywany do ldap_next_attribute(), która modyfikuje wskaźnik. Patrz również: ldap_get_attributes().
string ldap_first_attribute (int link_identifier, int result_entry_identifier, int ber_identifier)
ldap_first_entry Zwraca identyfikator pierwszej pozycji wyniku lub False w przypadku błędu. Pozycje w wyniku LDAP mogą być czytane sekwencyjnie przy użyciu funkcji ldap_first_entry() i ldap_next_entry(). Funkcja ldap_first_entry() zwraca identyfikator pierwszej pozycji wyniku. Identyfikator ten przekazywany jest do funkcji ldap_next_entry() w celu odczytania kolejnych pozycji wyniku. Patrz również: ldap_get_entries().
int ldap_first_entry (int link_identifier, int result_identifier)
ldap_free_result
Zwraca True w przypadku powodzenia operacji lub False w przypadku błędu. Funkcja ldap_free_result() zwalnia pamięć zajmowaną przez wynik, na który wskazuje $result_identifier. Cała pamięć zajmowana przez wynik jest automatycznie zwalniana po zakończeniu skryptu. W przypadku, gdy skrypt wykonuje kolejne wyszukiwania, które powodują powstanie dużych wyników można wywołać funkcję ldap_free_result(), aby zmniejszyć ilość pamięci zużywaną przez skrypt.
int ldap_free_result (int result_identifier)
ldap_get_attributes
Zwraca wszystkie dane pozycji w postaci wielowymiarowej tablicy lub w przypadku wystąpienia błędu, False. Funkcja ldap_get_attribues() używana jest w celu uproszczenia odczytywania atrybutów i wartości z pozycji znajdującej się w wyniku. Zwracaną wartością jest wielowymiarowa tablica atrybutów i wartości. Po odszukaniu odpowiedniej pozycji w katalogu możesz za pomocą takiego wywołania odczytać wszystkie informacje przechowywane w tej pozycji. Można wykorzystać tą funkcje do napisania aplikacji za pomocą której można przeglądać pozycje katalogu nawet, gdy nie znamy struktury określonych atrybutów. We wielu aplikacjach szuka się określonego atrybutu, na przykład adresu e-mail lub nazwiska i nie ma potrzeby przejmować się zawartością innych pozycji. Struktura tabeli jest następująca:
return_value["count"] = ilość atrybutów w pozycji
return_value[0] = pierwszy atrybut
return_value[n] = n-ty atrybut
return_value["atrybut"]["count"] = ilość wartości atrybutu
return_value["atrybut"][0] = pierwsza wartość atrybutu
return_value["atrybut"][i] = i-ta wartość atrybutu
array ldap_get_attributes (int link_identifier, int result_entry_identifier)
Przykład: Wyświetlenie listy atrybutów przechowywanych w pozycji katalogu
// $ds jest identyfikatorem połączenia z katalogiem
// $sr jest prawidłowym wynikiem pochodzącym z
// wywołania jednej z funkcji przeszukujących
$entry = ldap_first_entry($ds, $sr);
$attrs = ldap_get_attributes($ds, $entry);
echo $attrs["count"]." atrybutów w tej pozycji:< p >";
for ($i=0; $i<$attrs["count"]; $i++)
echo $attrs[$i]."
";

Patrz również: ldap_first_attribute() i ldap_next_attribute().
ldap_get_dn
Zwraca DN pozycji wyniku lub False w przypadku błędu. Funkcja ldap_get_dn() jest używana do sprawdzenia DN pozycji wyniku.
string ldap_get_dn (int link_identifier, int result_entry_identifier)
ldap_get_entries
Zwraca wszystkie dane pozycji w postaci wielowymiarowej tablicy lub w przypadku wystąpienia błędu, False. Funkcja ldap_get_entries() używana jest w celu uproszczenia odczytywania wielu pozycji z wyniku i następnie odczytywanie atrybutów i wielokrotnych wartości. Wszystkie dane są zwracane za pomocą jednego wywołania funkcji we wielowymiarowej tablicy. Struktura tablicy jest następująca. Indeksy atrybutów są konwertowane do małych liter (wielkość liter w atrybutach ma znaczenie dla serwerów katalogów, ale nie gdy są używane jako indeksy tablicy).
return_value["count"] = ilość pozycji w wyniku
return_value[0] : szczegóły pierwszej pozycji
return_value[i]["dn"] = DN i-tej pozycji w wyniku
return_value[i]["count"] = ilość atrybutów w i-tej pozycji
return_value[i][j] = j-ty atrybut i-tej pozycji w wyniku
return_value[i]["atrybut"]["count"] = ilość wartości dla atrybutów i-tej pozycji
return_value[i]["atrybut"][j] = j-ta wartość atrybutu na i-tej pozycji
array ldap_get_entries (int link_identifier, int result_identifier)

ldap_get_values
Zwraca tablicę wartości atrybutu lub False w przypadku wystąpienia błędu. Funkcja ldap_get_values() jest używana do odczytania wszystkich wartości atrybutów z pozycji wyniku. Pozycja jest określona przez $result_entry_identifier. Ilość wartości można odczytać z wynikowej tablicy, spod indeksu count. Poszczególne wartości mogą być odczytane poprzez numeryczne indeksy tablicy. Pierwszy indeks ma wartość 0. Funkcja wymaga identyfikatora pozycji wyniku, więc musi być poprzedzona przez jedną z funkcji wyszukujących i jedno z wywołań pobierających poszczególne pozycje. W aplikacji można na stałe zapisać nazwy interesujących nas atrybutów (na przykład surname lub mail), można również użyć funkcji ldap_get_attributes() do sprawdzenia jakie atrybuty istnieją dla danej pozycji. LDAP pozwala na przechowywanie więcej niż jednej pozycji dla atrybuty, więc można na przykład zapamiętywać kilka adresów e-mail w pozycji katalogu zawierającej określoną osobę.
return_value["count"] = ilość wartości atrybutu
return_value[0] = pierwsza wartość atrybutu
return_value[i] = i-ta wartość atrybutu
array ldap_get_values (int link_identifier, int result_entry_identifier,
string attribute)
Przykład: Lista wszystkich wartości atrybutu 'mail' dla pozycji katalogu
// $ds jest identyfikatorem połączenia z katalogiem
// $sr jest prawidłowym wynikiem pochodzącym z
// wywołania jednej z funkcji przeszukujących
// $entry jest idnetyfikatorem pozycji pochodzącym z
// jednego z wywołań zwracających pozycje katalogu
$values = ldap_get_values($ds, $entry,"mail");
echo $values["count"]." adresów email dla tej pozycji.< p >";
for ($i=0; $i < $values["count"]; $i++)
echo $values[$i]."< br >";

ldap_get_values_len
Zwraca tablicę wartości atrybutu lub False w przypadku wystąpienia błędu. Funkcja ldap_get_values_len() używana jest do odczytania wszystkich wartości atrybutu dla pozycji wyniku. Pozycja jest określona przez $result_entry_identifier. Ilość wartości można odczytać z indeksu count wynikowej tablicy. Poszczególne wartości są dostępne w tablicy pod indeksami całkowitymi. Indeksy zaczynają się od 0. Funkcji tej używa się identycznie jak ldap_get_values(), ale obsługuje dane binarne a nie ciągi.
Uwaga
Funkcja została dodana w PHP 4.0.
array ldap_get_values_len (int link_identifier, int result_entry_identifier, string attribute)
ldap_list
Zwraca identyfikator wyniku poszukiwania, lub False w przypadku wystąpienia błędu. Funkcja ldap_list() przeszukuje katalog w poszukiwaniu wartości pasujących do podanego filtra z zastosowaniem zasięgu LDAP_SCOPE_ONELEVEL. Zasięg LDAP_SCOPE_ONELEVEL oznacza, że przeszukiwany zostanie tylko poziom bezpośrednio po podanym bazowym DN podanym w wywołaniu funkcji (ekwiwalent wpisania ls i pobrania naw plików i folderów w bieżącym katalogu). Funkcja posiada 5 parametrów opcjonalnych. Opis znajduje się przy omawianiu funkcji ldap_search().
Uwaga
Parametry opcjonalne $attrsonly, $sizelimit, $timelimit i $deref zostały dodane w PHP 4.0.2.
int ldap_list (int link_identifier, string base_dn, string filter [, array attributes [, int attrsonly [, int sizelimit [, int timelimit [, int deref]]]]])
Przykład: Utworzenie listy wszystkich jednostek organizacyjnych w organizacji
// $ds jest identyfikatorem połączenia do serwera katalogu
$basedn = "o=My Company, c=US";
$justthese = array("ou");
$sr=ldap_list($ds, $basedn, "ou=*", $justthese);
$info = ldap_get_entries($ds, $sr);
for ($i=0; $i<$info["count"]; $i++)
echo $info[$i]["ou"][0] ;

ldap_modify
Zwraca True w przypadku powodzenia operacji lub False w przypadku błędu. Funkcja ldap_modify() używana jest do zmiany istniejących pozycji w katalogu LDAP. Struktura pozycji jest identyczna jak ldap_add().
int ldap_modify (int link_identifier, string dn, array entry)
ldap_mod_add
Zwraca True w przypadku powodzenia operacji lub False w przypadku błędu. Funkcja dodaje atrybut do podanego $dn. Wykonuje zmianę na poziomie atrybutu a nie na poziomie obiektu. Dodawanie na poziomie obiektu wykonywane jest za pomocą funkcji ldap_add().
int ldap_mod_add (int link_identifier, string dn, array entry)
ldap_mod_del Zwraca True w przypadku powodzenia operacji lub False w przypadku błędu. Funkcja usuwa atrybut do podanego $dn. Wykonuje zmianę na poziomie atrybutu a nie na poziomie obiektu. Usuwanie na poziomie obiektu wykonywane jest za pomocą funkcji ldap_del().
int ldap_mod_del (int link_identifier, string dn, array entry)
ldap_mod_replace
Zwraca True w przypadku powodzenia operacji lub False w przypadku błędu. Funkcja zamienia atrybut(y) z podanego $dn. Wykonuje zmianę na poziomie atrybutu a nie na poziomie obiektu. Modyfikacje na poziomie obiektu wykonywane jest za pomocą funkcji ldap_modify().
int ldap_mod_replace (int link_identifier, string dn, array entry)
ldap_next_attribute
Zwraca kolejny atrybut w pozycji lub False w przypadku wystąpienia błędu. Funkcja ldap_next_attribute() jest wywoływana w celu odczytania atrybutów pozycji. Stan wewnętrznego wskaźnika jest utrzymywany przez $ber_identifier. Jest on przekazywany do funkcji przez referencję. Pierwsze wywołanie ldap_next_identifier() jest wykonywane z $result_entry_identifier zwracanym przez ldap_first_identifier(). Patrz również: ldap_get_atributes().
string ldap_next_attribute (int link_identifier, int result_entry_identifier, int ber_identifier)
ldap_next_entry
Zwraca identyfikator pozycji dla następnej pozycji w wyniku, którego pierwsza pozycja została odczytana za pomocą ldap_first_entry(). Jeżeli nie ma już kolejnych pozycji w wyniku, funkcja zwraca False. Funkcja ldap_next_entry() używana jest do odczytania pozycji znajdujących się w wyniku. Kolejne wywołania ldap_next_entry() powoduje zwracanie kolejnych pozycji aż do ich wyczerpania. Pierwsze wywołanie ldap_next_entry() jest wykonywane z identyfikatorem wyniku zwróconym przez ldap_first_entry(). Patrz również: ldap_get_entries(). int ldap_next_entry (int link_identifier, int result_entry_identifier)
ldap_read
Zwraca identyfikator wyniku przeszukiwania lub False w przypadku wystąpienia błędu. Funkcja ldap_read() szuka filtra w katalogu z zakresie LDAP_SCOPE_BASE, więc jest odpowiednikiem odczytania pozycji z katalogu. Nie jest dozwolone używanie pustego filtra. Jeżeli chcesz odczytać wszystkie dane z tej pozycji należy użyć filtra objectClass=*. Jeżeli wiesz, jaki typ pozycji jest użyty w serwerze katalogu, można wykorzystać odpowiedni filtr, na przykład objectClass=inetOrgPerson. Funkcja posiada pięć parametrów opcjonalnych. Opis znajduje się przy omawianiu funkcji ldap_search().
Uwaga
Parametry opcjonalne $attrsonly, $sizelimit, $timelimit i $deref zostały dodane w PHP 4.0.2.
int ldap_read (int link_identifier, string base_dn, string filter [, array attributes
[, int attrsonly [, int sizelimit [, int timelimit [, int deref]]]]])

ldap_search
Zwraca identyfikator wyniku przeszukiwania lub False w przypadku błędu. Funkcja ldap_search() szuka podanego filtra w katalogu, z zastosowaniem zasięgu LDAP_SCOPE_SUBTREE. Jest to ekwiwalent przeszukania zawartości katalogu. Parametr $base_dn określa bazowy DN w katalogu. Dostępny jest czwarty parametr opcjonalny, który pozwala ograniczyć ilość zwracanych atrybutów i wartości. Użycie tego parametru powinno być traktowane jako dobrą praktykę programistyczną. Czwarty parametr jest zwykłą tablicą ciągów zawierających wymagane atrybuty, na przykład: array( "mail", "cn").
Uwaga
DN jest zawsze zwracany niezależnie od typów żądanych typów atrybutów. Należy pamiętać, że niektóre serwery katalogów są tak skonfigurowane, aby zwracać nie więcej, niż skonfigurowaną ilość pozycji. Jeżeli wystąpi taka sytuacja, serwer wskazuje, że zwraca jedynie częściowy wynik. Występuje to również, gdy ustawiony zostanie szósty parametr $sizelimit ograniczający ilość pobieranych pozycji.
int ldap_search (int link_identifier, string base_dn, string filter
[, array attributes [, int attrsonly [, int sizelimit
[, int timelimit [, int deref]]]]])

Piąty parametr $attrsonly powinien być ustawiony na 1, jeżeli potrzebujemy jedynie atrybutu. Jeżeli ustawiony jest na 0, pobierane są zarówno atrybuty jak i ich wartości. Jest to ustawienie domyślne. Za pomocą szóstego parametru, $sizelimit, można ograniczyć ilość pobieranych pozycji.
Uwaga
Parametr ten nie może zwiększyć limitu ustawionego na serwerze, ale może go zmniejszyć. Siódmy parametr, $timelimit, ogranicza czas przeszukiwania katalogu do podanej liczby sekund. Ustawienie tego parametru na 0 powoduje zniesienie limitu.
Uwaga
Parametr ten nie może zwiększyć limitu ustawionego na serwerze, ale może go zmniejszyć. Ósmy parametr, $deref, wskazuje na sposób obsługi aliasów w czasie szukania. Może przyjmować następujące wartości:
- LDAP_DEREF_NEVER - (domyślny) aliasy nie są rozwijane
- LDAP_DEREF_SEARCHING - aliasy są rozwijane w czasie szukania, ale nie w czasie określania podstawowych obiektów przeszukiwania
- LDAP_DEREF_FINDING - aliasy są rozwijane w czasie określania podstawowych obiektów przeszukiwania, ale nie w czasie szukania
- LDAP_DEREF_ALWAYS - aliasy są zawsze rozwijane
Parametry opcjonalne $atrsonly, $sizelimit, $timelimit i $deref zostały dodane w PHP 4.0.2. Filtry przeszukiwania mogą być proste lub zaawansowane z wykorzystaniem operatorów logicznych w formacie opisanym w dokumentacji LDAP (np.: Netscape Directory SDK pod adresem http://developer.netscape.com/docs/manuals/directory/41/ag/find.htm). Poniższy przykład odczytuje jednostkę organizacyjną, nazwisko, imię i e-mail wszystkich osób w firmie "Firma", których nazwiska zawierają ciąg określony przez zmienną $person. Przykład ten wykorzystuje filtry logiczne nakazujące serwerowi poszukiwanie danych we większej ilości atrybutów. Przykład: Przeszukiwanie LDAP
// $ds jest identyfikatorem połączenia z katalogiem
// $person jest kompletną nazwą lub jej częścią np: "Jo"
$dn = "o=Firma, c=US";
$filter="((sn=$person*)(givenname=$person*))";
$justthese = array( "ou", "sn", "givenname", "mail");
$sr=ldap_search($ds, $dn, $filter, $justthese);
$info = ldap_get_entries($ds, $sr);
print $info["count"]." pozycji w wyniku< p >";|

ldap_unbind
Zwraca True w przypadku powodzenia operacji lub False w przypadku błędu. Funkcja ldap_unbind() odłącza od katalogu LDAP.
int ldap_unbind (int link_identifier)
leak
Powoduje "wyciek" określonej ilości pamięci. Jest to przydatne przy testowaniu zarządcy pamięci, który automatycznie odzyskuje pamięć utraconą po "wycieku", po zakończeniu każdego żądania.
void leak (int bytes)
levenshtein
Zwraca odległość Levenshtein pomiędzy dwoma ciągami przekazanymi jako argumenty lub -1 gdy jeden z ciągów jest dłuższy niż 255 znaków (255 powinno wystarczyć do porównywania nazwisk lub katalogów a nikt rozsądny nie będzie wykonywał analizy genetycznej za pomocą PHP). Odległość Levenshtein jest definiowana jako minimalna ilość znaków jakie trzeba zamienić, wstawić lub usunąć, aby zamienić $str1 na $str2. Algorytm ten ma złożoność O(m*n), gdzie m i n są długością ciągów $str1 i $str2 (całkiem nieźle w porównaniu do similar_text(), która ma złożoność O(max(n,m)**3), ale i tak jest to kosztowny algorytm) int levenshtein (string str1, string str2)
int levenshtein (string str1, string str2, int cost_ins, int cost_rep, int cost_del)
int levenshtein (string str1, string str2, function cost)

W swojej najprostszej postaci funkcja wymaga jedynie dwóch ciągów jako parametry i oblicza ilość operacji wstawienia, zamiany lub usunięcia potrzebnych do zamiany $str1 na $str2. Drugi wariant potrzebuje trzech dodatkowych paramterów definiujących koszt operacji wstawienia, zamiany i usunięcia. Jest to bardziej ogólny i adaptowalny wariant funkcji, ale nie jest on tak wydajny. Trzeci wariant, który jeszcze nie został zaimplementowany, będzie najbardziej ogólny, ale również najwolniejszy. Będzie wywoływał funkcję napisaną przez użtkownika, która będzie zwracała koszt każdej operacji. Funkcja użytkownika posiadać musi następujące parametry:
- operacja do wykonania: I, R lub D
- bieżący znak w ciągu 1
- bieżący znak w ciągu 2
- pozycja w ciągu 1
- pozycja w ciągu 2
- pozostałe znaki w ciągu 1
- pozostałe znaki w ciągu 2
Funkcja napisana przez użytkownika musi zwracać liczbę dodatnią oznaczającą koszt bieżącej operacji, ale do tego celu może używać tylko niektórych z przekazanych argumentów. Użycie funkcji użytkownika pozwala na możliwość wzięcia pod uwagę różnicy pomiędzy znakami lub nawet kontekstu, w jakim występują w ciągu. Jednak wywoływanie tej funkcji do obliczenia kosztu każdej operacji, powoduje utratę wszystkich optymalizacji użycia rejestrów procesora i pamięci podręcznej, które są zastosowane w poprzednich dwóch wariantach. Patrz również: soundex(), similar_text() i metaphone().
link Tworzy trwałe łącze. Patrz również: symlink() do tworzenia łącz symbolicznych oraz readlink() i linkinfo().
Uwaga
Funkcja ta nie działa w systemie Windows
int link (string target, string link)
linkinfo
Zwraca pole st_dev ze struktury stat zwracanej przez funkcję systemową lstat w systemie UNIX. Funkcja ta używana jest do sprawdzania, czy łącze (wskazywane przez $path) istnieje (wykorzystując metodę zdefiniowaną w makro S_ISLNK z pliku stat.h). Zwraca 0 lub False w przypadku błędu. Patrz również: symlink(), link() i readlink().
Uwaga
Funkcja ta nie działa w systemie Windows
int linkinfo (string path)
list
Podobnie jak array() nie jest prawdziwą funkcją, ale konstrukcją języka. list() jest używane do przypisywania wartości do listy zmiennych przy pomocy jednej operacji.
void list (…)
Przykład: list()
< table >
< tr >
< th >Nazwisko pracownika< /th >
< th >Pensja< /th >
< /tr >
< ?php
$result = mysql_query ($conn, "SELECT id, name, salary FROM employees");
while (list ($id, $name, $salary) = mysql_fetch_row ($result)) {
print (" < tr >\n".
" < td >< a href=\"info.php3?id=$id\" >$name< /a >< /td >\n".
" < td >$salary< /td > \n".
" < /tr >\n");
}
? >
< /table >

Patrz również: each() i array().
listen
Po utworzeniu gniazda $socket za pomocą funkcji socket() i przyłączeniu go za pomocą bind(), można za pomocą funkcji listen() nakazać nasłuchiwanie przychodzących połączeń. Kolejkowane i przetwarzane będzie $backlog połączeń. Funkcja listen() działa jedynie na gniazdach o typie SOCK_STREAM lub SOCK_SEQPACKET. Zwraca 0 w przypadku powodzenia lub ujemny kod błędu w przypadku niepowodzenia. Kod ten może być przekazany do strerror() w celu otrzymania tekstu opisującego błąd. Patrz również: socket_connect(), bind(), connect(), socket(), socket_get_status() i strerror().
int listen (resource socket, int backlog)
localtime
Zwraca tablicę identyczną ze strukturą zwracaną przez tą samą funkcję w C. Pierwszym argumentem localtime() jest znacznik czasu. Jeżeli nie zostanie podany, użyty zostanie bieżący czas. Drugi argument to $is_associative. Jeżeli jest ustawiony na 0 lub nie zostanie podany, zwracana tablica jest zwykłą tablicą z indeksami numerycznymi. Jeżeli argument ten zostanie ustawiony na 1, localtime() zwróci tablicę asocjacyjną zawierającą wszystkie elementy struktury zwracanej przez wywołanie funkcji localtime() w C.
array localtime ([int timestamp [, bool is_associative]])
Nazwy kluczy w tablicy asocjacyjnej są:
- tm_sec - sekundy
- tm_min - minuty
- tm_hour - godziny
- tm_mday - dzień miesiąca
- tm_mon - miesiąc w roku
- tm_year - rok, nie jest zgodny z rokiem 2000
- tm_wday - dzień tygodnia
- tm_yday - dzień kolejny w roku
- tm_isdst - czy zastosowano czas zimowy
log
Zwraca logarytm naturalny z $arg.
float log (float arg)
log10
Zwraca logarytm o podstawie 10 z $arg.
float log10 (float arg)
long2ip
Generuje adres internetowy w postaci z kropkami (aaa.bbb.ccc.ddd) na podstawie właściwej reprezentacji adresu.
string long2ip (int proper_address)
lstat
Zbiera statystyki pliku lub łącza symbolicznego o podanej nazwie. Funkcja jest podobna do stat() poza tym, że gdy parametr $filename jest łączem symbolicznym, zwracany jest stan łącza a nie status pliku, na który wskazuje łącze.
array lstat (string filename)
Zwraca tablicę ze statystykami następujących parametrów pliku:
ltrim
Usuwa znaki odstępu z początku ciągu i zwraca obcięty ciąg. Obsługiwanymi znakami odstępu są: \n, \r, \t, \v, \0 oraz spacja. Patrz również: chop() i trim().
string ltrim (string str [, string charlist])
mail
Wysyła wiadomość pocztową o treści przekazanej w $message do odbiorcy w $to. Można podać wielu odbiorców umieszczając średnik pomiędzy adresami przekazanymi w parametrze $to.
bool mail (string to, string subject, string message [, string additional_headers [, string additional_parameters]])
Przykład: wysyłanie poczty
mail("rasmus@lerdorf.on.ca", "Temat", "Linia 1\nLinia 2\nLinia 3");
Jeżeli zostanie przekazany czwarty argument ciąg ten jest wstawiany na końcu nagłówka. Jest on zwykle używany do wstawiania do wiadomości dodatkowych nagłówków. Kolejne wiersze nagłówka muszą być rozdzielone znakiem nowego wiersza. Przykład: Wysyłanie wiadomości z dodatkowymi nagłówkami
mail("nobody@aol.com", "Temat", $message,
"From: webmaster@$SERVER_NAME\nReply-To: webmaster@$SERVER_NAME\nX-Mailer: PHP/"
. phpversion());

Można również stosować proste techniki budowania ciągów do tworzenia całkiem skomplikowanych wiadomości e-mail.
Przykład: Wysyłanie skomplikowanych przesyłek e-mail
/* odbiorcy */
$recipient .= "Mary < mary@u.college.edu >" . ", " ; //zwróć uwagę na przecinek
$recipient .= "Kelly < kelly@u.college.edu> " . ", ";
$recipient .= "ronabop@php.net";
/* temat */
$subject = "Przypomnienie o urodzinach w sierpniu";
/* wiadomość */
$message .= "Wiadomość zawiera tabelę sformatowaną za pomocą znaków ASCII\n";
$message .= "Dzień \t\tMiesiąc \t\tRok\n";
$message .= "3 \t\tSierpień \t\t1970\n";
$message .= "17\t\tSierpień \t\t1973\n";
/* można dodać sygnaturkę */
$message .= "--\r\n"; //Separator sygnaturki
$message .= "Przypominacz urodzin oddany do publicznego używania";
/* dodatkowe fragmenty nagłówka, From cc, bcc, itp. */
$headers .= "From: Pzrypominacz urodzin \n";
$headers .= "X-Sender: \n";
$headers .= "X-Mailer: PHP\n"; // klient poczty
$headers .= "X-Priority: 1\n"; // wiadomość ważna!
$headers .= "Return-Path: \n"; // ścieżka zwrotna dla błedów
/* jeżeli chcez wysłać pocztę HTML, usuń komentarz z poniższej linii */
// $headers .= "Content-Type: text/html; charset=iso-8859-1\n"; // Typ mime
$headers .= "cc: birthdayarchive@php.net\n"; // CC
$headers .= "bcc: birthdaycheck@php.net, birthdaygifts@php.net"; // BCC
/* wyślij wiadomość */
mail($recipient, $subject, $message, $headers);

max
Zwraca parametr o największej wartości numerycznej. Jeżeli pierwszy parametr jest tablicą, max() zwraca największą wartość w tablicy. Jeżeli pierwszy parametr jest liczbą całkowitą, ciągiem lub liczbą double, funkcja wymaga co najmniej dwóch parametrów i zwraca największy z nich. Można porównywać nieograniczoną ilość wartości. Jeżeli jedna lub więcej wartości jest liczbą double, wszystkie wartości są traktowane jako double i zwracana jest liczba typu double. Jeżeli żadna z wartości nie jest liczbą double, wszystkie są traktowane jako liczby całkowite i również zwracana jest liczba całkowita.
mixed max (mixed arg1, mixed arg2, mixed argn)
mcal_append_event
Zapamiętuje globalne zdarzenie w kalendarzu MCAL, dla podanego strumienia. Zwraca identyfikator wstawionego zdarzenia.
int mcal_append_event (int mcal_stream)
mcal_close
Zamyka podany strumień MCAL.
int mcal_close (int mcal_stream, int flags)
mcal_create_calendar
Tworzy nowy kalendarz o nazwie $calendar.
string mcal_create_calendar (int stream, string calendar)
mcal_date_compare
Porównuje dwie podane daty. Zwraca <0, 0, >0 gdy ab.
int mcal_date_compare (int a_year, int a_month, int a_day,
int b_year, int b_month, int b_day)

mcal_date_valid
Zwraca True, jeżeli podany rok, miesiąc i dzień jest prawidłową datą lub False, gdy nie jest to data prawidłowa.
int mcal_date_valid (int year, int month, int day)
mcal_days_in_month
Zwraca ilość dni w podanym miesiącu biorąc pod uwagę, czy rok jest przestępny czy nie.
int mcal_days_in_month (int month, int leap year)
mcal_day_of_week
Zwraca dzień tygodnia dla podanej daty.
int mcal_day_of_week (int year, int month, int day)
mcal_day_of_year
Zwraca dzień w roku dla podanej daty.
int mcal_ (int year, int month, int day) mcal_delete_calendar
Usuwa kalendarz o nazwie $calendar.
string mcal_delete_calendar (int stream, string calendar)
mcal_delete_event
Usuwa zdarzenie kalendarza wskazywane przez $event_id. Zwraca True.
int mcal_delete_event (int mcal_stream [, int event_id])
mcal_event_add_attribute
Dodaje do globalnej struktury zdarzeń strumienia atrybut o wartości przekazanej w parametrze $value.
void mcal_event_add_attribute (int stream, string attribute, string value)
mcal_event_init
Inicjuje globalną strukturę strumienia. Powoduje to ustawienie wszystkich elementów struktury na 0 lub na wartość domyślną. Zwraca True.
int mcal_event_init (int stream)
mcal_event_set_alarm
Ustawia alarm w globalnej strukturze strumienia na podaną liczbę minut przed zdarzeniem. Zwraca True.
int mcal_event_set_alarm (int stream, int alarm)
mcal_event_set_category
Ustawia kategorię globalnej struktury zdarzenia na podany ciąg. Zwraca True.
int mcal_event_set_category (int stream, string category)
mcal_event_set_class
Ustawia klasę globalnej struktury zdarzenia na podaną wartość. Klasa może mieć wartość 1 - publiczna lub 0 - prywatna. Zwraca True.
int mcal_event_set_class (int stream, int class)
mcal_event_set_description
Ustawia opis globalnej struktury zdarzenia na podaną wartość. Zwraca True. int mcal_event_set_description (int stream, string description)
mcal_event_set_end
Ustawia datę i czas zakończenia w globalnej strukturze zdarzenia na podaną wartość. Zwraca True.
int mcal_event_set_end (int stream, int year, int month [, int day
[, int hour [, int min [, int sec]]]])

mcal_event_set_recur_daily
Ustawia wartość powtarzania w globalnej strukturze zdarzenia na podaną codzienne powtarzanie kończące się na podanej dacie.
int mcal_event_set_recur_daily (int stream, int year, int month, int day,
int interval)

mcal_event_set_recur_monthly_mday
Ustawia wartość powtarzania w globalnej strukturze zdarzenia na podaną comiesięczne powtarzanie opierając się na dniu miesiąca, kończące się na podanej dacie.
int mcal_event_set_recur_monthly_mday (int stream, int year, int month, int day,
int interval)

mcal_event_set_recur_monthly_wday
Ustawia wartość powtarzania w globalnej strukturze zdarzenia na podaną comiesięczne powtarzanie opierając się na tygodniu, kończące się na podanej dacie.
int mcal_event_set_recur_monthly_wday (int stream, int year, int month, int day,
int interval)

mcal_event_set_recur_none
Wyłącza powtarzanie w globalnej strukturze zdarzenia (event->recur_type jest ustawiane na MCAL_RECUR_NONE).
int mcal_event_set_recur_none (int stream)
mcal_event_set_recur_weekly
Ustawia wartość powtarzania w globalnej strukturze zdarzenia na podaną cotygodniowe powtarzanie, kończące się na podanej dacie.
int mcal_event_set_recur_weekly (int stream, int year, int month, int day,
int interval, int weekdays)

mcal_event_set_recur_yearly
Ustawia wartość powtarzania w globalnej strukturze zdarzenia na podaną coroczne powtarzanie, kończące się na podanej dacie.
int mcal_event_set_recur_yearly (int stream, int year, int month, int day,
int interval)
mcal_event_set_start
Ustawia datę i czas rozpoczęcia w globalnej strukturze zdarzenia na podaną wartość. Zwraca True.
int mcal_event_set_start (int stream, int year, int month [, int day [, int hour
[, int min [, int sec]]]])

mcal_event_set_title
Ustawia tytuł w globalnej strukturze zdarzenia na podany ciąg. Zwraca True.
int mcal_event_set_title (int stream, string title)
mcal_expunge
Usuwa wszystkie zdarzenia oznaczone jako usunięte.
int mcal_expunge (int stream)
mcal_fetch_current_stream_event
object mcal_fetch_current_stream_event (int stream)
Zwraca bieżącą strukturę zdarzenia ze strumienia w postaci obiektu zawierający następujące atrybuty:
- int id - Identyfikator zdarzenia.
- int public - TRUE jeżeli zdarzenie jest publiczne, FALSE jeżeli jest prywatne.
- string category - Ciąg z kategorią zdarzenia.
- string title - Ciąg z tytułem zdarzenia.
- string description - Ciąg z opisem zdarzenia.
- int alarm - Ilość minut przed zdarzeniem do wysłania alarmu lub przypomnienia.
- object start - Obiekt zawierający początkową datę i czas.
- object end - Obiekt zawierający końcową datę i czas.
- int recur_type - Typ powtarzania.
- int recur_interval - Okres powtarzania.
- datetime recur_enddate - Data zakończenia powtarzania.
- int recur_data - Dane powtarzania.
Wszystkie pozycje zawierające datę i czas są obiektem zawierającym:
- int year - rok
- int month - miesiąc
- int mday - dzień miesiąca
- int hour - godzina
- int min - minuty
- int sec - sekundy
- int alarm - ilość minut przed zdarzeniem kiedy należy wysłać przypomnienie
mcal_fetch_event
Pobiera zdarzenie ze strumienia kalendarza określonego przez $id.
object mcal_fetch_event (int mcal_stream, int event_id [, int options])
Zwraca obiekt zdarzenia zawierający następujące atrybuty:
- int id - Identyfikator zdarzenia.
- int public - TRUE jeżeli zdarzenie jest publiczne, FALSE jeżeli jest prywatne.
- string category - Ciąg z kategorią zdarzenia.
- string title - Ciąg z tytułem zdarzenia.
- string description - Ciąg z opisem zdarzenia.
- int alarm - Ilość minut przed zdarzeniem do wysłania alarmu lub przypomnienia.
- object start - Obiekt zawierający początkową datę i czas.
- object end - Obiekt zawierający końcową datę i czas.
- int recur_type - Typ powtarzania.
- int recur_interval - Okres powtarzania.
- datetime recur_enddate - Data zakończenia powtarzania.
- int recur_data - Dane powtarzania.
Wszystkie pozycje zawierające datę i czas są obiektem zawierającym:
- int year - rok
- int month - miesiąc
- int mday - dzień miesiąca
- int hour - godzina
- int min - minuty
- int sec - sekundy
- int alarm - ilość minut przed zdarzeniem kiedy należy wysłać przypomnienie
mcal_is_leap_year

Zwraca 1 gdy podany rok jest przestępny, 0 gdy nie jest.
int mcal_is_leap_year (int year)
mcal_list_alarms
Zwraca tablicę identyfikatorów zdarzeń, które posiadają ustawiony alarm pomiędzy datą początkową i końcową, lub jeżeli podano tylko strumień, używane są daty z globalnej struktury zdarzeń. Funkcja mcal_list_alarms() posiada opcjonalne parametry: datę początkowa końcową dla strumienia kalendarza. Zwracana jest tablica identyfikatorów zdarzeń, które mają alarm pomiędzy podanymi datami lub datami z wewnętrznej struktury zdarzeń. array mcal_list_alarms (int mcal_stream [, int begin_year [, int begin_month
[, int begin_day [, int end_year [, int end_month [, int end_day]]]]]])

mcal_list_events
Zwraca tablicę identyfikatorów zdarzeń występujących pomiędzy datą początkową i końcową, lub jeżeli podano tylko strumień, używane są daty z globalnej struktury zdarzeń. Funkcja mcal_list_events() posiada opcjonalne parametry: datę początkowa końcową dla strumienia kalendarza. Zwracana jest tablica identyfikatorów zdarzeń, które są pomiędzy podanymi datami lub datami z wewnętrznej struktury zdarzeń.
array mcal_list_events (int mcal_stream, objectbegin_date [, object end_date])
mcal_next_recurrence
Zwraca obiekt z kolejną datą wystąpienia zdarzenia po podanej dacie. Zwraca puste pole daty, jeżeli zdarzenie nie wystąpi lub wystąpił błąd. Używa parametru $weekstart do określenia dnia rozpoczynającego tydzień.
int mcal_next_recurrence (int stream, int weekstart, array next)
mcal_open
Zwraca strumień MCAL lub False w przypadku błędu. Funkcja mcal_open() otwiera połączenie MCAL do określonego kalendarza. Jeżeli podany zostanie opcjonalny parametr $options, funkcja przekazuje również ten parametr do skrzynki. Po zestawieniu połączenia inicjowana jest również wewnętrzna struktura strumienia.
int mcal_open (string calendar, string username, string password [, int options])
mcal_popen
Zwraca strumień MCAL lub False w przypadku błędu. Funkcja mcal_open() otwiera połączenie MCAL do określonego kalendarza. Jeżeli podany zostanie opcjonalny parametr $options, funkcja przekazuje również ten parametr do skrzynki. Po zestawieniu połączenia inicjowana jest również wewnętrzna struktura strumienia.
int mcal_popen (string calendar, string username, string password [, int options])
mcal_rename_calendar
Zmienia nazwę kalendarza z $old_name na $new_name.
string mcal_rename_calendar (int stream, string old_name, string new_name)
mcal_reopen
Funkcja mcal_reopen() ponownie otwiera połączenie MCAL do określonego kalendarza. Jeżeli podany zostanie opcjonalny parametr $options, funkcja przekazuje również ten parametr do skrzynki.
int mcal_reopen (string calendar [, int options])
mcal_snooze
Wyłącza alarm dla kalendarza o podanym identyfikatorze. Zwraca True.
int mcal_snooze (int id)
mcal_store_event
Zapamiętuje zmiany w bieżącym globalnym zdarzeniu dla podanego strumienia. Zwraca True w przypadku powodzenia a False w przypadku błędu.
int mcal_store_event (int mcal_stream)
mcal_time_valid
Zwraca True, jeżeli podana godzina, minuta i sekunda tworzą prawidłowy czas, False gdy jest to czas nieprawidłowy.
int mcal_time_valid (int hour, int minutes, int seconds)
mcrypt_cbc
Pierwszy prototyp jest dla przypadku, gdy dołączona jest biblioteka libmcrypt 2.2.x, drugi gdy libmcrypt 2.4.x. Funkcja mcrypt_cbc() szyfruje i deszyfruje (w zależności od trybu) dane $data za pomocą $cipher i $key w trybie szyfrowania CBC i zwraca wynikowy ciąg. Patrz również: mcrypt_cfb(), mcrypt_ecb() i mcrypt_ofb().
string mcrypt_cbc (int cipher, string key, string data, int mode [, string iv])
string mcrypt_cbc (string cipher, string key, string data, int mode [, string iv])
- $Cipher jest jedną ze stałych MCRYPT_ciphername.
- $Key jest kluczem przekazywanym do algorytmu. Musi być tajny.
- $Data to dane do zaszyfrowania lub odszyfrowania.
- $Mode to MCRYPT_ENCRYPT lub MCRYPT_DECRYPT.
- $IV jest opcjonalnym wektorem inicjalizacji.

mcrypt_cfb
Pierwszy prototyp jest dla przypadku, gdy dołączona jest biblioteka libmcrypt 2.2.x, drugi gdy libmcrypt 2.4.x. Funkcja mcrypt_cfb() szyfruje i deszyfruje (w zależności od trybu) dane $data za pomocą $cipher i $key w trybie szyfrowania CFB i zwraca wynikowy ciąg. Patrz również: mcrypt_cbc(), mcrypt_ecb() i mcrypt_ofb().
string mcrypt_cfb (int cipher, string key, string data, int mode, string iv)
string mcrypt_cfb (string cipher, string key, string data, int mode [, string iv])
- $Cipher jest jedną ze stałych MCRYPT_ciphername.
- $Key jest kluczem przekazywanym do algorytmu. Musi być tajny.
- $Data to dane do zaszyfrowania lub odszyfrowania.
- $Mode to MCRYPT_ENCRYPT lub MCRYPT_DECRYPT.
- $IV jest opcjonalnym wektorem inicjalizacji.

mcrypt_create_iv
Funkcja używana do tworzenia wektora IV. Posiada dwa argumenty, $size określa rozmiar IV, natomiast $source określa źródło IV. Źródłem może być MCRYPT_RAND (systemowy generator liczb losowych), MCRYPT_DEV_RANDOM (odczytanie danych z /dev/random) lub MCRYPT_DEV_URANDOM (odczytanie danych z /dev/urandom). Jeżeli używasz MCRYPT_RAND, upewnij się, że wywołałeś srand() przed inicjalizacją generatora liczb losowych.
string mcrypt_create_iv (int size, int source)
Przykład: mcrypt_create_iv() < ?php
$cipher = MCRYPT_TripleDES;
$block_size = mcrypt_get_block_size ($cipher);
$iv = mcrypt_create_iv ($block_size, MCRYPT_DEV_RANDOM);
? >
mcrypt_decrypt
Pobiera dane zaszyfrowane i zwraca je w postaci odszyfrowanej.
string mcrypt_decrypt (string cipher, string key, string data, string mode
[, string iv])

- $Cipher jest jedną ze stałych MCRYPT_ciphername.
- $Key jest kluczem przekazywanym do algorytmu. Jeżeli jest mniejszy od wymaganej wielkości klucza, jest dopełniany znakami \0.
- $Data to dane do odszyfrowania za pomocą podanego szyfru i trybu.
- $Mode to jedna ze stałych MCRYPT_MODE_modename która może być: ecb, cbc, cfb, ofb, nofb lub stream.
- $IV jest parametrem używanym do inicjalizacji dla trybów: CBC, CFB, OFB oraz w niektórych algorytmach dla trybu STREAM. Jeżeli nie podasz IV, gdy jest on wymagany przez algorytm, funkcja wypisze ostrzeżenie i użyje IV z wszystkimi bajtami ustawionymi na \0.
mcrypt_ecb
Pierwszy prototyp jest dla przypadku, gdy dołączona jest biblioteka libmcrypt 2.2.x, drugi gdy libmcrypt 2.4.x. Funkcja mcrypt_ecb() szyfruje i deszyfruje (w zależności od trybu) dane $data za pomocą $cipher i $key w trybie szyfrowania CFB i zwraca wynikowy ciąg. Patrz również: mcrypt_cbc(), mcrypt_ecb() i mcrypt_ofb(). string mcrypt_ecb (int cipher, string key, string data, int mode)
string mcrypt_ecb (string cipher, string key, string data, int mode [, string iv])
- $Cipher jest jedną ze stałych MCRYPT_ciphername.
- $Key jest kluczem przekazywanym do algorytmu. Musi być tajny.
- $Data to dane do zaszyfrowania lub odszyfrowania.
- $Mode to MCRYPT_ENCRYPT lub MCRYPT_DECRYPT.
- $IV jest opcjonalnym wektorem inicjalizacji.

Patrz również mcrypt_cbc(), mcrypt_cfb() i mcrypt_ofb().
mcrypt_encrypt
Szyfruje dane i zwraca ich zaszyfrowaną postać.
string mcrypt_encrypt (string cipher, string key, string data, string mode [, string iv])
- $Cipher jest jedną ze stałych MCRYPT_ciphername.
- $Key jest kluczem przekazywanym do algorytmu. Jeżeli jest mniejszy od wymaganej wielkości klucza, jest dopełniany znakami \0.
- $Data to dane do zaszyfrowania za pomocą podanego szyfru i trybu. Jeżeli rozmiar danych nie jest n * blocksize, dane będą dopełnione znakami \0. Zwracany zaszyfrowany ciąg może być dłuższy od danych przekazanych w parametrze $data.
- $Mode to jedna ze stałych MCRYPT_MODE_modename która może być: ecb, cbc, cfb, ofb, nofb lub stream.
- $IV jest parametrem używanym do inicjalizacji dla trybów: CBC, CFB, OFB oraz w niektórych algorytmach dla trybu STREAM. Jeżeli nie podasz IV, gdy jest on wymagany przez algorytm, funkcja wypisze ostrzeżenie i użyje IV z wszystkimi bajtami ustawionymi na \0.
Przykład: mcrypt_encrypt()
< ?php
$iv = mcrypt_create_iv (
mcrypt_get_iv_size (MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND);
$key = "To jest sekretny klucz";
$text = "Spotkajmy się o 11:00 za pomnikiem.";
echo strlen ($text)."\n";
$crypttext = mcrypt_encrypt (MCRYPT_RIJNDAEL_256, $key, $text,
MCRYPT_MODE_ECB, $iv);
echo strlen ($crypttext)."\n";
? >

Przykład ten powinien wypisać:
35
64
mcrypt_enc_get_algorithms_name
Zwraca nazwę algorytmu.
string mcrypt_enc_get_algorithms_name (resource td) mcrypt_enc_get_block_size
Zwraca wielkość bloku dla algorytmu określonego przez deskryptor $td w bajtach.
int mcrypt_enc_get_block_size (resource td)
mcrypt_enc_get_iv_size
Zwraca wielkość iv dla algorytmu określonego przez deskryptor szyfrowania w bajtach. Jeżeli zwraca 0, IV jest ignorowany przez algorytm. Parametru IV używają tryby cbc, cfb o ofb, oraz niektóre algorytmy w trybie stream.
int mcrypt_enc_get_iv_size (resource td)
mcrypt_enc_get_key_size
Zwraca maksymalną wielkość klucza obsługiwaną przez algorytm określony przez deskryptor $td, w bajtach.
int mcrypt_enc_get_key_size (resource td)
mcrypt_enc_get_modes_name
Zwraca nazwę trybu.
string mcrypt_enc_get_modes_name (resource td)
mcrypt_enc_get_supported_key_sizes
Zwraca tablicę z wielkościami kluczy obsługiwanymi przez algorytm określony przez deskryptor szyfrowania. Jeżeli zwróci pustą tablicę to oznacza, że wszystkie wielkości kluczy pomiędzy 1 i mcrypt_enc_get_key_size() są obsługiwane przez algorytm.
array mcrypt_enc_get_supported_key_sizes (resource td)
mcrypt_enc_is_block_algorithm
Zwraca 1, jeżeli algorytm jest blokowy, 0 jeżeli jest to algorytm strumieniowy.
int mcrypt_enc_is_block_algorithm (resource td)
mcrypt_enc_is_block_algorithm_mode
Zwraca 1, gdy tryb jest używany przez algorytm blokowy, w przeciwnym przypadku zwraca 0 (na przykład, 0 dla stream a 1 dla cbc, cfb, ofb).
int mcrypt_enc_is_block_algorithm_mode (resource td)
mcrypt_enc_is_block_mode
Zwraca 1, gdy tryb zwraca bloki bajtów lub 0, gdy zwraca bajty (na przykład 1 dla cbc i ecb a 0 dla cfb i stream).
int mcrypt_enc_is_block_mode (resource td)
mcrypt_enc_self_test
Uruchamia samotestowanie algorytmu określonego przez deskryptor $td. Jeżeli test się uda, zwraca 0. W przypadku błędu zwraca 1.

int mcrypt_enc_self_test (resource td)
mcrypt_generic
Szyfruje dane. Dane są dopełniane znakami \0 do wielkości n * blocksize. Funkcja zwraca zaszyfrowane dane.
Uwaga
Wielkość zwracanego ciągu może być większa od danych wejściowych z powodu dopełniania danych.
string mcrypt_generic (resource td, string data)
mcrypt_generic_end
Kończy szyfrowanie określone przez deskryptor szyfrowania ($td). Czyści wszystkie bufory i zamyka użyte moduły. Zwraca False w przypadku wystąpienia błędu a True w przypadku powodzenia operacji.
bool mcrypt_generic_end (resource td)
mcrypt_generic_init
Maksymalna długość klucza powinna być pobrana poprzez wywołane funkcji mcrypt_enc_get_key_size() i wszystkie wartości mniejsze od uzyskanej są dopuszczalne. Parametr $iv powinien mieć normalnie wielkość bloku używanego przez algorytm, ale należy odczytać tą wielkość przy pomocy funkcji mcrypt_enc_get_iv_size(). W trybie ECB IV jest ignorowany. IV jest wymagany w trybach CFB, CBC, STREAM, nOFB i OFB. Musi być on losowy i niepowtarzalny, ale nie musi być tajny. Ten sam wektor IV musi być użyty do kodowania i rozkodowywania. Jeżeli nie chcesz go używać, można zainicjować go zerami, ale nie jest to zalecane. W przypadku wystąpienia błędu funkcja zwraca -1. Funkcja ta musi zostać wywołana przed każdym wywołaniem mcrypt_generic() lub mdecrypt_generic().
int mcrypt_generic_init (resource td, string key, string iv)
mcrypt_get_block_size
Pierwszy prototyp jest dla przypadku, gdy dołączona jest biblioteka libmcrypt 2.2.x, drugi gdy libmcrypt 2.4.x. Funkcja mcrypt_get_block_size() jest używana do pobierania wielkości bloku dla podanego szyfrowania, $cipher. Funkcja wymaga dwóch argumentów, $cipher oraz $module i zwraca wielkość w bajtach. Patrz również: mcrypt_get_key_size().
int mcrypt_get_block_size (int cipher)
int mcrypt_get_block_size (string cipher, string module)
mcrypt_get_cipher_name

Funkcja używana do pobierania nazwy podanego szyfrowania. Wymaga podania szyfrowania w postaci liczby (libmcrypt 2.2.x) lub pobiera nazwę szyfrowania jako argument i zwraca nazwę szyfrowania lub False, jeżeli nie istnieje ten sposób szyfrowania. string mcrypt_get_cipher_name (int cipher)
string mcrypt_get_cipher_name (string cipher)

Przykład: mcrypt_get_cipher_name()
< ?php
$cipher = MCRYPT_TripleDES;
print mcrypt_get_cipher_name ($cipher);
? >

Przykład ten zwróci następujący napis:
TripleDES
mcrypt_get_iv_size
Pierwszy prototyp jest dla przypadku, gdy dołączona jest biblioteka libmcrypt 2.2.x, drugi gdy libmcrypt 2.4.x. Funkcja mcrypt_get_iv_size() zwraca wielkość wektora inicjalizacji (IV) w bajtach. W przypadku błędu zwraca FALSE. Jeżeli w podanym trybie IV jest ignorowany, funkcja zwraca 0.
int mcrypt_get_iv_size (string cipher, string mode)
int mcrypt_get_iv_size (resource td)
- $Cipher jest jedną ze stałych MCRYPT_ciphername.
- $Mode to jedna ze stałych MCRYPT_MODE_modename która może być: ecb, cbc, cfb, ofb, nofb lub stream.
- $Td jest podanym algorytmem.

mcrypt_get_key_size
Pierwszy prototyp jest dla przypadku, gdy dołączona jest biblioteka libmcrypt 2.2.x, drugi gdy libmcrypt 2.4.x. Funkcja używana do pobierania wielkości klucza dla podanego szyfrowania, $cipher. Funkcja mcrypt_get_key_size() wymaga podania jednego lub dwóch parametrów, $cipher oraz $module i zwraca wielkość w bajtach. Patrz również: mcrypt_get_block_size().
int mcrypt_get_key_size (int cipher)
int mcrypt_get_key_size (string cipher, string module)
mcrypt_list_algorithms

Funkcja używana do pobrania tablicy wszystkich obsługiwanych algorytmów w $lib_dir. Posiada parametr opcjonalny, określający katalog w którym znajdują się wszystkie algorytmy. Jeżeli nie zostanie on podany, użyta zostanie wartość mcrypt.algorithms_dir z pliku php.ini.
array mcrypt_list_algorithms ([string lib_dir])
Przykład: mcrypt_algorithms()
< ?php
$algorithms = mcrypt_list_algorithms ("/usr/local/lib/libmcrypt");
foreach ($algorithms as $cipher) {
echo $cipher."/n";
}
? >

Przykład ten utworzy listę wszystkich obsługiwanych algorytmów z katalogu /usr/local/lib/mcrypt.
mcrypt_list_modes
Funkcja używana do pobrania tablicy z wszystkimi obsługiwanymi trybami w $lib_dir. Posiada parametr opcjonalny, określający katalog w którym znajdują się wszystkie tryby. Jeżeli nie zostanie on podany, użyta zostanie wartość mcrypt.modes_dir z pliku php.ini.
array mcrypt_list_modes ([string lib_dir])
Przykład: mcrypt_list_modes()
< ?php
$modes = mcrypt_list_modes ();
foreach ($modes as $mode) {
echo "$mode < /br >";
}
? >

Przykład ten tworzy listę wszystkich obsługiwanych algorytmów w domyślnym katalogu trybów. Jeżeli nie jest ustawiony w pliku php.ini jako dyrektywa mcrypt.modes_dir, użyty zostanie domyślny katalog dla biblioteki mcrypt (/usr/local/lib/libmcrypt)
mcrypt_module_get_algo_block_size
Zwraca wielkość bloku w bajtach dla podanego algorytmu. W opcjonalnym parametrze $lib_dir można podać miejsce, gdzie są zapisane moduły trybów.
int mcrypt_module_get_algo_block_size (string algorithm [, string lib_dir])
mcrypt_module_get_algo_key_size
Zwraca największą obsługiwaną wielkość klucza w bajtach. W opcjonalnym parametrze $lib_dir można podać miejsce, gdzie są zapisane moduły trybów. int mcrypt_module_get_algo_key_size (string algorithm [, string lib_dir])
mcrypt_module_get_algo_supported_key_sizes
Zwraca tablicę z wielkościami kluczy obsługiwanych przez podany algorytm. Jeżeli funkcja zwróci pustą tablicę, dopuszczalne są wszystkie rozmiary klucza pomiędzy 1 i mcrypt_get_algo_key_size().W opcjonalnym parametrze $lib_dir można podać miejsce, gdzie są zapisane moduły trybów. array mcrypt_module_get_algo_supported_key_sizes (string algorithm [, string lib_dir])
mcrypt_module_is_block_algorithm
Zwraca True, jeżeli podany algorytm jest algorytmem blokowym i False, jeżeli jest algorytmem strumieniowym. W opcjonalnym parametrze $lib_dir można podać miejsce, gdzie są zapisane moduły trybów.
bool mcrypt_module_is_block_algorithm (string mode [, string lib_dir])
mcrypt_module_is_block_algorithm_mode
Zwraca True, jeżeli tryb używany jest z algorytmem blokowym, w przeciwnym wypadku zwraca 0 (na przykład 0 dla stream i 1 dla cbc, cfb, cfb). W opcjonalnym parametrze $lib_dir można podać miejsce, gdzie są zapisane moduły trybów.
bool mcrypt_module_is_block_algorithm_mode (string mode [, string lib_dir])
mcrypt_module_is_block_mode
Zwraca True, jeżeli tryb powoduje wysyłanie bloków bajtów lub False, gdy pojedynczych bajtów (na przykład: 1 dla cbc i ecb a 0 dla cfb i stream). W opcjonalnym parametrze $lib_dir można podać miejsce, gdzie są zapisane moduły trybów.
bool mcrypt_module_is_block_mode (string mode [, string lib_dir])
mcrypt_module_open
Otwiera moduł używanego algorytmu i trybu. Nazwa algorytmu jest podana w parametrze $algorithm, na przykład: twofish jest jedną ze stałych MCRYPT_ciphername. Biblioteka jest zamykana przez mcrypt_module_close() ale wywołanie tej funkcji jest niepotrzebne, jeżeli została wywołana funkcja mcrypt_generic_end(). Normalnie zwraca deskryptor szyfrowania lub False w przypadku wystąpienia błędu. Parametry $algorithm_directory i $mode_directory używane są do odnalezienia modułów szyfrowania. Jeżeli jeden z tych parametrów zostanie ustawiony na "", użyte zostaną wartości znajdujące się w dyrektywach mcrypt.algorithms_dir lub mcrypt.modes_dir. Jeżeli parametry nie zostaną ustawione, użyte zostaną wartości wkompilowane w bibliotekę libmcrypt (zwykle /usr/local/lib/libmcrypt).
resource mcrypt_module_open (string algorithm, string algorithm_directory, string mode, string mode_directory)
Przykład: mcrypt_module_open()
< ?php
$td = mcrypt_module_open (MCRYPT_DES, "", MCRYPT_MODE_ECB, "/usr/lib/mcrypt-modes");
? >

Przykład ten będzie próbował otworzyć szyfrowanie DES z bieżącego katalogu i tryb ECB z katalogu /usr/lib/mcrypt-modes.
mcrypt_module_self_test
Uruchamia samotestowanie szyfrowania podanego szyfrowania. W opcjonalnym parametrze $lib_dir można podać miejsce, gdzie są zapisane moduły trybów. Funkcja zwraca True, jeżeli test się powiedzie i False, jeżeli się nie uda.
bool mcrypt_module_self_test (string algorithm [, string lib_dir])
mcrypt_ofb
Pierwszy prototyp jest dla przypadku, gdy dołączona jest biblioteka libmcrypt 2.2.x, drugi gdy libmcrypt 2.4.x. Funkcja mcrypt_ofb() szyfruje i deszyfruje (w zależności od trybu) dane $data za pomocą $cipher i $key w trybie szyfrowania OFB i zwraca wynikowy ciąg. string mcrypt_ofb (int cipher, string key, string data, int mode, string iv)
string mcrypt_ofb (string cipher, string key, string data, int mode [, string iv])
- $Cipher jest jedną ze stałych MCRYPT_ciphername.
- $Key jest kluczem przekazywanym do algorytmu. Musi być tajny.
- $Data to dane do zaszyfrowania lub odszyfrownania.
- $Mode to jedna ze stałych MCRYPT_ENCRYPT lub MCRYPT_DECRYPT.
- $IV jest wektorem inicjalizacji.

Patrz również: mcrypt_cbc(), mcrypt_cfb() i mcrypt_ecb().
md5>
Wykonuje mieszanie ciągu $str metodą MD5 używaną przez RSA Data Cecurity Inc. Patrz również: crc32().
string md5 (string str)
mdecrypt_generic
Odszyfrowuje dane.

Uwaga
Długość zwracanego ciągu może być większa niż ciąg niezaszyfrowany z powodu wyrównywania danych.
string mdecrypt_generic (resource td, string data)
Przykład: mdecrypt_generic()
< ?php
$iv_size = mcrypt_enc_get_iv_size ($td));
$iv = @mcrypt_create_iv ($iv_size, MCRYPT_RAND);
if (@mcrypt_generic_init ($td, $key, $iv) != -1)
{
$c_t = mcrypt_generic ($td, $plain_text);
@mcrypt_generic_init ($td, $key, $iv);
$p_t = mdecrypt_generic ($td, $c_t);
}
if (strncmp ($p_t, $plain_text, strlen($plain_text)) == 0)
echo "ok";
else
echo "błąd";
? >

Przykład pokazuje w jaki sposób sprawdzić, czy dane przed szyfrowaniem są takie same jak po odszyfrowaniu.
metaphone
Oblicza klucz metaphone dla $str. Podobnie jak soundex(), funkcja ta zwraca ten sam klucz dla podobnie brzmiących słów. Jest ona dokładniejsza od soundex(), ponieważ stosuje podstawowe zasady wymowy angielskiej. Klucze wygenerowane przez funkcję są zmiennej długości. Autorem algorytmu jest Lawrence Philips . Został on opisany w książce "Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995.
string metaphone (string str)

method_exists
Funkcja zwraca True jeżeli dla obiektu $object zdefiniowana jest metoda $method_name. W przeciwnym przypadku zwraca False.
bool method_exists (object object, string method_name)
mhash Uruchamia funkcję mieszającą określoną w $hash na danych $data i zwraca wynik mieszania.
string mhash (int hash, string data, string [ key ])
mhash_count
Zwraca największy dostępny identyfikator funkcji mieszającej. Są one numerowane od 0.
int mhash_count (void)
Przykład: Przeglądanie funkcji mieszających
< ?php
$nr = mhash_count();
for ($i = 0; $i <= $nr; $i++) {
echo sprintf ("Wielkość bloku dla %s wynosi %d\n",
mhash_get_hash_name ($i),
mhash_get_block_size ($i));
}
? >

mhash_get_block_size
Funkcja używana do pobrania wielkości bloku dla podanej funkcji mieszającej. Wymaga podania jednego parametru, identyfikatora funkcji mieszającej i zwraca wielkość bloku w bajtach lub False jeżeli nie istnieje podana funkcja.
int mhash_get_block_size (int hash)
mhash_get_hash_name
Funkcja używana do pobrania nazwy podanej funkcji mieszającej. Wymaga podania jednego parametru, identyfikatora funkcji mieszającej i zwraca jej nazwę lub False jeżeli podana funkcja nie istnieje.
string mhash_get_hash_name (int hash)
Przykład: mhash_get_hash_name()
< ?php
$hash = MHASH_MD5;
print mhash_get_hash_name ($hash);
? >

Uruchomienie przykładu spowoduje wypisanie następującego wyniku:
MD5
microtime
Zwraca ciąg "mikrosekundy sekundy" gdzie sekundy są bieżącym czasem wyrażonym w sekundach od początku epoki Uniksa (1 stycznia 1970, 0:00:00). Funkcja jest dostępna w systemach obsługujących funkcję systemową gettimeofday(). Parz również: time().
string microtime (void)
min
Zwraca wartość najmniejszego numerycznie parametru. Jeżeli pierwszy parametr jest tablicą, min() zwraca najmniejszą wartość w tablicy. Jeżeli pierwszy parametr jest liczbą całkowitą, ciągiem lub liczbą double, funkcja wymaga co najmniej dwóch parametrów i zwraca najmniejszy z nich. Można porównywać nieograniczoną ilość wartości. Jeżeli jedna lub więcej wartości jest liczbą double, wszystkie wartości są traktowane jako double i zwracana jest liczba typu double. Jeżeli żadna z wartości nie jest liczbą double, wszystkie są traktowane jako liczby całkowite i również zwracana jest liczba całkowita.
number min (number arg1, number arg2 [, ...])
mkdir
Tworzy katalog określony o podanej nazwie.
Uwaga
Prawdopodobnie będziesz chciał podać typ jako liczbę ósemkową, musisz więc dodać na jej początku zero.
int mkdir (string pathname, int mode)
Zwraca True w przypadku powodzenia operacji lub False w przypadku wystąpienia błędu. Patrz również: rmdir().
mkdir ("/sciezka/do/nowego/katalogu", 0700);
mktime
Ostrzeżenie
Zwróć uwagę na dziwną kolejność argumentów, która różni się od kolejności stosowanej w wywołaniu funkcji Uniksa mktime() która nie pomaga w opuszczaniu parametrów od prawej do lewej strony. Częstym błędem jest pomieszanie tych parametrów w skrypcie. Zwraca znacznik czasu Uniksa odpowiadający podanym argumentom. Znacznik ten to liczba całkowita zawierająca ilość sekund od początku ery Uniksa (1 stycznia 1970) do podanego czasu. Argumenty mogą być opuszczane od prawej do lewej strony a opuszczone wartości będą zastępowane bieżącym czasem lokalnym.
int mktime (int hour, int minute, int second, int month, int day, int year [, int is_dst])
Parametr $is_dst może być ustawiony na 1 w przypadku, gdy obowiązuje czas zimowy, na 0 gdy obowiązuje czas letni lub na -1 (domyślnie) gdy nie wiadomo jaki czas obowiązuje.
Uwaga
Parametr $is_dst został dodany w PHP 3.0.10.
Funkcja mktime() jest pożyteczna do obliczeń na datach oraz kontroli ich poprawności, ponieważ automatycznie oblicza właściwe wartości dla parametrów spoza zakresu. Na przykład: każdy z poniższych wierszy powoduje wypisanie ciągu Jan-01-1998. Przykład: mktime()
echo date ("M-d-Y", mktime (0,0,0,12,32,1997));
echo date ("M-d-Y", mktime (0,0,0,13,1,1997));
echo date ("M-d-Y", mktime (0,0,0,1,1,1998));
echo date ("M-d-Y", mktime (0,0,0,1,1,98));

Parametr $year może być liczbą dwu bądź czterocyfrową o wartościach 0-69 odpowiadających 2000-2069 oraz 70-99 odpowiadających 1970-1999 (w systemach w których time_t jest 32-bitową liczą ze znakiem, czyli większości współczesnych, prawidłowym zakresem dla $year jest 1902-2037). Ostatni dzień dowolnego miesiąca może być podany jako dzień 0 miesiąca następnego. Poniższy przykład wypisze dwukrotnie Ostatnim dniem lutego 2000 jest: 29. Przykład: Ostatni dzień miesiąca:
$lastday = mktime (0,0,0,3,0,2000);
echo strftime ("Ostatnim dniam lutego 2000 jest: %d", $lastday);
$lastday = mktime (0,0,0,4,-31,2000);
echo strftime ("Ostatnim dniam lutego 2000 jest: %d", $lastday);
Jeżeli jako rok, miesiąc i dzień podane zostaną wartości 0, data taka uznana zostanie za błędną. Jeżeli by tak nie było, odpowiadało by to dacie 30.11.1999, co wydawać by się mogło dziwnym działaniem. Patrz również: date() i time().
move_uploaded_file
Funkcja dostępna w PHP 3 powyżej wersji 3.0.16 i w PHP 4 powyżej 4.0.2. Funkcja sprawdza, czy plik określony przez $filename jest plikiem przesłanym na serwer (za pomocą mechanizmu przesyłania HTTP POST). Jeżeli plik jest prawidłowy zostaje on przeniesiony na ścieżkę określoną przez $destination. Jeżeli $filename nie jest prawidłowym plikiem załadowanym na serwer, nie jest wykonywana żadna operacja i funkcja move_upload_file() zwraca False. Jeżeli $filename jest prawidłowym plikiem załadowanym na serwer, ale z jakichkolwiek przyczyn nie może być on przeniesiony, nie jest wykonywana żadna operacja a funkcja move_upload_file() zwraca False. Dodatkowo wyświetlane jest ostrzeżenie. Sprawdzenie to jest szczególnie istotne w przypadkach, gdy istnieje jakakolwiek szansa, że zawartość przesyłanego pliku może być pokazana użytkownikowi, lub innym użytkownikom na tym samym systemie. Patrz również: is_uploaded_file() oraz część podręcznika sieciowego zatytułowaną: Handling file uploads.
bool move_uploaded_file (string filename, string destination)
msql
Zwraca dodatni identyfikator wyniku zapytania mSQL, lub False w przypadku wystąpienia błędu. Funkcja mSQL wybiera bazę danych i wykonuje na niej zapytanie. Jeżeli nie zostanie podany opcjonalny identyfikator połączenia, funkcja próbuje znaleźć otwarte połączenie do serwera mSQL. Jeżeli nie zostanie znalezione takie połączenie, funkcja spróbuje nawiązać je wywołując funkcję msql_connect() bez parametrów. Patrz również: msql_connect(). int msql (string database, string query, int link_identifier)
msql_affected_rows
Zwraca ilość wierszy biorących udział w zapytaniu (to znaczy ilość wierszy zwróconych przez SELECT, ilość wierszy zmienionych przez UPDATE lub ilość wierszy usuniętych przez DELETE). Patrz również: msql_query().
int msql_affected_rows (int query_identifier)
msql_close
Zwraca True w przypadku powodzenia operacji a False w przypadku błędu. Funkcja zamyka połączenie z bazą mSQL skojarzoną z podanym identyfikatorem połączenia. Jeżeli nie zostanie podany identyfikator połączenia, zostanie użyty ostatnio otwarte połączenie.
Uwaga
Zwykle nie jest konieczne używanie tej funkcji, ponieważ połączenia nie otwarte jako trwałe są zamykane automatycznie po zakończeniu skryptu. Funkja msql_close() nie zamyka połączeń trwałych wygenerowanych przez msql_pconnect(). Patrz również: msql_connect() i msql_pconnect().
int msql_close (int link_identifier)
msql_connect
Zwraca dodatni identyfikator połączenia do mSQL, lub False w przypadku błędu. Funkcja msql_connect() nawiązuje połączenie z serwerem mSQL. Nawa komputera jest opcjonalna i jeżeli jest opuszczona, przyjmowana jest nazwa localhost. Drugie wywołanie msql_connect() z takimi samymi argumentami nie spowoduje zestawienia następnego połączenia. Zamiast tego zwrócony zostanie identyfikator istniejącego już połączenia. Połączenie z serwerem zostanie zamknięte po zakończeniu wykonywania skryptu chyba, że wcześniej zostanie zamknięte za pomocą msql_close(). Patrz również: msql_pconnect() i msql_close().
int msql_connect ([string hostname [, string hostname[:port] [, string username [, string password]]]])
msql_createdb
Taka sama jak msql_create_db().
int msql_createdb (string database name [, int link_identifier])
msql_create_db
Tworzy bazę danych na serwerze skojarzonym z podanym identyfikatorem połączenia. Patrz również: msql_drop_db().
int msql_create_db (string database name [, int link_identifier])
msql_data_seek
Zwraca True w przypadku powodzenia operacji a False w przypadku błędu. Przesuwa wewnętrzny znacznik wiersza w wyniku mSQL skojarzonym z podanym identyfikatorem wyniku zapytania do wiersza o podanym numerze. Kolejne wywołanie funkcji msql_fetch_row() zwróci ten wiersz. Patrz również: msql_fetch_row().
int msql_data_seek (int query_identifier, int row_number)
msql_dbname
Zwraca nazwę bazy danych zapisaną na pozycji $i wskaźnika zwracanego przez funkcję msql_listdbs(). Funkcja może być wykorzystana do sprawdzenia ilości dostępnych baz danych.
string msql_dbname (int query_identifier, int i)
msql_dropdb
Patrz msql_drop_db().
int msql_dropdb (void)
msql_drop_db
Zwraca True w przypadku powodzenia operacji a False w przypadku błędu. Funkcja msql_drop_db() próbuje usunąć z serwera całą bazę danych skojarzoną z podanym identyfikatorem połączenia. Patrz również: msql_create_db().
int msql_drop_db (string database_name, int link_identifier)
msql_error
Błędy przychodzące z serwera mSQL nie są traktowane jako ostrzeżenia PHP. Zamiast tego należy używać tej funkcji do pobierania ciągu z opisem błędu.
string msql_error ()
msql_fetch_array
Zwraca tablicę odpowiadająca pobranemu wierszowi, lub False jeżeli nie ma już wierszy do pobrania. Funkcja msql_fetch_array() jest rozszerzeniem funkcji msql_fetch_row(). Oprócz zapamiętywania danych pod indeksami numerycznymi, dodatkowo dane są zapisywane pod indeksami asocjacyjnymi, używając nazw pól jako kluczy. Drugi argument, $result_type w funkcji msql_fetch_array() jest jedną z następujących stałych: MSQL_ASSOC, MSQL_NUM i MSQL_BOTH. Należy być uważym przy odczytywaniu wyników zapytania, które może zwrócić tylko jedno pole, które ma wartość 0 (pusty ciąg albo NULL).
Uwaga
Funkcja msql_fetch_array() NIE jest wyraźnie wolniejsza od funkcji msql_fetch_row(), jedynie dostarcza więcej wyników. Bardziej szczegółowo jest to opisane przy funkcji msql_fetch_row().
int msql_fetch_array (int query_identifier [, int result_type])
msql_fetch_field
Zwraca obiekt zawierający informacje o polu. Funkcja msql_fetch_field() może być użyta do pobrania danych na temat pól w wyniku. Jeżeli nie zostanie podane przesunięcie, odczytywane jest następne pole, które nie było jeszcze odczytane.
object msql_fetch_field (int query_identifier, int field_offset)
Właściwości zwracanego obiektu są następujące:
- name - nazwa kolumny
- table - nazwa tabeli do której należy kolumna
- not_null - 1 jeżeli kolumna nie może być pusta
- primary_key - 1 jeżeli kolumna jest kluczem głównym
- unique - 1 jeżeli kolumna jest kluczem unikalnym
- type - typ kolumny
msql_fetch_object
Zwraca obiekt z właściwościami odpowiadającymi polom pobieranego wiersza lub False, jeżeli nie ma więcej wierszy do pobrania. Funkcja msql_fetch_object() jest podobna do msql_fetch_array() z jedną różnicą - zwracany jest obiekt a nie tablica. Oznacza to, że możesz odwoływać się do pól poprzez nazwy a nie poprzez indeks( liczby nie są prawidłowymi nazwami właściwości). Drugi argument, $result_type w funkcji msql_fetch_array() jest jedną z następujących stałych: MSQL_ASSOC, MSQL_NUM i MSQL_BOTH. Funkcja jest identyczna wydajnościowo z msql_fetch_array() i prawie tak samo szybka jak msql_fetch_row() - różnica jest nieznaczna. Patrz również: msql_fetch_array() i msql_fetch_row().
int msql_fetch_object (int query_identifier [, int result_type])
msql_fetch_row
Zwraca tablicę odpowiadająca pobranemu wierszowi, lub False jeżeli nie ma już wierszy do pobrania. Funkcja msql_fetch_row() pobiera jeden wiersz z wyniku określonego przez identyfikator zapytania. Wiersz jest zwracany w postaci tablicy. Każda kolumna jest zapisywana w osobnym indeksie tablicy, rozpoczynając od 0. Kolejne wywołanie msql_fetch_row() powoduje zwracanie kolejnych wierszy z wyniku lub False jeżeli nie ma już więcej wierszy. Patrz również: msql_fetch_array(), msql_fetch_object(), msql_data_seek() i msql_result().
array msql_fetch_row (int query_identifier)
msql_fieldflags
Zwraca atrybuty podanego pola. Atrybutami są not null, primary key, kombinacja obu oraz pusty ciąg.
string msql_fieldflags (int query_identifier, int i)
msql_fieldlen Zwraca długość podanego pola. int msql_fieldlen (int query_identifier, int i) msql_fieldname
Zwraca nazwę podanego pola. Parametr $query_identifier jest identyfikatorem zapytania, a $field jest numerem kolejnym pola. Funkcja msql_fieldname($result, 2) zwróci nazwę drugiego pola z wyniku związanego z podanym identyfikatorem wyniku.
string msql_fieldname (int query_identifier, int field)
msql_fieldtable
Zwraca nazwę tabel do której należy pole $field.
int msql_fieldtable (int query_identifier, int field)
msql_fieldtype
Podobna do funkcji msql_fieldname(). Argumenty są takie same, ale zwracany jest typ pola. Może być to int, char lub real.
string msql_fieldtype (int query_identifier, int i)
msql_field_seek
Przesuwa wskaźnik do podanego numeru pola. Jeżeli następne wywołanie msql_fetch_field() nie będzie zawierało numeru pola, zostanie zwrócone to właśnie pole. Patrz również: msql_fetch_field().
int msql_field_seek (int query_identifier, int field_offset)
msql_freeresult
Patrz msql_free_result().
msql_freeresult( void )
msql_free_result
Zwalnia pamięć przydzieloną dla $query_identifier. Po zakończeniu wykonywania żądania pamięć jest zwalniana automatycznie. Funkcja ta jest potrzebna tylko wtedy, gdy nie chcemy zużywać zbyt wiele pamięci w czasie działania skryptu.
int msql_free_result (int query_identifier)
msql_listdbs
Patrz msql_list_dbs().
msql_listdbs( void )
msql_listfields
Patrz msql_list_fields().
msql_listfields( void )
msql_listtables
Patrz msql_list_tables().
msql_listtables( void )
msql_list_dbs
Zwraca znacznik wyniku zawierającego bazy danych dostępne dla demona msql. Należy użyć funkcji msql_dbname() do odczytania tego znacznika wyniku.
int msql_list_dbs (void)
msql_list_fields
Pobiera dane na temat podanej tabeli. Parametrami są nazwa bazy danych i nazwa tabeli. Zwracany jest znacznik wyniku, który może być użyty w funkcjach msql_fieldflags(), msql_fieldlen(), msql_fieldname() i msql_fieldtype(). Identyfikator zapytania jest dodatnią liczbą całkowitą. W przypadku błędu funkcja zwraca -1. Ciąg opisujący błąd umieszczany jest w $phperrmsg i jeżeli funkcja nie została wywołana jako @msql_list_fields(), ciąg ten jest wypisywany na wyjście. Patrz również: msql_error().
int msql_list_fields (string database, string tablename)
msql_list_tables
Pobiera jako argument nazwę bazy danych i zwraca znacznik wyniku podobnie do funkcji msql(). Do pobrania wyniku na podstawie znacznika powinna zostać użyta funkcja msql_table_name().
int msql_list_tables (string database)
msql_numfields
Identyczna z msql_num_fields().
int msql_numfields (int query_identifier)
msql_numrows
Identyczna z msql_num_rows().
int msql_numrows (void)
msql_num_fields
Zwraca ilość pól w wyniku. Patrz również: msql(), msql_query(), msql_fetch_field() i msql_num_rows().
int msql_num_fields (int query_identifier) msql_num_rows
Zwraca ilość wierszy w wyniku. Patrz również: msql(), msql_query() i msql_fetch_row().
int msql_num_rows (int query_identifier)
msql_pconnect
Zwraca dodatni identyfikator łącza trwałego lub False w przypadku wystąpienia błędu. Funkcja msql_pconnect() działa bardzo podobnie do msql_connect() z dwiema różnicami. Po pierwsze, w czasie połączenia zamiast otwierać nowe połączenie funkcja próbuje znaleźć istniejące łącze (trwałe). Jeżeli zostanie ono znalezione, zostaje zwrócone zamiast nowego połączenia. Po drugie, połączenie do serwera mSQL nie jest zamykane po zakończeniu pracy skryptu. Łącze takie pozostaje otwarte do wykorzystania w przyszłości (msql_close() nie zamyka połączeń utworzonych przez msql_pconnect()).
int msql_pconnect ([string hostname [, string hostname[:port] [, string username [, string password]]]])
msql_query
Wysyła zapytanie do aktywnej bazy danych skojarzonej z podanym identyfikatorem łącza. Jeżeli identyfikator ten nie zostanie podany, użyte zostanie ostatnio otwarte łącze. Jeżeli nie ma otwartego łącza, funkcja próbuje utworzyć połączenie identycznie jak robi to funkcja msql_connect() a następnie używa łącza do wykonania zapytania. Zwraca dodatni identyfikator zapytania mSQL lub False w przypadku wystąpienia błędu. Patrz również: msql(), msql_select_db() i msql_connect().
int msql_query (string query, int link_identifier)
msql_regcase
Patrz sql_regcase().
msql_regcase( void )
msql_result
Zwraca zawartość komórki w podanym wierszu, numerze i wyniku mSQL. Funkcja msql_result() zwraca zawartość jednej komórki z wyniku mSQL. Argument $field może być numerem pola, nazwą pola lub nazwą w postaci tabela kropka pole (pole.tabela). Jeżeli kolumna otrzymała w zapytaniu alias (select foo as bar from ...), należy użyć aliasu a nie oryginalnej nazwy kolumny. Pracując na dużych wynikach należy rozważyć użycie jednej funkcji do wczytania całego wiersza. Ponieważ funkcje te zwracają zawartość wielu pól za pomocą jednego wywołania, są one dużo szybsze od msql_result(). Podawanie numerów pól zamiast ich nazw powoduje szybsze działanie funkcji. Zalecanymi szybszymi funkcjami są: msql_fetch_row(), msql_fetch_array() i msql_fetch_object().
int msql_result (int query_identifier, int i, mixed field)
msql_selectdb
Patrz msql_select_db().
msql_selectdb( void )
msql_select_db
Zwraca True w przypadku powodzenia a False w przypadku błędu. Funkcja msql_select_db() ustawia na serwerze bieżącą aktywną bazę danych o podanym identyfikatorze łącza. Jeżeli identyfikator ten nie zostanie podany, użyte zostanie ostatnio otwarte łącze. Jeżeli nie ma otwartego łącza, funkcja próbuje utworzyć połączenie identycznie jak robi to funkcja msql_connect() a następnie używa łącza do wybrania bazy danych. Kolejne wywołania msql_query() wykonywane są na aktywnej bazie danych. Patrz również: msql_connect(), msql_pconnect() i msql_query().
int msql_select_db (string database_name, int link_identifier)
msql_tablename
Na podstawie identyfikatora wyniku zwracanego przez msql_list_tables() oraz numeru kolejnego pobiera i zwraca nazwę tabeli. Funkcja msql_numrows() może być użyta do określenia ilości tabel w wyniku.
string msql_tablename (int query_identifier, int field)
Przykład: msql_tablename()
< ?php
msql_connect ("localhost");
$result = msql_list_tables ("wisconsin");
$i = 0;
while ($i < msql_numrows ($result)) {
$tb_names[$i] = msql_tablename ($result, $i);
echo $tb_names[$i] . "< BR >";
$i++;

} ? >

mssql_close
Zwraca True w przypadku powodzenia a False w przypadku błędu. Zamyka połączenie z bazą danych MS SQL Server, która jest skojarzona z podanym identyfikatorem połączenia. Jeżeli identyfikator połączenia nie zostanie podany, używane jest ostatnio otwarte połączenie.
Uwaga
Nie jest to zwykle konieczne, ponieważ połączenia nietrwałe są automatycznie zamykane po zakończeniu wykonywania skryptu. Funkcja mssql_close() nie zamyka połączeń trwałych otwartych za pomocą mssql_pconnect(). Patrz również: mssql_connect() i mssql_pconnect().

int mssql_close ([int link_identifier])
mssql_connect
Zwraca dodatni identyfikator połączenia do MS SQL, lub False w przypadku błędu. Funkcja mssql_connect() nawiązuje połączenie z serwerem MS SQL. Argument $servername musi być prawidłową nazwą serwera zdefiniowaną w pliku interfejsów. Drugie wywołanie mssql_connect() z takimi samymi argumentami nie spowoduje zestawienia następnego połączenia. Zamiast tego zwrócony zostanie identyfikator istniejącego już połączenia. Połączenie z serwerem zostanie zamknięte po zakończeniu wykonywania skryptu chyba, że wcześniej zostanie zamknięte za pomocą mssql_close(). Patrz również: mssql_pconnect() i mssql_close().
int mssql_connect ([string servername [, string username [, string password]]])
mssql_data_seek
Zwraca True w przypadku powodzenia a False w przypadku błędu. Funkcja mssql_data_seek() przesuwa wewnętrzny wskaźnik wiersza w wyniku MS SQL, skojarzonym z podanym identyfikatorem wyniku, do wiersza o podanym numerze. Następne wywołanie funkcji mssql_fetch_row() zwróci ten wiersz. Patrz również: mssql_data_seek().
int mssql_data_seek (int result_identifier, int row_number)
mssql_fetch_array
Zwraca tablicę odpowiadająca pobranemu wierszowi, lub False jeżeli nie ma już wierszy do pobrania. Funkcja mssql_fetch_array() jest rozszerzeniem funkcji mssql_fetch_row(). Oprócz zapamiętywania danych pod indeksami numerycznymi, dodatkowo dane są zapisywane pod indeksami asocjacyjnymi, używając nazw pól jako kluczy. Uwaga Funkcja mssql_fetch_array() NIE jest wyraźnie wolniejsza od funkcji mssql_fetch_row(), jedynie dostarcza więcej wyników. Bardziej szczegółowo jest to opisane przy funkcji mssql_fetch_row().
int mssql_fetch_array (int result)
mssql_fetch_field
Zwraca obiekt zawierający informacje o polu. Funkcja mssql_fetch_field() może być użyta do pobrania danych na temat pól w wyniku. Jeżeli nie zostanie podane przesunięcie, odczytywane jest następne pole, które nie było jeszcze odczytane.
object mssql_fetch_field (int result [, int field_offset])
- name - Nazwa kolumny. Jeżeli kolumna jest wynikiem działania funkcji, właściwość ta ma wartość computed#N, gdzie #N jest numerem seryjnym.
- column_source - Tabela z której pochodzi kolumna.
- max_length - Maksymalna długość kolumny.
- numeric - 1 gdy kolumna jest numeryczna.
mssql_fetch_object
Zwraca obiekt z właściwościami odpowiadającymi polom pobieranego wiersza lub False, jeżeli nie ma więcej wierszy do pobrania. Funkcja mssql_fetch_object() jest podobna do mssql_fetch_array() z jedną różnicą - zwracany jest obiekt a nie tablica. Oznacza to, że możesz odwoływać się do pól poprzez nazwy a nie poprzez indeks( liczby nie są prawidłowymi nazwami właściwości). Funkcja jest identyczna wydajnościowo z mssql_fetch_array() i prawie tak samo szybka jak mssql_fetch_row() - różnica jest nieznaczna. Patrz również: mssql_fetch_array() i mssql_fetch_row().
int mssql_fetch_object (int result)
mssql_fetch_row
Zwraca tablicę odpowiadająca pobranemu wierszowi, lub False jeżeli nie ma już wierszy do pobrania. Funkcja mssql_fetch_row() pobiera jeden wiersz z wyniku określonego przez identyfikator zapytania. Wiersz jest zwracany w postaci tablicy. Każda kolumna jest zapisywana w osobnym indeksie tablicy, rozpoczynając od 0. Kolejne wywołanie mssql_fetch_row() powoduje zwracanie kolejnych wierszy z wyniku lub False jeżeli nie ma już więcej wierszy. Patrz również: mssql_fetch_array(), mssql_fetch_object(), mssql_data_seek(), mssql_fetch_lengths() i mssql_result().
array mssql_fetch_row (int result)
mssql_field_length
int mssql_field_length (int result [, int offset])
mssql_field_name
int mssql_field_name (int result [, int offset])
mssql_field_seek Przesuwa wskaźnik do określonego numeru pola. Jeżeli następne wywołanie mssql_fetch_field() nie będzie zawierało numeru pola, zostanie zwrócone to właśnie pole. Patrz również: mssql_fetch_field().
int mssql_field_seek (int result, int field_offset)
mssql_field_type
string mssql_field_type (int result [, int offset])
mssql_free_result
Zwalnia pamięć przydzieloną dla $result. Po zakończeniu wykonywania żądania pamięć jest zwalniana automatycznie. Funkcja ta jest potrzebna tylko wtedy, gdy nie chcemy zużywać zbyt wiele pamięci w czasie działania skryptu.
int mssql_free_result (int result)
mssql_get_last_message
string mssql_get_last_message (void)
mssql_min_error_severity
void mssql_min_error_severity (int severity)
mssql_min_message_severity
void mssql_min_message_severity (int severity)
mssql_num_fields
Zwraca ilość pól w wyniku. Patrz również: mssql_db_query(), mssql_query(), mssql_fetch_field() i mssql_num_rows().
int mssql_num_fields (int result)

mssql_num_rows
Zwraca ilość wierszy w wyniku. Patrz również: mssql_db_query(), mssql_query() i mssql_fetch_row().
int mssql_num_rows (string result)
mssql_pconnect
Zwraca dodatni identyfikator łącza trwałego lub False w przypadku wystąpienia błędu. Funkcja mssql_pconnect() działa bardzo podobnie do mssql_connect() z dwiema różnicami. Po pierwsze, w czasie połączenia zamiast otwierać nowe połączenie funkcja próbuje znaleźć istniejące łącze (trwałe). Jeżeli zostanie ono znalezione, zostaje zwrócone zamiast nowego połączenia. Po drugie, połączenie do serwera MS SQL nie jest zamykane po zakończeniu pracy skryptu. Łącze takie pozostaje otwarte do wykorzystania w przyszłości (mssql_close() nie zamyka połączeń utworzonych przez mssql_pconnect()).
int mssql_pconnect ([string servername [, string username [, string password]]])
mssql_query
Zwraca dodatni identyfikator zapytania MS SQL lub False w przypadku wystąpienia błędu. Wysyła do aktywnej bazy danych zapytanie skojarzone z podanym identyfikatorem łącza. Jeżeli identyfikator ten nie zostanie podany, użyte zostanie ostatnio otwarte łącze. Jeżeli nie ma otwartego łącza, funkcja próbuje utworzyć połączenie identycznie jak robi to funkcja mssql_connect() a następnie używa łącza do wykonania zapytania. Patrz również: mssql_db_query(), mssql_select_db() i mssql_connect().
int mssql_query (string query [, int link_identifier])
mssql_result
Funkcja mssql_result() zwraca zawartość jednej komórki z wyniku MS SQL. Argument $field może być numerem pola, nazwą pola lub nazwą w postaci tabela kropka pole (pole.tabela). Jeżeli kolumna otrzymała w zapytaniu alias (select foo as bar from ...), należy użyć aliasu a nie oryginalnej nazwy kolumny. Pracując na dużych wynikach należy rozważyć użycie jednej funkcji do wczytania całego wiersza. Ponieważ funkcje te zwracają zawartość wielu pól za pomocą jednego wywołania, są one dużo szybsze od mssql_result(). Podawanie numerów pól zamiast ich nazw powoduje szybsze działanie funkcji. Zalecanymi szybszymi funkcjami są: mssql_fetch_row(), mssql_fetch_array() i mssql_fetch_object().
int mssql_result (int result, int i, mixed field)
mssql_select_db
Zwraca True w przypadku powodzenia a False w przypadku błędu. Funkcja mssql_select_db() ustawia na serwerze bieżącą aktywną bazę danych o podanym identyfikatorze łącza. Jeżeli identyfikator ten nie zostanie podany, użyte zostanie ostatnio otwarte łącze. Jeżeli nie ma otwartego łącza, funkcja próbuje utworzyć połączenie identycznie jak robi to funkcja mssql_connect() a następnie używa łącza do wybrania bazy danych. Kolejne wywołania mssql_query() wykonywane są na aktywnej bazie danych. Patrz również: mssql_connect(), mssql_pconnect() i mssql_query().
int mssql_select_db (string database_name [, int link_identifier])
mt_getrandmax
Zwraca maksymalną wartość, jaka może być zwrócona przez funkcję mt_rand(). Patrz również: mt_rand(), mt_srand(), rand(), srand() i getrandmax().
int mt_getrandmax (void)
mt_rand
Wiele generatorów liczb losowych ze starszych bibliotek libc miało problematyczną lub nieznaną charakterystykę i były powolne. Domyślnie PHP korzysta z generatora liczb losowych z libc dostępnego za pomocą funkcji rand(). Funkcja mt_rand() jest jej zamiennikiem. Korzysta ona z generatora liczb losowych Mersenne Twister o znanej charakterystyce, który generuje liczby losowe wystarczające do inicjowania niektórych rodzajów funkcji kryptograficznych (więcej informacji na stronie domowej) i jest średnio cztery razy szybszy od generatora dostarczanego w libc. Strona domowa generatora Mersenne Twister znajduje się pod adresem http://www.math.keio.ac.jp/~matumoto/emt.html, a zoptymalizowane źródła MT znajdują się pod adresem http://www.scp.syr.edu/~marc/hawk/twister.html.
int mt_rand (void)
int mt_rand (int min, int max)
Jeżeli funkcja zostanie wywołana bez opcjonalnych parametrów $min i $max, mt_rand() zwraca liczbę pseudolosową z przedziału 0 do RAND_MAX. Jeżeli chcesz otrzymać liczby pomiędzy, na przykład, 5 a 15 (włącznie) użyj mt_rand(5, 15). Należy pamiętać, że trzeba zainicjować generator liczb losowych przed użyciem funkcji mt_srand().
Uwaga
W wersjach wcześniejszych od 3.0.7, drugi parametr oznaczał wielkość przedziału. Aby otrzymać te same wyniki, co w naszym krótkim przykładzie trzeba było wywołać funkcję mt_rand(5, 11). Patrz również: mt_srand(), mt_getrandmax(), srand(), rand() i getrandmax().
mt_srand
Inicjuje generator liczb losowych wartością $seed.
void mt_srand (int seed)
Przykład:
//inicjowanie mikrosekundami od ostatniej pełnej sekundy
mt_srand((double) microtime() * 1000000);
$randval = mt_rand();

Patrz również: mt_rand(), mt_getrandmax(), srand(), rand() i getrandmax().
mysql_affected_rows
Zwraca ilość wierszy zmienionych przez ostatnie wyrażenie INSERT, UPDATE lub DELETE na serwerze skojarzonym z podanym identyfikatorem łącza. Jeżeli nie zostanie podany identyfikator łącza, używany jest ostatnio otwarte połączenie. Jeżeli ostatnim zapytaniem było zapytanie DELETE bez klauzuli WHERE, usunięte zostaną wszystkie wiersze z tabeli, ale funkcja zwróci zero. Funkcja nie działa dla wyrażeń typu SELECT, jedynie dla wyrażeń zmieniających rekordy. Aby pobrać ilość wierszy zwracanych przez zapytanie SELECT, należy użyć mysql_num_rows().
int mysql_affected_rows ([resource link_identifier])
mysql_change_user
Zmienia użytkownika na bieżącym połączeniu lub połączeniu podanym przez identyfikator połączenia $link_identifier. Jeżeli zostanie podana baza danych, będzie ona ustawiona jako bieżąca baza danych. Jeżeli nie uda się autoryzacja nowego użytkownika, aktywne pozostanie połączenie wcześniej podłączonego użytkownika.
Uwaga
Funkcja została wprowadzona w PHP 3.0.13 i wymaga MySQL w wersji co najmniej 3.23.3.
int mysql_change_user (string user, string password [, string database [, resource link_identifier]])
mysql_close
Zwraca True w przypadku powodzenia a False w przypadku błędu. Funkcja mysql_close() zamyka połączenie do bazy danych MySQL, która jest skojarzona z podanym identyfikatorem połączenia. Jeżeli identyfikator połączenia nie zostanie podany, używane jest ostatnio otwarte połączenie. Użycie tej funkcji nie jest zwykle konieczne, ponieważ połączenia nietrwałe są automatycznie zamykane po zakończeniu wykonywania skryptu.
Uwaga
Funkcja mysql_close() nie zamyka połączeń trwałych otwartych za pomocą mysql_pconnect().
bool mysql_close ([resource link_identifier])
Przykład: MySQL_close()
< ?php
$link = mysql_connect ("kraemer", "marliesle", "secret")
or die ("Nie można podłączyć");
print ("Podłączenie udane");
mysql_close ($link);
? >

Patrz również: mysql_connect() i mysql_pconnect().
mysql_connect
Zwraca dodatni identyfikator połączenia do MySQL, lub False w przypadku błędu. Funkcja mysql_connect() nawiązuje połączenie z serwerem MySQL. Jeżeli nie zostaną podane parametry domyślne, przyjmowane są następujące wartości domyślne: $host:port = 'localhost:3306', $username - nazwa użytkownika, który jest właścicielem procesu i $password - pusty ciąg. Ciąg z nazwą komputera może zawierać numer portu lub ścieżkę do gniazda, np.: ":/sciezka/do/gniazda" dla komputera lokalnego.
Uwaga
Obsługa ":port" została dodana w PHP 3.0B4. Obsługa ":/sciezka/do/gniazda" została dodana w PHP 3.0.10. Można zapobiec generowaniu komunikatów błędu umieszczając znak @ przed nazwą funkcji. Drugie wywołanie mysql_connect() z takimi samymi argumentami nie spowoduje zestawienia następnego połączenia. Zamiast tego zwrócony zostanie identyfikator istniejącego już połączenia. Połączenie z serwerem zostanie zamknięte po zakończeniu wykonywania skryptu chyba, że wcześniej zostanie zamknięte za pomocą mysql_close().
resource mysql_connect ([string hostname [:port] [:/path/to/socket] [, string username [, string password]]])
Przykład: MySQL_connect()
< ?php
$link = mysql_connect ("kraemer", "marliesle", "secret")
or die ("Nie można podłączyć");
print ("Podłączenie udane");
mysql_close ($link);
? >

Patrz również: mysql_pconnect() i mysql_close().
mysql_create_db
Tworzy nową bazę danych na serwerze wskazywanym przez podany identyfikator łącza.
int mysql_create_db (string database name [, resource link_identifier])
Przykład: Tworzenie bazy danych MySQL
< ?php
$link = mysql_pconnect ("kron", "jutta", "geheim")
or die ("Nie można podłączyć");
if (mysql_create_db ("my_db")) {
print ("Udane utworzenie bazy danych\n");
} else {
printf ("Błąd tworzenia bazy danych: %s\n", mysql_error ());
}
? >

Aby zachować zgodność z poprzednimi wersjami można również używać funkcji mysql_createdb(). Patrz również: mysql_drop_db().
mysql_data_seek

Zwraca True w przypadku powodzenia a False w przypadku błędu. Przesuwa wewnętrzny znacznik wiersza w wyniku MySQL skojarzonym z podanym identyfikatorem wyniku zapytania do wiersza o podanym numerze. Kolejne wywołanie funkcji mysql_fetch_row() zwróci ten wiersz. Parametr $row_number przyjmuje wartości rozpoczynające się od 0. bool mysql_data_seek (resource result_identifier, int row_number) Przykład: Przesuwanie wskaźnika w wyniku
< ?php
$link = mysql_pconnect ("kron", "jutta", "geheim")
or die ("Nie można podłączyć");
mysql_select_db ("samp_db")
or die ("Nie można wybrać bazy danych");
$query = "SELECT last_name, first_name FROM friends";
$result = mysql_query ($query)
or die ("Zapytanie nieudane");
# Pobieranie wierszy w odwrotnej kolejności
for ($i = mysql_num_rows ($result) - 1; $i >=0; $i--) {
if (!mysql_data_seek ($result, $i)) {
echo "Nie mogę przejść do wersza $i\n";
continue;
}
if(!($row = mysql_fetch_object ($result)))
continue;
echo ("$row->last_name $row->first_name< BR > \n";
}
mysql_free_result ($result);
?>

mysql_db_name
Jako pierwszego parametru wymaga wskaźnika wyniku zwracanego przez funkcję mysql_list_dbs(). Parametr $row jest indeksem w wyniku. Jeżeli wystąpi błąd, zwracana jest wartość False. Aby określić rodzaj błędu należy użyć funkcji mysql_errno() i mysql_error().
string mysql_db_name (resource result, int row [, mixed field])
Przykład: mysql_db_name()
< ?php
error_reporting(E_ALL);
mysql_connect('dbhost', 'username', 'password');
$db_list = mysql_list_dbs();
$i = 0;
$cnt = mysql_num_rows($db_list);
while ($i < $cnt) {
echo mysql_db_name($db_list, $i) . "\n";
$i++;
}
? >

Dla zachowania zgodności z poprzednimi wersjami można również używać nazwy mysql_dbname(). Nie jest to jednak zalecane.
mysql_db_query
Zwraca dodatni identyfikator zapytania MySQL lub False w przypadku wystąpienia błędu. Wybiera bazę danych i wykonuje na niej zapytanie. Jeżeli opcjonalny identyfikator łącza nie zostanie podany, użyte zostanie ostatnio otwarte łącze. Jeżeli nie ma otwartego łącza, funkcja próbuje utworzyć połączenie identycznie jak robi to funkcja mysql_connect() wywołana bez argumentów. Patrz również: mysql_connect(). Dla zachowania zgodności można również używać nazwy mysql(). resource mysql_db_query (string database, string query [, resource link_identifier])
mysql_drop_db
Zwraca True w przypadku powodzenia operacji a False w przypadku błędu. Funkcja mysql_drop_db() próbuje usunąć z serwera całą bazę danych skojarzoną z podanym identyfikatorem połączenia. Patrz również: mysql_create_db(). Dla zachowania zgodności można równie używać funkcji mysql_dropdb().
bool mysql_drop_db (string database_name [, resource link_identifier])
mysql_errno
Zwraca numer błędu dla ostatnio wykonanej funkcji MySQL lub 0, jeżeli nie wystąpił żaden błąd. Błędy wysyłane przez serwer MySQL nie mogą być traktowane jako ostrzeżenia, zamiast tego należy pobierać numery błędów za pomocą funkcji mysql_errno().
Uwaga
Funkcja zwraca kod błędu dla ostatnio wykonanej funkcji MySQL (opócz mysql_error() i mysql_errno()). Jeżeli chcesz jej użyć, należy sprawdzać kod błędu przed wywołaniem kolejnej funkcji MySQL.
int mysql_errno ([resource link_identifier])
Przykład: mysql_errno()
< ?php
mysql_connect("marliesle");
echo mysql_errno().": ".mysql_error()."< BR >";
mysql_select_db("nonexistentdb");
echo mysql_errno().": ".mysql_error()."< BR >";
$conn = mysql_query("SELECT * FROM nonexistenttable");
echo mysql_errno().": ".mysql_error()."< BR >";
? >

Patrz również: mysql_error().
mysql_error
Zwraca komunikat błędu dla ostatnio wykonanej funkcji MySQL lub 0, jeżeli nie wystąpił żaden błąd. Błędy wysyłane przez serwer MySQL nie mogą być traktowane jako ostrzeżenia, zamiast tego należy pobierać komunikaty błędów za pomocą funkcji mysql_error().
Uwaga
Funkcja zwraca kod błędu dla ostatnio wykonanej funkcji MySQL (opócz mysql_error() i mysql_errno()). Jeżeli chcesz jej użyć, należy sprawdzać kod błędu przed wywołaniem kolejnej funkcji MySQL.
string mysql_error ([resource link_identifier])
Przykład: mysql_errno()
< ?php
mysql_connect("marliesle");
echo mysql_errno().": ".mysql_error()."< BR >";
mysql_select_db("nonexistentdb");
echo mysql_errno().": ".mysql_error()."< BR >";
$conn = mysql_query("SELECT * FROM nonexistenttable");
echo mysql_errno().": ".mysql_error()."< BR >";
? >

Patrz również: mysql_errno().
mysql_fetch_array
Zwraca tablicę odpowiadająca pobranemu wierszowi, lub False jeżeli nie ma już wierszy do pobrania. Funkcja mysql_fetch_array() jest rozszerzeniem funkcji mysql_fetch_row(). Oprócz zapamiętywania danych pod indeksami numerycznymi, dodatkowo dane są zapisywane pod indeksami asocjacyjnymi, używając nazw pól jako kluczy. Jeżeli dwie lub więcej pól w wyniku ma takie same nazwy, zwrócona zostanie wartość ostatniego z nich. Aby odczytać wartości kolumn o tych samych nazwach należy korzystać z indeksów numerycznych lub stworzyć aliasy dla kolumn.
array mysql_fetch_array (resource result [, int result_type])
Należy przypomnieć, że funkcja mysql_fetch_array() NIE jest wyraźnie wolniejsza od funkcji mysql_fetch_row(), jedynie dostarcza więcej wyników. Opcjonalny drugi argument, $result_type może być jedną ze stałych: MYSQL_ASSOC, MYSQL_NUM i MYSQL_BOTH (parametr ostał dodany w PHP 3.0.7). Patrz również: mysql_fetch_row() i mysql_fetch_assoc(). Przykład: mysql_fetch_array()
< ?php
mysql_connect ($host, $user, $password);
$result = mysql_db_query ("database","select user_id, fullname from table");
while ($row = mysql_fetch_array ($result)) {
echo "ID użytkownika: ".$row["user_id"]."< b r>\n";
echo "ID użytkownika: ".$row[0]."< br >\n";
echo "Pełna nazwa : ".$row["fullname"]."< br >\n";
echo "Pełna nazwa : ".$row[1]."< br >\n";
}
mysql_free_result ($result);
? >

mysql_fetch_assoc
Zwraca tablicę asocjacyjną odpowiadającą bieżącemu wierszowi lub False, jeżeli nie ma już więcej wierszy w wyniku. Funkcja mysql_fetch_assoc() jest odpowiednikiem wywołania funkcji mysql_fetch_array() z parametrem MYSQL_ASSOC. Powoduje to zwrócenie tylko tablicy asocjacyjnej. Jest to sposób w jaki wcześniej działała funkcja mysql_fetch_array(). Jeżeli dwie lub więcej pól w wyniku ma takie same nazwy, zwrócona zostanie wartość ostatniego z nich. Aby odczytać wartości kolumn o tych samych nazwach należy użyć funkcji mysql_fetch_array() i skorzystać z indeksów numerycznych. Należy przypomnieć, że funkcja mysql_fetch_assoc() NIE jest wyraźnie wolniejsza od funkcji mysql_fetch_row(), jedynie dostarcza więcej wyników. Patrz również: mysql_fetch_row() i mysql_fetch_array().
array mysql_fetch_assoc (resource result)
Przykład: mysql_fetch_assoc()
< ?php
mysql_connect ($host, $user, $password);
$result = mysql_db_query ("database","select * from table");
while ($row = mysql_fetch_assoc ($result)) {
echo $row["user_id"];
echo $row["fullname"];
}
mysql_free_result ($result);
? >

mysql_fetch_field
Zwraca obiekt zawierający informacje o polu. Funkcja mysql_fetch_field() może być użyta do pobrania danych na temat pól w wyniku. Jeżeli nie zostanie podane przesunięcie, odczytywane jest następne pole, które nie było jeszcze odczytane. obje
ct mysql_fetch_field (resource result [, int field_offset])

Właściwości zwracanego obiektu są następujące:
- name - nazwa kolumny
- table - nazwa tabeli do której należy kolumna
- max_length - maksymalna długość pola
- not_null - 1 jeżeli kolumna nie może być pusta
- primary_key - 1 jeżeli kolumna jest kluczem głównym
- unique_key - 1 jeżeli kolumna jest kluczem unikalnym
- multiple_key - 1 jeżeli kolumna nie jest kluczem unikalnym
- numeric - 1 jeżeli kolumna jest numeryczna
- blob - 1 jeżeli kolumna jest typu BLOB
- type - typ kolumny
- unsigned - 1 jeżeli kolumna jest bez znaku
- zerofill - 1 jeżeli kolumna jest wypełniana zerami
Przykład: mysql_fetch_field()
< ?php
mysql_connect ($host, $user, $password)
or die ("Nie można podłączyć");
$result = mysql_db_query ("database", "select * from table")
or die ("Zapytanie nieudane");
# pobranie metadanych kolumny
$i = 0;
while ($i < mysql_num_fields ($result)) {
echo "Informacje na temat kolumny: $i:< BR >\n";
$meta = mysql_fetch_field ($result);
if (!$meta) {
echo "Brak dostępnych danych< BR >\n";
}
echo "< PRE >
blob: $meta->blob
max_length: $meta->max_length
multiple_key: $meta->multiple_key
name: $meta->name
not_null: $meta->not_null
numeric: $meta->numeric
primary_key: $meta->primary_key
table: $meta->table
type: $meta->type
unique_key: $meta->unique_key
unsigned: $meta->unsigned
zerofill: $meta->zerofill
< /PRE >";
$i++;
}
mysql_free_result ($result);
? >

mysql_fetch_lengths
Zwraca tablicę zawierającą długości pól z ostatniego wiersza odczytanego przez funkcję mysql_fetch_row() lub False w przypadku błędu. Funkcja mysql_fetch_lengths() przechowuje długości każdej kolumny wyniku w ostatnim wierszu zwracanym przez mysql_fetch_row(), mysql_fetch_array() i mysql_fetch_object() w tablicy rozpoczynającej się od indeksu 0. Patrz również: mysql_fetch_row().
array mysql_fetch_lengths (resource result)
mysql_fetch_object
Zwraca obiekt z właściwościami odpowiadającymi polom pobieranego wiersza lub False, jeżeli nie ma więcej wierszy do pobrania. Funkcja mysql_fetch_object() jest podobna do mysql_fetch_array() z jedną różnicą - zwracany jest obiekt a nie tablica. Oznacza to, że możesz odwoływać się do pól poprzez nazwy a nie poprzez indeks( liczby nie są prawidłowymi nazwami właściwości). Drugi argument, $result_type w funkcji mysql_fetch_array() jest jedną z następujących stałych: MYSQL_ASSOC, MYSQL_NUM i MYSQL_BOTH. Funkcja jest identyczna wydajnościowo z mysql_fetch_array() i prawie tak samo szybka jak mysql_fetch_row() - różnica jest nieznaczna.
object mysql_fetch_object (resource result [, int result_type])
Przykład: mysql_fetch_object()
< ?php
mysql_connect ($host, $user, $password);
$result = mysql_db_query ("database", "select * from table");
while ($row = mysql_fetch_object ($result)) {
echo $row->user_id;
echo $row->fullname;
}
mysql_free_result ($result);
? >

Patrz również: mysql_fetch_array() i mysql_fetch_row().
mysql_fetch_row
Zwraca tablicę odpowiadająca pobranemu wierszowi, lub False jeżeli nie ma już wierszy do pobrania. Funkcja mysql_fetch_row() pobiera jeden wiersz z wyniku określonego przez identyfikator zapytania. Wiersz jest zwracany w postaci tablicy. Każda kolumna jest zapisywana w osobnym indeksie tablicy, rozpoczynając od 0. Kolejne wywołanie mysql_fetch_row() powoduje zwracanie kolejnych wierszy z wyniku lub False jeżeli nie ma już więcej wierszy. Patrz również: mysql_fetch_array(), mysql_fetch_object(), mysql_data_seek() i mysql_result().
array mysql_fetch_row (resource result)
mysql_field_flags
Zwraca atrybuty podanego pola. Atrybuty są zwracane w jednym ciągu rozdzielone spacjami, więc można je łatwo rozdzielić za pomocą funkcji explode(). Zwracane są następujące atrybuty o ile twoja wersja MySQL je wszystkie obsługuje: not_null, primary_key, unique_key, multiple_key, blob, unsigned, zerofill, binary, enum, auto_increment i timestamp. Dla zachowania zgodności wstecz można używać również nazwy mysql_fieldflags().
string mysql_field_flags (resource result, int field_offset)
mysql_field_len
Zwraca długość podanego pola. Dla zachowania zgodności wstecz można używać również nazwy mysql_fieldlen().
int mysql_field_len (resource result, int field_offset)
mysql_field_name
Zwraca nazwę podanego pola. Parametr $result jest identyfikatorem zapytania, a $field_index jest numerem kolejnym pola.
Uwaga
Wartości $field_index rozpoczynają się od 0. Na przykład, indeks trzeciego pola będzie 2, czwartego - 3 itd.
string mysql_field_name (resource result, int field_index)
Przykład: mysql_field_name()
// Tabela users składa się z trzech pól:
// user_id
// username
// password.
$res = mysql_db_query("users", "select * from users", $link);
echo mysql_field_name($res, 0) . "\n";
echo mysql_field_name($res, 2);

Wykonanie tego przykładu spowoduje wypisanie następującego wyniku:
user_id
password
Dla zachowania zgodności wstecz można używać również nazwy mysql_fieldname().
mysql_field_seek
Przesuwa wskaźnik do podanego numeru pola. Jeżeli następne wywołanie mysql_fetch_field() nie będzie zawierało numeru pola, zostanie zwrócone to właśnie pole. Patrz również: mysql_fetch_field(). Patrz również: mysql_fetch_field().
int mysql_field_seek (resource result, int field_offset)
mysql_field_table
Zwraca nazwę tabeli, z której pochodzi podane pole. Dla zachowania zgodności wstecz można używać również nazwy mysql_fieldtable().
string mysql_field_table (resource result, int field_offset)
mysql_field_type
Funkcja podobna do mysql_field_name(). Argumenty są identyczne, ale zwracane są typy pól. Typami tymi mogą być int, real, string, blob i inne opisane w dokumentacji MySQL.
string mysql_field_type (iresource result, int field_offset)
Przykład: Typy pól MySQL
< ?php
mysql_connect ("localhost:3306");
mysql_select_db ("wisconsin"); $result = mysql_query ("SELECT * FROM onek");
$fields = mysql_num_fields ($result);
$rows = mysql_num_rows ($result);
$i = 0;
$table = mysql_field_table ($result, $i);
echo "Tabela '".$table."' ma ".$fields." pól i ".$rows." rekordów < BR >";
echo "Tabela składa się z następujących pól: < BR >";
while ($i < $fields) {
$type = mysql_field_type ($result, $i);
$name = mysql_field_name ($result, $i);
$len = mysql_field_len ($result, $i);
$flags = mysql_field_flags ($result, $i);
echo $type." ".$name." ".$len." ".$flags."< BR >";
$i++;
}
mysql_close();
? >

Dla zachowania zgodności wstecz można używać również nazwy mysql_fieldtype().
mysql_free_result
Zwalnia pamięć przydzieloną dla $result. Po zakończeniu wykonywania żądania pamięć jest zwalniana automatycznie. Funkcja ta jest potrzebna tylko wtedy, gdy nie chcemy zużywać zbyt wiele pamięci w czasie działania skryptu. Dla zachowania zgodności wstecz można używać również nazwy mysql_freeresult().
int mysql_free_result (resource result)
mysql_insert_id
Zwraca identyfikator generowany dla kolumn AUTO_INCREMENT przez ostatnie wyrażenie INSERT wykonane na podanym identyfikatorze łącza. Jeżeli nie zostanie podany identyfikator łącza, przyjmowane jest ostatnio otwarte łącze. Funkcja mysql_insert_id() zwraca 0 jeżeli poprzednie zapytanie nie generowało wartości AUTO_INCREMENT. Jeżeli chcesz zachować tą wartość do późniejszego użycia trzeba pamiętać, aby wywołać funkcję natychmiast po zapytaniu generującym wartość.
Uwaga
Wartość funkcji MySQL LAST_INSERT_ID() zawsze zawiera ostatnio wygenerowaną wartość AUTO_INCREMENT i nie jest ona kasowana pomiędzy zapytaniami. Funkcja mysql_insert_id() konwertuje typ wartości zwracanej przez funkcję MySQL API na typ long. Jeżeli kolumna AUTO_INCREMENT będzie miała typ BIGINT, wartości zwracane przez mysql_insert_id() będą nieprawidłowe. Zamiast tego można używać wewnętrznej funkcji MySQL - LAST_INSERT_ID().
int mysql_insert_id ([resource link_identifier])
mysql_list_dbs Zwraca znacznik wyniku zawierającego bazy danych dostępne dla demona mysql. Należy użyć funkcji mysql_tablename() do odczytania tego znacznika wyniku.
Uwaga
Funkcja działa również z funkcjami mysql_fetch_row() lub podobnymi. Dla zachowania zgodności wstecz można używać również nazwy mysql_listdbs(). resource mysql_list_dbs ([resource link_identifier])
Przykład: mysql_list_dbs()
$link = mysql_connect('localhost', 'myname', 'secret');
$db_list = mysql_list_dbs($link);
while ($row = mysql_fetch_object($db_list)) {
echo $row->Database . "\n";
}

Przykład ten może dać następujące wyniki:
database1
database2
database3

mysql_list_fields
Pobiera dane na temat podanej tabeli. Parametrami są nazwa bazy danych i nazwa tabeli. Zwracany jest znacznik wyniku, który może być użyty w funkcjach mysql_fieldflags(), mysql_fieldlen(), mysql_fieldname() i mysql_fieldtype(). Identyfikator wyniku jest dodatnią liczbą całkowitą. W przypadku błędu funkcja zwraca -1. Ciąg opisujący błąd umieszczany jest w $phperrmsg i jeżeli funkcja nie została wywołana jako @mysql_list_fields(), ciąg ten jest wypisywany na wyjście. Dla zachowania zgodności wstecz można używać również nazwy mysql_listfields().
resource mysql_list_fields (string database_name, string table_name [, resource link_identifier])
Przykład: mysql_list_fields()
$link = mysql_connect('localhost', 'myname', 'secret');
$fields = mysql_list_fields("database1", "table1", $link);
$columns = mysql_num_fields($fields);
for ($i = 0; $i < $columns; $i++) {
echo mysql_field_name($fields, $i) . "\n";;
}

Przykład ten może dać następujące wyniki:
field1
fiels2
field3

mysql_list_tables
Pobiera jako argument nazwę bazy danych i zwraca znacznik wyniku podobnie do funkcji mysql_db_query(). Do pobrania wyniku na podstawie znacznika powinna zostać użyta funkcja mysql_tablename(). Dla zachowania zgodności wstecz można używać również nazwy mysql_listtables().
resource mysql_list_tables (string database [, resource link_identifier])
mysql_num_fields
Zwraca ilość pól w wyniku. Patrz również: mysql_db_query(), mysql_query(), mysql_fetch_field() i mysql_num_rows(). Dla zachowania zgodności wstecz można używać również nazwy mysql_numfields().
int mysql_num_fields (resource result)
mysql_num_rows
Zwraca ilość wierszy w wyniku. Funkcja działa jedynie dla wyrażeń SELECT. Aby odczytać ilość wierszy zwracanych z wyrażeń INSERT, UPDATE lub DELETE należy używać funkcji mysql_affected_rows(). Patrz również: mysql_db_query(), mysql_query() i mysql_fetch_row().Dla zachowania zgodności wstecz można używać również nazwy mysql_numrows().
int mysql_num_rows (resource result)
mysql_pconnect
Zwraca dodatni identyfikator trwałego połączenia do MySQL, lub False w przypadku błędu. Funkcja mysql_pconnect() nawiązuje połączenie z serwerem MySQL. Jeżeli nie zostaną podane parametry domyślne, przyjmowane są następujące wartości domyślne: $host:port = 'localhost:3306', $username - nazwa użytkownika, który jest właścicielem procesu i $password - pusty ciąg. Ciąg z nazwą komputera może zawierać numer portu lub ścieżkę do gniazda, np.: ":/sciezka/do/gniazda" dla komputera lokalnego.
Uwaga
Obsługa ":port" została dodana w PHP 3.0B4. Obsługa ":/sciezka/do/gniazda" została dodana w PHP 3.0.10. Można zapobiec generowaniu komunikatów błędu umieszczając znak @ przed nazwą funkcji. resource mysql_pconnect ([string hostname [:port] [:/path/to/socket]
[, string username [, string password]]])

Funkcja mysql_pconnect() działa bardzo podobnie do mysql_connect() z dwiema różnicami. Po pierwsze, w czasie połączenia zamiast otwierać nowe połączenie funkcja próbuje znaleźć istniejące łącze (trwałe). Jeżeli zostanie ono znalezione, zostaje zwrócone zamiast nowego połączenia. Po drugie, połączenie do serwera MySQL nie jest zamykane po zakończeniu pracy skryptu. Łącze takie pozostaje otwarte do wykorzystania w przyszłości (mysql_close() nie zamyka połączeń utworzonych przez mysql_pconnect()). Dlatego ten typ połączenia nazywany jest "trwałym".
mysql_query
Wysyła zapytanie do aktywnej bazy danych skojarzonej z podanym identyfikatorem łącza. Jeżeli identyfikator ten nie zostanie podany, użyte zostanie ostatnio otwarte łącze. Jeżeli nie ma otwartego łącza, funkcja próbuje utworzyć połączenie identycznie jak robi to funkcja mysql_connect() wywołana bez parametrów a następnie używa łącza do wykonania zapytania.
Uwaga
Ciąg z zapytaniem nie może kończyć się średnikiem. Funkcja mysql_query() zwraca True (wartość różną od zera) jeżeli zapytanie udało się lub False gdy nie udało się. Zwrócenie wartości True wskazuje tylko, że zapytanie może być wykonane przez serwer. Nie mówi to nic na temat ilości zmienionych lub zwróconych wierszy. Jest możliwe wykonanie poprawnego zapytania, które nie zwróci żadnych wierszy.
resource mysql_query (string query [, resource link_identifier])
Poniższe zapytanie jest niepoprawne składniowo, więc funkcja mysql_query() zwróci False. Przykład: mysql_query()
< ?php
$result = mysql_query ("SELECT * WHERE 1=1")
or die ("Nieprawidłowe zapytanie");
? >

Kolejne zapytanie może być niepoprawne, jeżeli kolumna my_col nie będzie istniała w tabeli my_tbl i w takim przypadku mysql_query() zwróci False. Przykład: mysql_query()
< ?php
$result = mysql_query ("SELECT my_col FROM my_tbl")
or die ("Nieprawidłowe zapytanie");
? >

Funkcja mysql_query() może się również nie udać i zwrócić False, jeżeli nie masz wystarczających uprawnień do tabel na których operuje zapytanie. Zakładając, że zapytanie się uda, można wywołać funkcję mysql_num_rows() aby sprawdzić ile wierszy zwróciło zapytanie SELECT lub mysql_affected_rows() aby sprawdzić ile wierszy zostało zmienionych przez wyrażenie DELETE, INSERT, REPLACE lub UPDATE. Dla wyrażeń SELECT funkcja mysql_query() zwraca nowy identyfikator wyniku, który może być przekazany do funkcji mysql_result(). Po zakończeniu pracy na wyniku można zwolnić zasoby z nim związane wywołując mysql_free_result(). Przydzielona pamięć jest jednak automatycznie zwalniana po zakończeniu skryptu. Patrz również: mysql_affected_rows(), mysql_db_query(), mysql_free_result(), mysql_result(), mysql_select_db() i mysql_connect().
mysql_result
Zwraca zawartość komórki w podanym wierszu, numerze i wyniku MySQL. Argument $field może być numerem pola, nazwą pola lub nazwą w postaci tabela kropka pole (pole.tabela). Jeżeli kolumna otrzymała w zapytaniu alias (select foo as bar from ...), należy użyć aliasu a nie oryginalnej nazwy kolumny. Pracując na dużych wynikach należy rozważyć użycie jednej funkcji do wczytania całego wiersza. Ponieważ funkcje te zwracają zawartość wielu pól za pomocą jednego wywołania, są one dużo szybsze od mysql_result(). Podawanie numerów pól zamiast ich nazw powoduje szybsze działanie funkcji. Wywołania funkcji mysql_result() nie powinny być mieszane z wywołaniami innych funkcji operujących na wyniku. Zalecanymi szybszymi funkcjami są: mysql_fetch_row(), mysql_fetch_array() i mysql_fetch_object().
mixed mysql_result (resource result, int row [, mixed field])
mysql_select_db
Zwraca True w przypadku powodzenia a False w przypadku błędu. Funkcja mysql_select_db() ustawia na serwerze bieżącą aktywną bazę danych o podanym identyfikatorze łącza. Jeżeli identyfikator ten nie zostanie podany, użyte zostanie ostatnio otwarte łącze. Jeżeli nie ma otwartego łącza, funkcja próbuje utworzyć połączenie identycznie jak robi to funkcja mysql_connect() a następnie używa łącza do wybrania bazy danych. Kolejne wywołania mysql_query() wykonywane są na aktywnej bazie danych. Patrz również: mysql_connect(), mysql_pconnect() i mysql_query(). Dla zgodności z poprzednimi wersjami można korzystać z nazwy mysql_selectdb().
bool mysql_select_db (string database_name [, resource link_identifier])
mysql_tablename
Na podstawie identyfikatora wyniku zwracanego przez mysql_list_tables() oraz numeru kolejnego pobiera i zwraca nazwę tabeli. Funkcja mysql_numrows() może być użyta do określenia ilości tabel w wyniku.
string mysql_tablename (resource result, int i)
Przykład: mysql_tablename()
< ?php
mysql_connect ("localhost:3306");
$result = mysql_list_tables ("wisconsin");
$i = 0;
while ($i < mysql_num_rows ($result)) {
$tb_names[$i] = mysql_tablename ($result, $i);
echo $tb_names[$i] . "< BR >";
$i++;
}
? >

natcasesort
Stosuje algorytm sortowania ciągów w sposób w jaki robią to ludzie. Jest on nazwany "porządkowaniem naturalnym". Funkcja natcasesort() jest wersją funkcji natsort(), która nie rozróżnia wielkości liter. Różnica pomiędzy sortowaniem naturalnym a zwykłym algorytmem sortowania pokazana jest w przykładzie zastosowania funkcji natsort(). Więcej informacji na temat tego algorytmu można znaleźć na stronie http://www.linuxcare.com.au/projects/natsort/. Patrz również: sort(), natsort(), strnatcmp() i strnatcasecmp().
void natcasesort (array array)
natsort
Stosuje algorytm sortowania ciągów w sposób w jaki robią to ludzie. Jest on nazwany "porządkowaniem naturalnym". Różnica pomiędzy sortowaniem naturalnym a zwykłym algorytmem sortowania pokazana jest na poniższym przykładzie.
void natsort (array array)
Przykład: natsort()
$array1 = $array2 = array ("img12.png", "img10.png", "img2.png", "img1.png");
sort($array1);
echo "Zwykłe sortowanie\n";
print_r($array1);
natsort($array2);
echo "\nSortowanie w porządku naturalnym\n";
print_r($array2);
Wykonanie tego kodu da następujący wynik:

Zwykłe sortowanie
Array
(
[0] => img1.png
[1] => img10.png
[2] => img12.png
[3] => img2.png
)

Sortowanie w porządku naturalnym
Array
(
[3] => img1.png
[2] => img2.png
[1] => img10.png
[0] => img12.png
)

Więcej informacji można znaleźć na stronie poświęconej temu algorytmowi, http://www.linuxcare.com.au/projects/natsort/. Patrz również: natcasesort(), strnatcmp() i strnatcasecmp().
next
Zwraca element tablicy znajdujący się na następnym miejscu wskazywanym przez wewnętrzny wskaźnik tablicy lub False, jeżeli nie ma już więcej elementów. Funkcja next() zachowuje się podobnie do current(), z jedną różnicą. Next() przesuwa wewnętrzny wskaźnik tablicy o jeden element dalej. Jeżeli przesunięcie wskaźnika spowoduje wyjście wskaźnika poza tablicę, next() zwraca False. Jeżeli tablica zawiera pusty element lub element o wartości klucza 0, funkcja wróci False po napotkaniu takiego elementu. Aby prawidłowo przeglądać tablice, które mogą zawierać puste elementy lub klucze o wartości 0, należy użyć funkcji each(). Patrz również: curent(), end(), prev() i reset().
mixed next (array array)
nl2br
Zwraca ciąg ze znacznikami < BR > wstawionymi przed wszystkimi znakami nowej linii. Patrz również: htmlspecialchars(), htmlentities() i word_wrap().
string nl2br (string string)
number_format
Zwraca liczbę $number w sformatowanej postaci. Funkcja może być wywołana z jednym, dwoma lub czterema parametrami (nie z trzema). Jeżeli podany został jeden parametr, liczba $number jest formatowana bez części ułamkowej, ale z przecinkami pomiędzy kolejnymi grupami tysięcy. Jeżeli podane są dwa parametry, liczba jest formatowana z $decimals cyfr po przecinku, z kropką dziesiętną i przecinkami pomiędzy grupami tysięcy. Jeżeli są podane wszystkie cztery parametry, liczba jest z $decimals cyfr po przecinku, ze znakiem $dec_point zamiast kropki dziesiętnej i znakiem $thousand_sep zamiast przecinka pomiędzy grupami tysięcy.
string number_format (float number [, int decimals [, string dec_point [, string thousands_sep]]])
ob_end_clean
Usuwa zawartość bufora wyjściowego i wyłącza buforowanie wyjścia. Patrz również: ob_start() i ob_end_flush().
void ob_end_clean (void)
ob_end_flush
Wysyła zawartość bufora wyjściowego (o ile istnieje) na wyjście i wyłącza buforowanie wyjścia. Jeżeli chcesz przetworzyć zawartość bufora musisz użyć funkcji ob_get_contents() przed ob_end_flush(), ponieważ zawartość bufora jest usuwana po wywołaniu ob_get_contents(). Patrz również: ob_start(), ob_get_contents() i ob_end_clean().
void ob_end_flush (void)
ob_get_contents
Zwraca zawartość bufora wyjściowego lub False, jeżeli buforowanie wyjścia nie jest aktywne. Patrz również: ob_start() i ob_get_length().
string ob_get_contents (void)
ob_get_length
Zwraca ilość danych w buforze wyjściowym lub False, jeżeli buforowanie wyjścia nie jest aktywne. Patrz również: ob_start() i ob_get_contents().
string ob_get_length (void)
ob_implicit_flush
Włącza lub wyłącza ukryte opróżnianie bufora wyjściowego (jeżeli nie podany został znacznik $flag, domyślnie włącza opcję). Ukryte opróżnianie bufora powoduje opróżnianie bufora po każdej operacji wyjścia, więc nie są potrzebne jawne wywołania funkcji flush(). Włączenie ukrytego opróżniania powoduje wyłączenie buforowania wyjścia i zawartość bufora wyjściowego jest wysyłana tak samo, jak po wywołaniu funkcji ob_end_flush(). Patrz również: flush(), ob_start() i ob_end_flush().
void ob_implicit_flush ([int flag])
ob_start
Włącza buforowanie wyjścia. Gdy aktywne jest buforowanie wyjścia, ze skryptu nie są przesyłane żadne dane wyjściowe. Zamiast tego są one zbierane w wewnętrznym buforze. Zawartość tego bufora może być skopiowana do zmiennej za pomocą ob_get_contents(). Aby wysłać na wyjście dane zebrane w buforze, należy wywołać funkcję ob_end_flush(). Można również usunąć całą zawartość bufora za pomocą funkcji ob_end_clean(). Patrz również: ob_get_contents(), ob_end_flush(), ob_end_clean() i ob_implict_flush().
void ob_start ([string output_callback])
OCIBindByName
Łączy zmienną PHP $variable z obszarem zablokowanym $ph_name. To, czy zostanie on użyty jako wejście czy jako wyjście jest określane w czasie pracy i wtedy przydzielana jest niezbędna pamięć. Parametr $length określa maksymalną długość dla połączenia. Jeżeli ustawisz $length na -1, OCIBindByName() do ustawienia długości użyje bieżącego rozmiaru $variable. Jeżeli musisz dołączyć abstrakcyjny typ danych (LOB, ROWID, BFILE), musisz je najpierw zarezerwować za pomocą funkcji OCINewDescriptor(). Parametr $length nie jest używany dla abstrakcyjnych typów danych i powinien być ustawiony na -1. Parametr $type określa typ używanego deskryptora. Możliwymi wartościami są: OCI_B_FILE (plik binarny), OCI_B_CFILE (plik znakowy), OCI_B_CLOB (znakowy LOB), OCI_B_BLOB (binarny LOB) i OCI_B_ROWID (ROWID).
int OCIBindByName (int stmt, string ph_name, mixed &variable, int length [, int type])
Przykład: OCIDefineByName
< ?php

/* przykład uzycia OCIBindByPos, thies@thieso.net (980221)
wstawia trzy rekordy do emp, i używa ROWID do zmiany rekordów
zaraz p ich wstawieniu
*/ $conn = OCILogon("scott","tiger");
$stmt = OCIParse($conn,"insert into emp (empno, ename) ".
"values (:empno,:ename) ".
"returning ROWID into :rid");
$data = array(1111 => "Larry", 2222 => "Bill", 3333 => "Jim");
$rowid = OCINewDescriptor($conn,OCI_D_ROWID);
OCIBindByName($stmt,":empno",&$empno,32);
OCIBindByName($stmt,":ename",&$ename,32);
OCIBindByName($stmt,":rid",&$rowid,-1,OCI_B_ROWID);
$update = OCIParse($conn,"update emp set sal = :sal where ROWID = :rid");
OCIBindByName($update,":rid",&$rowid,-1,OCI_B_ROWID);
OCIBindByName($update,":sal",&$sal,32);
$sal = 10000;
while (list($empno,$ename) = each($data)) {
OCIExecute($stmt);
OCIExecute($update);
}
$rowid->free();
OCIFreeStatement($update);
OCIFreeStatement($stmt);
$stmt = OCIParse($conn,"select * from emp where empno in (1111,2222,3333)");
OCIExecute($stmt);
while (OCIFetchInto($stmt,&$arr,OCI_ASSOC)) {
var_dump($arr);
}
OCIFreeStatement($stmt);
/* usunięcie naszych "śmieci" t tabeli emp.... */
$stmt = OCIParse($conn,"delete from emp where empno in (1111,2222,3333)");
OCIExecute($stmt);
OCIFreeStatement($stmt);
OCILogoff($conn);
? >

Jednoczesne użycie magic-quotes i OciBindByName() jest bardzo niedobrym pomysłem, ponieważ nie jest potrzebne dodawanie apostrofów na zmiennych. Wszystkie apostrofu i cudzysłowy dodane w sposób automatyczny zostaną zapisane w bazie, ponieważ funkcja OciBindByName() nie potrafi odróżnić apostrofów dodanych automatycznie od tych dodanych z rozmysłem.
OCIColumnIsNULL
Zwraca True, jeżeli kolumna $column znajdująca się w wyniku z wyrażenia $stmt ma wartość NULL. Można użyć numerów kolumn (numerowane od 1) lub nazw. Patrz również: OCINumCols(), OCIColumnType() i OCIColumnSize().
int OCIColumnIsNULL (int stmt, mixed column)
OCIColumnName
Zwraca nazwę kolumny odpowiadającą przekazanemu numerowi kolumny (numerowane od 1).
string OCIColumnName (int stmt, int col)
Przykład: OCIColumnName()
< ?php
print "< HTML >< PRE >\n";
$conn = OCILogon("scott", "tiger");
$stmt = OCIParse($conn,"select * from emp");
OCIExecute($stmt);
print "< TABLE BORDER=\"1\" >";
print "< TR >";
print "< TH >Nazwa< /TH >";
print "< TH >Typ< /TH >";
print "< TH >Długość< /TH >";
print "< /TR >";
$ncols = OCINumCols($stmt);
for ( $i = 1; $i <= $ncols; $i++ ) {
$column_name = OCIColumnName($stmt,$i);
$column_type = OCIColumnType($stmt,$i);
$column_size = OCIColumnSize($stmt,$i);
print "< TR >";
print "< TD >$column_name< /TD >";
print "< TD >$column_type< /TD >";
print "< TD >$column_size< /TD >";
print "< /TR >";
}
OCIFreeStatement($stmt);
OCILogoff($conn);
print "< /PRE >";
print "< /HTML >\n";
? >

OCIColumnSize
Zwraca rozmiar kolumny Oracle. Do parametru $col można użyć numeru kolumny (numerowane od 1) lub nazwy kolumny. Patrz również: OCINumCols(), OCIColumnName() i OCIColumnSize().
int OCIColumnSize (int stmt, mixed column)
Przykład OCIColumnSize()
< ?php
print "< HTML >< PRE >\n";
$conn = OCILogon("scott", "tiger");
$stmt = OCIParse($conn,"select * from emp");
OCIExecute($stmt);
print "< TABLE BORDER=\"1\" >";
print "< TR >";
print "< TH >Nazwa< /TH >";
print "< TH >Typ< /TH >";
print "< TH >Długość< /TH >";
print "< /TR >";
$ncols = OCINumCols($stmt);
for ( $i = 1; $i <= $ncols; $i++ ) {
$column_name = OCIColumnName($stmt,$i);
$column_type = OCIColumnType($stmt,$i);
$column_size = OCIColumnSize($stmt,$i);
print "< TR >";
print "< TD >$column_name< /TD >";
print "< TD >$column_type< /TD >";
print "< TD >$column_size< /TD >";
print "< /TR >";
}
print "< /TABLE >";
OCIFreeStatement($stmt);
OCILogoff($conn);
print "< /PRE >";
print "< /HTML >\n";
? >
OCIColumnType
Zwraca typ danych kolumny o podanym numerze Patrz również: OCINumCols(), OCIColumnName() i OCIColumnSize().
mixed OCIColumnType (int stmt, int col)
Przykład: OCIColumnType()
< ?php
print "< HTML >< PRE >\n";
$conn = OCILogon("scott", "tiger");
$stmt = OCIParse($conn,"select * from emp");
OCIExecute($stmt);
print "< TABLE BORDER=\"1\" >";
print "< TR >";
print "< TH >Nazwa< /TH >";
print "< TH >Typ< /TH >";
print "< TH>Długość< /TH >";
print "< /TR >";
$ncols = OCINumCols($stmt);
for ( $i = 1; $i <= $ncols; $i++ ) {
$column_name = OCIColumnName($stmt,$i);
$column_type = OCIColumnType($stmt,$i);
$column_size = OCIColumnSize($stmt,$i);
print "< TR >";

print "< TD >$column_name< /TD >";
print "< TD >$column_type< /TD >";
print "< TD >$column_size< /TD >";
print "< /TR >";
}
OCIFreeStatement($stmt);
OCILogoff($conn);
print "< /PRE >";
print "< /HTML >\n";
? >
OCICommit
Zatwierdza wszystkie zaległe zapytania dla połączenia do Oracle $connection.
int OCICommit( int connection )
OCIDefineByName
Powoduje przesłanie zawartości kolumn SQL do zmiennych PHP. Należy pamiętać, że Oracle zapisuje nazwy kolumn zawsze wielkimi literami a wyrażenia SELECT najczęściej piszemy małymi literami. Funkcja OCIDefineByName() oczekuje, że $column-name będzie zapisana wielkimi literami. Jeżeli zdefiniujesz zmienna nie istniejącą w wyrażeniu SELECT, nie zostanie wygenerowany żaden błęd. Jeżeli musisz zdefiniować abstrakcyjny typ danych (LOB, ROWID, BFILE) musisz najpierw użyć funkcji OCINewDescriptor(). Patrz również: OCIBindByName().
int OCIDefineByName (int stmt, string Column-Name, mixed variable [, int type])
Przykład: OCIDefineByName()
< ?php
/* przykład użycia OCIDefineByPos, thies@thieso.net (980219) */
$conn = OCILogon("scott","tiger");
$stmt = OCIParse($conn,"select empno, ename from emp");
/* ta definicja MUSI znajdować się przed ociexecute! */
OCIDefineByName($stmt,"EMPNO",$empno);
OCIDefineByName($stmt,"ENAME",$ename);
OCIExecute($stmt);
while (OCIFetch($stmt)) {
echo "empno:".$empno."\n";
echo "ename:".$ename."\n";
}
OCIFreeStatement($stmt);
OCILogoff($conn);
? >

OCIError
Zwraca ostatni napotkany błąd. Jeżeli nie podany zostanie parametr opcjonalny $stmt|conn|global, zwracany jest ostatni błąd, Jeżeli nie napotkano błędu, OCIEror() zwraca False. Funkcja zwraca błąd w tablicy asocjacyjnej. W tablicy $code zawiera numer błędu Oracle, natomiast $message, komunikat błędu.
array OCIError ([int stmtconn|global])|
OCIExecute
Wykonuje zanalizowane wyrażenie (OCIParse()). Opcjonalny parametr $mode pozwala określić tryb wykonania (domyślnie jest to OCI_COMMIT_ON_SUCCESS). Jeżeli nie chcesz aby wyrażenia były automatycznie zatwierdzane, należy zastosować tryb OCI_DEFAULT.
int OCIExecute (int statement [, int mode])
OCIFetch
Pobiera kolejny wiersz (dla wyrażeń SELECT) do wewnętrznego bufora wyniku.
int OCIFetch (int statement)
OCIFetchInto
Pobiera kolejny wiersz (dla wyrażeń SELECT) do tabeli $result. Funkcja OCIFetchInto() nadpisuje poprzednią zawartość tablicy $result. Domyślnie $result zawiera tablicę (numerowaną od 1) wszystkich kolumn mających wartości inne niż NULL. Parametr $mode pozwala zmienić domyślny tryb pracy. Można podać więcej niż jeden znacznik dodając wartości, na przykład: OCI_ASSOC+OCIRETURN_NULLS.
int OCIFetchInto (int stmt, array &result [, int mode])
Możliwymi wartościami znacznika są:
- OCI_ASSOC - zwraca tablic asocjacyjną
- OCI_NUM - zwraca tablicę o indeksach numerycznych rozpoczynających się od 1 (domyślnie)
- OCI_RETURN_NULLS - zwraca puste kolumny
- OCI_RETURN_LOBS - zwraca wartości LOB zamiast deskryptorów
OCIFetchStatement
Pobiera wszystkie wiersze wyniku do tablicy zdefiniowanej przez użytkownika. Funkcja OCIFetchStatement() zwraca ilość pobranych wierszy.
int OCIFetchStatement (int stmt, array &variable)
Przykład: OCIFetchStatement()
< ?php
/* przykład OCIFetchStatement, mbritton@verinet.com (990624) */
$conn = OCILogon("scott","tiger");
$stmt = OCIParse($conn,"select * from emp");
OCIExecute($stmt);
$nrows = OCIFetchStatement($stmt,$results);
if ( $nrows > 0 ) {
print "< TABLE BORDER=\"1\" >\n";
print "< TR >\n";
while ( list( $key, $val ) = each( $results ) ) {
print "< TH >$key< /TH >\n";
}
print "< /TR >\n";
for ( $i = 0; $i < $nrows; $i++ ) {
reset($results);
print "< T R>\n";
while ( $column = each($results) ) {
$data = $column['value'];
print "< TD >$data[$i]< /TD > \n";
}
print "< /TR >\n";
}
print "< /TABLE >\n";
} else {
echo "Brak danych< BR >\n";
}
print "Wybano $nrows rekordów< BR >\n";
OCIFreeStatement($stmt);
OCILogoff($conn);
? >

OCIFreeCursor
Zwraca True, jeżeli funkcja się udała lub False, jeżeli się nie udała.
int OCIFreeCursor (int stmt)
OCIFreeDesc
Zwraca True, jeżeli funkcja się udała lub False, jeżeli się nie udała.
int OCIFreeDesc (object lob)
OCIFreeStatement Zwraca True, jeżeli funkcja się udała lub False, jeżeli się nie udała.
int OCIFreeStatement (int stmt)
OCIInternalDebug
Włącza wyjście wewnętrznego debugera. Należy ustawić parametr $onoff na 0 aby wyłączyć wyjście debugera, 1 aby je włączyć.
void OCIInternalDebug (int onoff)
OCILogOff
Zamyka połączenie do Oracle.
int OCILogOff (int connection)
OCILogon
Zwraca identyfikator połączenia niezbędny we większości funkcji OCI. Opcjonalny trzeci parametr może zawierać nazwę lokalnej instancji Oracle, do której funkcja ma się przyłączyć lub nazwę wpisu w pliku tnsnames.ora. Jeżeli nie zostanie podany trzeci parametr, PHP używa zmiennej środowiskowej ORACLE_SID (instancja Oracle) lub TWO_TASK (tnsnames.ora) do określenia bazy danych do której ma się przyłączyć. Używając funkcji OCILogon() połączenia są współdzielone na poziomie strony. Oznacza to, że operacje CONNECT i ROLLBACK działają dla wszystkich otwartych transakcji nawet, jeżeli skrypt tworzy wiele połączeń. Poniższy przykład pokazuje sposób współdzielenia połączeń.
int OCILogon (string username, string password [, string db])
Przykład: OCILogon()
< ?php
print "< HTML >< PRE >";
$db = "";
$c1 = ocilogon("scott","tiger",$db);
$c2 = ocilogon("scott","tiger",$db);
function create_table($conn)
{ $stmt = ociparse($conn,"create table scott.hallo (test varchar2(64))");
ociexecute($stmt);
echo $conn." tabela utworzona\n\n";
}
function drop_table($conn)
{ $stmt = ociparse($conn,"drop table scott.hallo");
ociexecute($stmt);
echo $conn." tabela usunięta\n\n";
}
function insert_data($conn)
{ $stmt = ociparse($conn,"insert into scott.hallo
values('$conn' | ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
ociexecute($stmt,OCI_DEFAULT);
echo $conn." wstawione dane przykładowe\n\n";
}
function delete_data($conn)
{ $stmt = ociparse($conn,"delete from scott.hallo");
ociexecute($stmt,OCI_DEFAULT);
echo $conn." usunięte dane przykładowe\n\n";
}
function commit($conn)
{ ocicommit($conn);
echo $conn." zatwierdzone\n\n";
}
function rollback($conn)
{ ocirollback($conn);
echo $conn." wycofane\n\n";
}
function select_data($conn)
{ $stmt = ociparse($conn,"select * from scott.hallo");
ociexecute($stmt,OCI_DEFAULT);
echo $conn."----wybieranie\n\n";
while (ocifetch($stmt))
echo $conn." <".ociresult($stmt,"TEST").">\n\n";
echo $conn."----gotowe\n\n";
}
create_table($c1);
insert_data($c1); // Wstawienie wiersza za pomocą c1
insert_data($c2); // Wstawienie wiersza za pomocą c2
select_data($c1); // Zwracamy wynik obu wyrażeń INSERT
select_data($c2);
rollback($c1); // wycofanie przy uzyciu c1
select_data($c1); // Oba inserty ostały wycofane
select_data($c2);
insert_data($c2); // Wstawienie wiersza za pomocą c2
commit($c2); // zatwierdzanie za pmocą c2
select_data($c1); // zwrócony jest wynik inserta na c2
delete_data($c1); // usunięcie wszystkich wierszy w tabeli za pomocą c1
select_data($c1); // brak wierszy
select_data($c2); // brak wierszy
commit($c1); // zatwierdzenie na c1
select_data($c1); // brak wierszy
select_data($c2); // brak wierszy
drop_table($c1);
print "< /PRE >< /HTML >";
? >|

Patrz również: OCIPLogon() i OCINLogon().
OCINewCursor
Przydziela nowy uchwyt wyrażenia do podanego połączenia.
int OCINewCursor (int conn)
Przykład: Użycie kursora REF z procedury przechowywanej
< ?php
// zakładamy, że procedura przechowywana info.output zwraca kursor ref w :data
$conn = OCILogon("scott","tiger");
$curs = OCINewCursor($conn);
$stmt = OCIParse($conn,"begin info.output(:data); end;");
ocibindbyname($stmt,"data",&$curs,-1,OCI_B_CURSOR);
ociexecute($stmt);
ociexecute($curs);
while (OCIFetchInto($curs,&$data)) {
var_dump($data);
}
OCIFreeStatement($stmt);
OCIFreeCursor($curs);
OCILogoff($conn);
? >

Przykład: Użycie kursora REF z wyrażenia SELECT
< ?php
print "< HTML >< BODY >";
$conn = OCILogon("scott","tiger");
$count_cursor = "CURSOR(select count(empno) num_emps from emp "
"where emp.deptno = dept.deptno) as EMPCNT from dept";
$stmt = OCIParse($conn,"select deptno,dname,$count_cursor");
ociexecute($stmt);
print "< TABLE BORDER=\"1\">";
print "< TR >";
print "< TH >NAZWA WYDZIAŁU< /TH >";
print "< TH >NR #< /TH >";
print "< TH ># PRACOWNIKÓW< /TH >";
print "< /TR >";
while (OCIFetchInto($stmt,&$data,OCI_ASSOC)) {
print "";
$dname = $data["DNAME"];
$deptno = $data["DEPTNO"];
print "< TD >$dname< /TD >";
print "< TD >$deptno< /TD >";
ociexecute($data[ "EMPCNT" ]);
while (OCIFetchInto($data[ "EMPCNT" ],&$subdata,OCI_ASSOC)) {
$num_emps = $subdata["NUM_EMPS"];
print "< TD >$num_emps< /TD >";
}
print "< /TR >";
}
print "< /TABLE >";
print "< /BODY >< /HTML >";
OCIFreeStatement($stmt);
OCILogoff($conn);
?>

OCINewDescriptor
Przydziela pamięć do przechowywania deskryptorów lub lokalizatorów LOB. Prawidłowymi wartościami $type są: OCI_D_FILE, OCI_D_LOB i OCI_D_ROWID. Dla deskryptorów LOB z deskryptorami związane są metody load, save i savefile. Dla BFILE istnieje tylko metoda load. Przyjrzyj się uwagom z komentarzy w drugim przykładzie.
string OCINewDescriptor (int connection [, int type])
Przykład: OCINewDescriptor()
< ?php
/* Skrypt ten jest zaprojektowany do wywoływania z formularza HTML.
* Wymaga przekazania zmiennych$user, $password, $table, $where i
* $commitsize z formularza. Skrypt usuwa wybrae wiersze
* korzystając z ROWID i zatwierdza operacje po
* $commitsize wierszy. (używać rozważnie, brak możliwości wycofania)
*/ $conn = OCILogon($user, $password);

$stmt = OCIParse($conn,"select rowid from $table $where");
$rowid = OCINewDescriptor($conn,OCI_D_ROWID);
OCIDefineByName($stmt,"ROWID",&$rowid);
OCIExecute($stmt);
while ( OCIFetch($stmt) ) {
$nrows = OCIRowCount($stmt);
$delete = OCIParse($conn,"delete from $table where ROWID = :rid");
OCIBindByName($delete,":rid",&$rowid,-1,OCI_B_ROWID);
OCIExecute($delete);
print "$nrows\n";
if ( ($nrows % $commitsize) == 0 ) {
OCICommit($conn);
}
}
$nrows = OCIRowCount($stmt);
print "usunięto $nrows .\n";
OCIFreeStatement($stmt);
OCILogoff($conn);
? >
< ?php
/* Skrypt pokazuje sposób ładowania plików do kolumn LOB
* Formularz używany w tym przykładzie jes następujący
* < form action="upload.php3" method="post" enctype="multipart/form-data" >
* < input type="file" name="lob_upload" >
* ...
*/
if(!isset($lob_upload) | $lob_upload == 'none'){
? >
< form action="upload.php3" method="post" enctype="multipart/form-data" >
Prześlij plik: < input type="file" name="lob_upload" >
< input type="submit" value="Wyślij "> - < input type="reset" >
< /form >
< ?php
} else {
// $lob_upload zawieera nazwę pliku tymczasowego przesłanego pliku
$conn = OCILogon($user, $password);
$lob = OCINewDescriptor($conn, OCI_D_LOB);
$stmt = OCIParse($conn,"insert into $table (id, the_blob)
values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob");
OCIBindByName($stmt, ':the_blob', &$lob, -1, OCI_B_BLOB);
OCIExecute($stmt, OCI_DEFAULT);
if($lob->savefile($lob_upload)){
OCICommit($conn);
echo "Udane przesłanie BLOB-a \n";
}else{
echo "Nieudane przesłanie BLOB-a \n";
}
OCIFreeDesc($lob);
OCIFreeStatement($stmt);
OCILogoff($conn);
}
? >|

OCINLogon
Zwraca identyfikator nowego połączenia do bazy Oracle 8 i loguje się do bazy. Opcjonalny trzeci parametr może zawierać nazwę lokalnej instancji Oracle, do której funkcja ma się przyłączyć lub nazwę wpisu w pliku tnsnames.ora. Jeżeli nie zostanie podany trzeci parametr, PHP używa zmiennej środowiskowej ORACLE_SID (instancja Oracle) lub TWO_TASK (tnsnames.ora) do określenia bazy danych do której ma się przyłączyć. Funkcja OCINLogon() wymusza powstanie nowego połączenia. Powinno być to używane jedynie wtedy, gdy musisz odizolować transakcje. Domyślnie połączenia są współdzielone na poziomie strony, jeżeli używa się funkcji OCILogon() lub na poziomie serwera WWW, jeżeli używa się funkcji OCIPLogon(). Jeżeli posiadasz kilka połączeń otwartych za pomocą OCINLogon() wszystkie operacje CONNECT i ROLLBACK działają tylko dla podanego połączenia. Poniższy przykład pokazuje sposób separowania połączeń. Patrz również: OCILogon() i OCIPLogon().
int OCINLogon (string username, string password [, string db])
Przykład: OCINLogon()
< ?php
print "< HTML >< PRE >";
$db = "";
$c1 = ocilogon("scott","tiger",$db);
$c2 = ocinlogon("scott","tiger",$db);
function create_table($conn)
{ $stmt = ociparse($conn,"create table scott.hallo (test varchar2(64))");
ociexecute($stmt);
echo $conn." tabela utworzona\n\n";
}
function drop_table($conn)
{ $stmt = ociparse($conn,"drop table scott.hallo");
ociexecute($stmt);
echo $conn." tabela usunięta\n\n";
}
function insert_data($conn)
{ $stmt = ociparse($conn,"insert into scott.hallo values('$conn' | ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
ociexecute($stmt,OCI_DEFAULT);
echo $conn." wstawione dane przykładowe\n\n";
}
function delete_data($conn)
{ $stmt = ociparse($conn,"delete from scott.hallo");
ociexecute($stmt,OCI_DEFAULT);
echo $conn." usunięte dane przykładowe\n\n";
}
function commit($conn)
{ ocicommit($conn);
echo $conn." zatwierdzone\n\n";
}
function rollback($conn)
{ ocirollback($conn);
echo $conn." wycofane\n\n";
}
function select_data($conn)
{ $stmt = ociparse($conn,"select * from scott.hallo");
ociexecute($stmt,OCI_DEFAULT);
echo $conn."----wybieranie\n\n";
while (ocifetch($stmt))
echo $conn." <".ociresult($stmt,"TEST").">\n\n";
echo $conn."----gotowe\n\n";
}
create_table($c1);
insert_data($c1);
select_data($c1);
select_data($c2);
rollback($c1);
select_data($c1);
select_data($c2);
insert_data($c2);
commit($c2);
select_data($c1);
delete_data($c1);
select_data($c1);
select_data($c2);
commit($c1);
select_data($c1);
select_data($c2);
drop_table($c1);
print "< /PRE >< /HTML >";
? >|

OCINumCols
Zwraca ilość kolumn w wyrażeniu.
int OCINumCols (int stmt)
Przykład: OCINumCols()
< ?php
print "< HTML >< PRE >\n";
$conn = OCILogon("scott", "tiger");
$stmt = OCIParse($conn,"select * from emp");
OCIExecute($stmt);
while ( OCIFetch($stmt) ) {
print "\n";
$ncols = OCINumCols($stmt);
for ( $i = 1; $i <= $ncols; $i++ ) {
$column_name = OCIColumnName($stmt,$i);
$column_value = OCIResult($stmt,$i);
print $column_name . ': ' . $column_value . "\n";
}
print "\n";
}
OCIFreeStatement($stmt);
OCILogoff($conn);
print "< /PRE >";
print "< /HTML >\n";
? >

OCIParse
Analizuje zapytanie $query korzystając z połączenia $conn. Zwraca identyfikator wyrażenia, jeżeli zapytanie jest prawidłowe lub False, jeżeli nie jest. Parametr $query może zawierać dowolne prawidłowe zapytanie SQL.
int OCIParse (int conn, string query)
OCIPLogon
Zwraca identyfikator trwałego połączenia do serwera Oracle 8 i loguje się do bazy. Opcjonalny trzeci parametr może zawierać nazwę lokalnej instancji Oracle, do której funkcja ma się przyłączyć lub nazwę wpisu w pliku tnsnames.ora. Jeżeli nie zostanie podany trzeci parametr, PHP używa zmiennej środowiskowej ORACLE_SID (instancja Oracle) lub TWO_TASK (tnsnames.ora) do określenia bazy danych do której ma się przyłączyć. Patrz również: OCILogon() i OCINLogon().
int OCIPLogon (string username, string password [, string db])
OCIResult
Zwraca dane z kolumny $column w bieżącym wierszu (patrz OCIFetch()). Funkcja OCIesult() zwraca wszystko poza typami abstrakcyjnymi (ROWID, LOB, FILE) w postaci ciągów.
mixed OCIResult (int statement, mixed column)
OCIRollback
Wycofuje zmiany wykonane poprzez połączenie $connection.
int OCIRollback (int connection)
OCIRowCount
Zwraca ilość wierszy zmienionych przez wyrażenie SQL. Funkcja nie zwraca ilości wierszy zwracanych przez wyrażenie SELECT.
int OCIRowCount (int statement)
Przykład: OCIRowCount()
< ?php
print "< HTML >< PRE >";
$conn = OCILogon("scott","tiger");
$stmt = OCIParse($conn,"create table emp2 as select * from emp");
OCIExecute($stmt);
print " wstawiono ".OCIRowCount($stmt) . " wierszy.< BR >";
OCIFreeStatement($stmt);
$stmt = OCIParse($conn,"delete from emp2");
OCIExecute($stmt);
print"usunięto ". OCIRowCount($stmt) . " wierszy.< BR >";
OCICommit($conn);
OCIFreeStatement($stmt);
$stmt = OCIParse($conn,"drop table emp2");
OCIExecute($stmt);
OCIFreeStatement($stmt);
OCILogOff($conn);
print "< /PRE >< /HTML >";
? >

OCIServerVersion
string OCIServerVersion (int conn)
Przykład: OCIServerVersion()
< ?php
$conn = OCILogon("scott","tiger");
print "Wersja serwera: " . OCIServerVersion($conn);
OCILogOff($conn);
? >

OCIStatementType
string OCIStatementType (int stmt)
Funkcja OCIStatementType() zwraca jedną z następujących wartości:
SELECT UPDATE DELETE
INSERT CREATE DROP
ALTER BEGIN DECLARE
UNKNOWN

Przykład:
< ?php
print "< HTML >< PRE >";
$conn = OCILogon("scott","tiger");
$sql = "delete from emp where deptno = 10";
$stmt = OCIParse($conn,$sql);
if ( OCIStatementType($stmt) == "DELETE" ) {
die "Nie możesz usuwać z tej tabeli< BR >";
}
OCILogoff($conn);
print "< /PRE >< /HTML >";
? >
octdec
Zwraca dziesiętny odpowiednik liczby ósemkowej reprezentowanej przez argument $octal_string. Funkcja octdec() konwertuje ciąg ósemkowy na liczbę dziesiętna. Największą liczbą możliwą do skonwertowania jest 17777777777 lub dziesiętnie 2147483647. Patrz również: decoct().
int octdec( string octal_string )
odbc_autocommit
Funkcja wywołana bez parametru $onoff zwraca stan mechanizmu automatycznego zatwierdzania dla połączenia $connection_id. Jeżeli automatyczne zatwierdzanie jest włączone, zwraca True natomiast False, jeżeli jest wyłączone lub wystąpił błąd. Jeżeli parametr $onoff ma wartość True, automatyczne zatwierdzanie jest włączane, jeżeli ma wartość False - wyłączane. Zwraca True w przypadku sukcesu i False w przypadku błędu. Domyślnie automatyczne zatwierdzanie jest włączone dla połączenia. Wyłączenie automatycznego zatwierdzania jest ekwiwalentem rozpoczęcia transakcji. Patrz również: odbc_commit() i odbc_rollback().
int odbc_autocommit (int connection_id [, int OnOff])
odbc_binmode
int odbc_binmode (int result_id, int mode)
(Funkcja ma wpływ na typy SQL ODBC: BINARY, VARBINARY i LONGVARBINARY)
- ODBC_BINMODE_PASSTHRU - Dane BINARY są przekazywane dalej.
- ODBC_BINMODE_RETURN - Zwraca w takiej postaci jak otrzymał
- ODBC_BINMODE_CONVERT - Konwertuje znaki i końce linii.
Gdy dane binarne SQL są konwertowane do danych znakowych C, każdy bajt (8 bitów) źródła jest reprezentowany jako dwa znaki ASCII. Znaki te są znakami ASCII reprezentującymi liczbę w postaci szesnastkowej. Na przykład, liczba binarna 00000001 jest konwertowana na "01" natomiast 11111111 na "FF".
Obsługa typu LONGVARBINARY
Tryb binarny : longreadlen : Wynik
ODBC_BINMODE_PASSTHRU : 0 : przelotka
ODBC_BINMODE_RETURN : 0 : przelotka
ODBC_BINMODE_CONVERT : 0 : przelotka
ODBC_BINMODE_PASSTHRU : 0 : przelotka
ODBC_BINMODE_PASSTHRU : >0 : przelotka
ODBC_BINMODE_RETURN : >0 : zwraca w niezmienionej postaci
ODBC_BINMODE_CONVERT : >0 : zwraca jako ciąg znaków

Jeżeli zostanie użyta funkcja odbc_fetch_into(), "przelotka" oznacza, że dla tych kolumn zwracany jest pusty ciąg. Jeżeli $result_id jest równy 0, ustawienia te są wartościami domyślnymi dla nowych wyników.
Uwaga
Wartością domyślną dla longreadlen jest 4096 a tryb binarny ODBC_BINMODE_RETURN. Obsługa kolumn binarnych jest również realizowana przez odbc_longreadlen().
odbc_close
Zamyka połączenie do serwera bazy danych skojarzonego z podanym identyfikatorem łącza.
Uwaga
Funkcja ta się nie uda, jeżeli na tym połączeniu są otwarte transakcje. W takim przypadku połączenie pozostanie otwarte.
void odbc_close (int connection_id)
odbc_close_all
Zamyka wszystkie połączenia do serwera bazy danych.
Uwaga
Funkcja ta się nie uda, jeżeli na tym połączeniu są otwarte transakcje. W takim przypadku połączenie pozostanie otwarte.
void odbc_close_all (void)
odbc_columnprivileges
Zwraca listę kolumn i uprawnień do nich dla podanej tablicy. Zwraca identyfikator wyniku ODBC lub False w przypadku wystąpienia błędu.
int odbc_columnprivileges (int connection_id [, string qualifier [, string owner [, string table_name [, string column_name]]]])
Wynik zawiera następujące kolumny:
- TABLE_QUALIFIER
- TABLE_OWNER
- TABLE_NAME
- GRANTOR
- GRANTEE
- PRIVILEGE
- IS_GRANTABLE

Wynik jest uporządkowany według TABLE_QUALIFIER, TABLE_OWNER i TABLE_NAME. Argument $column_name pozwala na stosowanie wzorców przeszukiwania (% zastępuje zero lub więcej znaków i _ zastępuje jeden znak).
odbc_columns
Tworzy listę kolumn w określonym zakresie. Zwraca identyfikator wyniku ODBC lub False w przypadku wystąpienia błędu. int odbc_columns (int connection_id [, string qualifier [, string owner
[, string table_name [, string column_name]]]])

Wynik składa się z następujących kolumn:
TABLE_QUALIFIER TABLE_OWNER TABLE_NAME
COLUMN_NAME DATA_TYPE TYPE_NAME
PRECISION LENGTH SCALE
RADIX NULLABLE REMARKS

Wynik jest uporządkowany według TABLE_QUALIFIER, TABLE_OWNER i TABLE_NAME. Argument $column_name, $table_name i $column_name pozwalają na stosowanie wzorców przeszukiwania (% zastępuje zero lub więcej znaków i _ zastępuje jeden znak). Patrz również: odbc_columnprivileges().
odbc_commit
Zwraca True w przypadku sukcesu lub False w przypadku błędu. Wszystkie transakcje rozpoczęte poprzez $connection_id są zatwierdzane.
int odbc_commit (int connection_id)
odbc_connect
Zwraca identyfikator połączenia ODBC lub 0 (False) w przypadku błędu. Identyfikator połączenia zwracany przez tą funkcję jest wymagany przez inne funkcje ODBC. Możesz mieć jednocześnie wiele połączeń. Opcjonalny czwarty parametr określa typ kursora, jaki jest używany na tym połączeniu. Parametr ten nie jest zwykle wymagany, ale może być użyteczny przy obchodzeniu problemów ze sterownikami ODBC. W przypadku niektórych sterowników ODBC, wykonywanie skomplikowanych procedur przechowywanych mogą powodować błąd Cannot open a cursor on a stored procedure that anything other than a single select statement in it. Użycie SQL_CUR_USE_ODBC może pomóc uniknąć błędu. Niektóre sterowniki nie obsługują opcjonalnego parametru $row_number w odbc_fetch_row(). Parametr SQL_CUR_USE_ODBC może również pomóc w tym przypadku.
int odbc_connect (string dsn, string user, string password [, int cursor_type]) Dla parametru $cursor_type zdefiniowane są następujące stałe:
- SQL_CUR_USE_IF_NEEDED
- SQL_CUR_USE_ODBC
- SQL_CUR_USE_DRIVER
- SQL_CUR_DEFAULT

Dla połączyć trwałych patrz odbc_pconnect().
odbc_cursor
Zwraca nazwę kursora dla podanego $result_id.
string odbc_cursor (int result_id)
odbc_do
Uruchamia zapytanie na podanym połączeniu.
int odbc_do (int conn_id, string query)
odbc_exec
Zwraca False w przypadku wystąpienia błędu. Zwraca identyfikator wyniku ODBC, jeżeli udało się poprawnie wykonać wyrażenie SQL. Funkcja odbc_exec() wysyła wyrażenie SQL do serwera bazy danych wskazywanego przez $connection_id. Parametr ten musi być prawidłowym identyfikatorem zwracanym przez odbc_connect() lub odbc_pconnect(). Patrz również: odbc_prepare() i odbc_execute() dla wielokrotnego wykonania wyrażenia SQL.
int odbc_exec (int connection_id, string query_string)
odbc_execute
Wykonuje zapytanie przygotowanie za pomocą odbc_prepare(). Zwraca True w przypadku udanego wykonania, False w przeciwnym przypadku. Tablica $parameters_array jest potrzebna, jeżeli w wyrażeniu SQL występują parametry.
int odbc_execute (int result_id [, array parameters_array])
odbc_fetch_into
Zwraca ilość kolumn w wyniku lub False w przypadku wystąpienia błędu. Tablica $result_array musi być przekazana przez referencję, ale może być to dowolny typ, ponieważ zostanie skonwertowany na typ tablicowy. Tablica zawiera wartości kolumn pod indeksami rozpoczynającymi się od 0.
int odbc_fetch_into (int result_id [, int rownumber, array result_array])
odbc_fetch_row
Jeżeli funkcja się powiedzie (był wiersz wyniku) zwracana jest wartość True. Jeżeli nie ma już wierszy, zwracana jest wartość False. Funkcja pobiera wiersz danych zwróconych przez funkcję odbc_do() lub odbc_exec(). Po wywołaniu odbc_fetch_row() pola z wyniku są dostępne dla funkcji odbc_result(). Jeżeli nie zostanie podany parametr $row_number, funkcja próbuje pobrać kolejny wiersz wyniku. Wywołania funkcji odbc_fetch_row() z parametrem $row_number i bez niego mogą być mieszane. Aby więcej niż raz odczytać wyniki zapytania, należy wywołać odbc_fetch_row() z $row_number równym 1 i kontynuować pobieranie danych za pomocą odbc_fetch_row() bez parametru $row_number. Jeżeli sterownik nie obsługuje odczytywania wiersza o podanym numerze, parametr ten jest ignorowany.
int odbc_fetch_row (int result_id [, int row_number])
odbc_field_len
Zwraca długość pola wskazywanego przy pomocy numeru w wyniku ODBC o podanym identyfikatorze. Numerowanie pól rozpoczyna się od 1. Patrz również: odbc_field_scale().
int odbc_field_len (int result_id, int field_number)
odbc_field_name
Zwraca nazwę pola wskazywanego przy pomocy numeru w wyniku ODBC o podanym identyfikatorze. Numerowanie pól rozpoczyna się od 1. W przypadku wystąpienia błędu zwraca False.
string odbc_field_name (int result_id, int field_number)
odbc_field_num
Zwraca numer kolumny o podanej nazwie w wyniku ODBC o podanym identyfikatorze. Numerowanie pól rozpoczyna się od 1. W przypadku wystąpienia błędu zwraca False.
int odbc_field_num (int result_id, string field_name)
odbc_field_precision
Zwraca dokładność kolumny o podanym numerze w wyniku ODBC o podanym identyfikatorze. Patrz również: odbc_field_scale().
string odbc_field_precision (int result_id, int field_number)
odbc_field_scale
Zwraca skalę kolumny o podanym numerze w wyniku ODBC o podanym identyfikatorze.
string odbc_field_scale (int result_id, int field_number)
odbc_field_type
Zwraca typ SQL pola wskazywanego przy pomocy numeru w wyniku ODBC o podanym identyfikatorze. Numerowanie pól rozpoczyna się od 1.
string odbc_field_type (int result_id, int field_number)
odbc_foreignkeys
Odczytuje dane na temat kluczy obcych. Zwraca identyfikator wyniku ODBC lub False w przypadku błędu.
int odbc_foreignkeys (int connection_id, string pk_qualifier, string pk_owner,
string pk_table, string fk_qualifier, string fk_owner, string fk_table)

Wynik składa się z następujących kolumn:
PKTABLE_QUALIFIER PKTABLE_OWNER PKTABLE_NAME
PKCOLUMN_NAME FKTABLE_QUALIFIER FKTABLE_OWNER
FKTABLE_NAME FKCOLUMN_NAME KEY_SEQ
UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME

Jeżeli parametr $pk_table zawiera nazwę tabeli, odbc_foreignkeys() zwraca w wynik zawierający klucz główny i wszystkie klucze obce odwołujące się do tej tabeli. Jeżeli $fk_table zawiera nazwę tabeli, odbc_foreignkeys() zwraca wynik zawierający wszystkie klucze obce w podanej tabeli oraz klucze główne, do których się odwołują. Jeżeli zarówno $pk_table jak i $fk_table zawierają nazwy tabel, odbc_foreignkeys() zwraca klucze obce z tabeli określonej przez $fk_table odwołujące się do klucza głównego z tabeli $pk_table. W większości przypadków będzie to tylko jeden klucz.
odbc_free_result
Zawsze zwraca True. Wywołanie tej funkcji jest wymagane jedynie wtedy, gdy skrypt zużywa zbyt dużo pamięci podczas pracy. Cała pamięć przydzielona do wyniku jest automatycznie zwalniana po zakończeniu działania skryptu. Jeżeli jesteś pewien, że nie będziesz już używał danych z wyniku, możesz wywołać funkcję odbc_free_result(), aby zwolnić pamięć przydzieloną do $result_id.
Uwaga
Jeżeli automatyczne zatwierdzanie jest zablokowane, (patrz odbc_autocommit()) i wywołasz odbc_free_result() przed zatwierdzeniem, wszystkie otwarte transakcje zostaną wycofane.
int odbc_free_result (int result_id)
odbc_gettypeinfo
Pobiera dane na temat typów danych obsługiwanych przez źródło danych. Zwraca identyfikator wyniku ODBC lub False w przypadku wystąpienia błędu. Można użyć opcjonalnego parametru $data_type do ograniczenia danych do jednego typu.
int odbc_gettypeinfo (int connection_id [, int data_type])
Wynik składa się z następujących kolumn:
TYPE_NAME DATA_TYPE PRECISION
LITERAL_PREFIX LITERAL_SUFFIX CREATE_PARAMS
NULLABLE CASE_SENSITIVE SEARCHABLE
UNSIGNED_ATTRIBUTE MONEY AUTO_INCREMENT
LOCAL_TYPE_NAME MINIMUM_SCALE MAXIMUM_SCALE

Wynik jest uporządkowany według DATA_TYPE i TYPE_NAME.
odbc_longreadlen
(Funkcja ma wpływ na typ SQL ODBC LONG i LONGVARBINARY) Ilość bajtów zwracanych do PHP jest określana przez wartość parametru. Jeżeli ma wartość 0, dane z kolumn long są przepuszczane do klienta.
Uwaga
Obsługa kolumn LONGVARBINARY jest również realizowana przez odbc_binmode().
int odbc_longreadlen (int result_id, int length)
odbc_num_fields
Zwraca ilość pól (kolumn) w wyniku ODBC. Funkcja zwraca -1 w przypadku wystąpienia błędu. Argumentem jest prawidłowy identyfikator wyniku zwracany przez odbc_exec().
int odbc_num_fields (int result_id)
odbc_num_rows
Zwraca ilość wierszy w wyniku ODBC. W przypadku wystąpienia błędu funkcja zwraca -1. Dla wyrażeń INSERT, UPDATE i DELETE funkcja zwraca ilość zmienionych wierszy. Dla wyrażeń SELECT zwraca ilość zwracanych wierszy.
Uwaga
Użycie funkcji odbc_num_rows() do sprawdzenia ilości wierszy dostępnych po wykonaniu wyrażenia SELECT zwróci dla wielu sterowników -1.
int odbc_num_rows (int result_id)
odbc_pconnect
Zwraca identyfikator połączenia ODBC lub 0 (False) w przypadku wystąpienia błędu. Funkcja jest podobna do odbc_connect(), poza tym, że połączenie nie jest zamykane po zakończeniu skryptu. Kolejne żądania połączenia z tą samą kombinacją $dsn, $user i $password (poprzez odbc_connect() i odbc_pconnect()) powodują ponowne wykorzystanie połączenia trwałego.
Uwaga
Połączenia trwałe nie działają, jeżeli PHP jest użyty jako program CGI. Opis opcjonalnego parametru $cursor_type znajduje się przy opisie funkcji odbc_connect(). Więcej informacji na temat połączeń trwałych znajduje się w PHP FAQ.
int odbc_pconnect (string dsn, string user, string password [, int cursor_type])
odbc_prepare
Zwraca False w przypadku błędu. Zwraca identyfikator wyniku ODBC dla poprawnie przygotowanego wyrażenia SQL. Wynikowy identyfikator może być użyty do uruchomienia wyrażenia za pomocą odbc_execute().
int odbc_prepare (int connection_id, string query_string)
odbc_primarykeys
Zwraca nazwy kolumn składających się na klucz główny tabeli. Zwraca identyfikator wyniku ODBC lub False w przypadku błędu.
int odbc_primarykeys (int connection_id, string qualifier, string owner, string table)
Wynik posiada następujące kolumny:
TABLE_QUALIFIER TABLE_OWNER TABLE_NAME
COLUMN_NAME KEY_SEQ PK_NAME

odbc_procedurecolumns
Zwraca listę parametrów wejściowych i wyjściowych oraz kolumn będących wynikiem działania procedury. zwraca identyfikator wyniku ODBC lub False w przypadku błędu. int odbc_procedurecolumns (int connection_id [, string qualifier [, string owner
[, string proc [, string column]]]])

Wynik posiada następujące kolumny:
PROCEDURE_QUALIFIER PROCEDURE_OWNER PROCEDURE_NAME
COLUMN_NAME COLUMN_TYPE DATA_TYPE
TYPE_NAME PRECISION LENGTH
SCALE RADIX NULLABLE
REMARKS

Wynik jest posortowany według kolumn PROCEDURE_QUALIFIER, PROCEDURE_NAME i COLUMN_TYPE. Argumenty $owner, $proc i $column mogą zawierać wzorzec przeszukiwania (% zastępuje zero lub więcej znaków i _ zastępuje jeden znak).
odbc_procedures
Tworzy listę procedur w określonym zakresie. Zwraca identyfikator wyniku ODBC lub False w przypadku błędu.
int odbc_procedures (int connection_id [, string qualifier [, string owner [, string name]]])
Wynik zawiera następujące kolumny:
PROCEDURE_QUALIFIER PROCEDURE_OWNER PROCEDURE_NAME
NUM_INPUT_PARAMS NUM_OUTPUT_PARAMS NUM_RESULT_SETS
REMARKS PROCEDURE_TYPE

Argumenty $owner, $proc i $column mogą zawierać wzorzec przeszukiwania (% zastępuje zero lub więcej znaków i _ zastępuje jeden znak).
odbc_result
Zwraca zawartość pola. Parametr $field może być liczbą określającą numer pola lub ciągiem zawierającym nazwę pola.
string odbc_result (int result_id, mixed field)
Przykład:
$item_3 = odbc_result ($Query_ID, 3);
$item_val = odbc_result ($Query_ID, "val");

Pierwsze wywołanie odbc_result() zwraca wartość trzeciego pola w bieżącym rekordzie Drugie wywołanie funkcji odbc_result() zwraca wartość pola o nazwie val w bieżącym rekordzie w wyniku. Błąd wystąpi, jeżeli numer kolumny dla jest mniejsza od jeden lub przekracza ilość kolumn w bieżącym rekordzie. Podobnie błąd wystąpi, jeżeli podana nazwa nie jest nazwą pola znajdującego się w wyniku. Numery pól rozpoczynają się od 1. W zależności od trybu obsługi kolumn long, zwracane są dane binarne lub long. Patrz również: odbc_binmode() i odbc_longreadlen().
odbc_result_all
Zwraca ilość wierszy w wyniku lub False w przypadku błędu. Funkcja odbc_result_all() powoduje wydruk wszystkich wierszy z wyniku tworzonego za pomocą odbc_exec(). Wynikiem funkcji jest tabela HTML. Dodatkowe formatowanie tabeli może być realizowane za pomocą opcjonalnego ciągu $format.
int odbc_result_all (int result_id [, string format])
odbc_rollback
Wycofuje transakcje otwarte poprzez połączenie $connection_id. Zwraca True w przypadku pomyślnego wykonania operacji lub False w przypadku błędu.
int odbc_rollback (int connection_id)
odbc_setoption
Funkcja pozwala operować opcjami ODBC dla połączenia lub wyniku zapytania. Funkcja została napisana w celu umożliwienia znalezienia obejścia problemów ze sterownikami ODBC zawierającymi błędy. Powinieneś używać tej funkcji jedynie wtedy, gdy jesteś programistą ODBC i znasz konsekwencje ustawiania różnych opcji. Powinieneś również posiadać dobry podręcznik ODBC zawierający objaśnienie wszystkich opcji i ich wartości. Różne wersje sterowników obsługują różne opcje.
int odbc_setoption (int id, int function, int option, int param)
Ponieważ efekty mogą bardzo zależeć od sterownika ODBC, używanie tej funkcji w skryptach udostępnianych publicznie nie jest zalecane. Niektóre opcje ODBC nie są dostępne dla tej funkcji, ponieważ muszą być ustawiane przed nawiązaniem połączenia lub przygotowania zapytania. Jednak może ona pomóc w konkretnym przypadku. Parametr $id jest identyfikatorem połączenia lub identyfikatorem wyniku, na którym chcesz zmienić opcje. Dla SQLSetConnectOption() jest to identyfikator połączenia. Dla SQLSetStmtOption() jest to identyfikator wyniku. Parametr $function jest używaną funkcją ODBC. Wartością może być: 1 dla SQLSetConnectOption() i 2 dla SQLSetStmtOption(). Parametr $option jest wartością ustawianej opcji. Parametr $param jest wartością dla podanej opcji. Przykład: ODBC SetOption
// 1. Opcje 102 dla SQLSetConnectOption() wynosi SQL_AUTOCOMMIT.
// Wartość 1 dla SQL_AUTOCOMMIT to SQL_AUTOCOMMIT_ON.
// Przykład ten jest analogiczny do wywołania
// odbc_autocommit($conn, true);
odbc_setoption ($conn, 1, 102, 1);
// 2. Opcja 0 dla SQLSetStmtOption() wynosi SQL_QUERY_TIMEOUT.
// Przykład ustawia czas wygaśnięcia zapytania na 30 sekund.
$result = odbc_prepare ($conn, $sql);
odbc_setoption ($result, 2, 0, 30);
odbc_execute ($result);
odbc_specialcolumns

Gdy wartością parametru $type wynosi SQL_BEST_ROWID, funkcja odbc_specialcolumns() zwraca kolumnę lub kolumny, które jednoznacznie identyfikują każdy wiersz tabeli. Jeżeli $typ wynosi SQL_ROWVER, funkcja odbc_specialcolumns() zwraca optymalną kolumnę lub zestaw kolumn, która po odczytaniu wartości kolumny lub kolumn pozwala na jednoznaczną identyfikację wierszy z tablicy. Funkcja zwraca identyfikator wyniku ODBC lub False w przypadku błędu.
int odbc_specialcolumns (int connection_id, int type, string qualifier, string owner, string table, int scope, int nullable)
Wynik zawiera następujące kolumny:
SCOPE COLUMN_NAME DATA_TYPE
TYPE_NAME PRECISION LENGTH
SCALE PSEUDO_COLUMN

Wynik jest uporządkowany według kolumny SCOPE.
odbc_statistics
Odczytuje statystyki na temat tablicy i indeksów. Zwraca identyfikator wyniku ODBC lub False w przypadku błędu.
int odbc_statistics (int connection_id, string qualifier, string owner,
string table_name, int unique, int accuracy)

Wynik zawiera następujące kolumny:
TABLE_QUALIFIER TABLE_OWNER TABLE_NAME
NON_UNIQUE INDEX_QUALIFIER INDEX_NAME
TYPE SEQ_IN_INDEX COLUMN_NAME
COLLATION CARDINALITY PAGES
FILTER_CONDITION

Wynik jest uporządkowany według kolumn: NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME i SEQ_IN_INDEX.
odbc_tableprivileges
Tworzy listę tabel w żądanym zakresie oraz uprawnień związanych z każdą tabelą. Zwraca identyfikator wyniku ODBC lub False w przypadku błędu.
int odbc_tableprivileges (int connection_id [, string qualifier [, string owner
[, string name]]])

Wynik zawiera następujące kolumny:
TABLE_QUALIFIER TABLE_OWNER TABLE_NAME
GRANTOR GRANTEE PRIVILEGE
IS_GRANTABLE

Wynik jest uporządkowany według kolumn: TABLE_QUALIFIER, TABLE_OWNER i TABLE_NAME. Argumenty $owner, $proc i $column mogą zawierać wzorzec przeszukiwania (% zastępuje zero lub więcej znaków i _ zastępuje jeden znak).
odbc_tables
Tworzy listę tabel w żądanym zakresie. Zwraca identyfikator wyniku ODBC lub False w przypadku błędu.
int odbc_tables (int connection_id [, string qualifier [, string owner
[, string name [, string types]]]])

Wynik zawiera następujące kolumny:
TABLE_QUALIFIER TABLE_OWNER TABLE_NAME
TABLE_TYPE REMARKS

Wynik jest uporządkowany według: TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER i TABLE_NAME. Argumenty $owner, $proc i $column mogą zawierać wzorzec przeszukiwania (% zastępuje zero lub więcej znaków i _ zastępuje jeden znak). Aby obsłużyć wyliczanie kwalifikatorów, właścicieli i typów tabel dostępna jest specjalna składnia parametrów $qualifier, $owner, $name i $table_type. Jeżeli $qualifier zawiera jeden znak procentu (%) natomiast $owner i $name są pustymi ciągami, wynik zawiera listę kwalifikatorów dla źródła danych (wszystkie kolumny poza TABLE_QUALIFIER zawierają wartości NULL). Jeżeli $owner zawiera znak procentu (%) a $qualifier i $name są pustymi ciągami, wynik jest listą właścicieli dla podanego źródła danych (wszystkie kolumny poza TABLE_OWNER zawierają wartości NULL). Jeżeli $table_type zawiera znak procentu (%) a $qualifier, $owner i $name są pustymi ciągami, wynik jest listą typów tabel dla podanego źródła danych (wszystkie kolumny poza TABLE_TYPE zawierają wartości NULL). Jeżeli $table_type nie jest pustym ciągiem, musi zawierać listę wartości rozdzielonych przecinkami interesujących typów tabel Każda wartość może być otoczona apostrofami (') lub bez apostrofów, na przykład: 'TABLE','VIEW' lub TABLE,VIEW. Jeżeli źródło danych nie obsługuje jakiegoś typu tabel, odbc_tables() nie zwraca wyników dla tego typu. Sposób odczytywania uprawnień opisany jest przy funkcji odbc_tableprivileges().
opendir
Zwraca uchwyt katalogu, który jest później używany w funkcjach closedir(), readdir() i rewinddir(). resource opendir (string path)
openlog
Otwiera dla programu połączenie do dziennika systemowego. Ciąg $ident jest dodawany do każdego komunikatu. Wartości $option i $facility są wymienione w tabeli poniżej. Argument $option używany jest do wskazania, opcji używanych przy generowaniu komunikatów. Pozwala to podać (w konfiguracji dziennika systemowego) w jaki sposób są obsługiwane komunikaty przychodzące z różnych urządzeń. Użycie funkcji openlog() jest opcjonalne. Jest ona wywoływana w razie potrzeby przez funkcję syslog() i w takim przypadku $ident ma wartość False.
int openlog (string ident, int option, int facility)
Opcje openlog()
Stała : Opis
LOG_CONS : Jeżeli wystąpił błąd przy wysyłaniu danych do dziennika systemowego dane są wypisywane na konsolę systemową.
LOG_NDELAY : Natychmiast otwiera połączenie z dziennikiem systemowym.
LOG_ODELAY : (domyślny) Opóźnia otwarcie połączenia do zapisu pierwszego komunikatu.
LOG_PERROR : Wysyła komunikaty dziennika również na standardowe wyjście błędów.
LOG_PID : Dodaje PID do każdego komunikatu.

Można korzystać z więcej niż jednej z tych opcji. Używając kilku opcji do ich łączenia należy użyć operatora OR. Na przykład, aby uzyskać natychmiastowe otwarcie połączenia, pisanie na konsolę i dodanie PID do każdego komunikatu należy użyć LOG_CONS | LOG_NDELAY | LOG_PID.
Urządzenia dla openlog()
Stała : Opis
LOG_AUTH : Komunikaty systemu bezpieczeństwa (należy użyć LOG_AUTHPRIV w systemach gdzie jest zdefiniowana ta stała).
LOG_AUTHPRIV : Komunikaty systemu bezpieczeństwa (prywatne).
LOG_CRON : Demony zegara (cron i at).
LOG_DAEMON : Inne demony systemowe.
LOG_KERN : Komunikaty jądra.
LOG_LOCAL0 ... LOG_LOCAL7 : Zarezerwowane.
LOG_LPR : Podsystem drukarki.
LOG_MAIL : Podsystem poczty.
LOG_NEWS : Podsystem USENET.
LOG_SYSLOG : Komunikaty generowane przez syslogd.
LOG_USER : Komunikaty generowane przez programy użytkownika.
LOG_UUCP : Podsystem UUCP.

Patrz również: define_syslog_variables(), syslog() i closelog().
Ora_Bind
Zwraca True jeżeli wiązanie udało się lub False w przeciwnym przypadku. Szczegóły na temat błędu mogą być pobrane za pomocą funkcji ora_error() i ora_errorcode(). Funkcja ta wiąże nazwę zmiennej PHP z parametrem SQL. Parametr SQL musi mieć postać :nazwa. Za pomocą opcjonalnego parametru $type można zdefiniować, czy parametr ma być wyjściowy i wejściowy (0 - domyślnie), wejściowy (10) lub wyjściowy (2). Od wersji PHP 3.0.1 można korzystać ze stałych ORA_BIND_INOUT, ORA_BIND_IN i ORA_BIND_OUT zamiast liczb. Funkcja ora_bind() musi być wywołana po ora_parse() i przed ora_exec(). Wartości wejściowe mogą być przekazywane poprzez przypisanie do związanych zmiennych PHP. Po wywołaniu ora_exec(), wartości wyjściowe, jeżeli są dostępne, są dostępne w odpowiednich związanych zmiennych. int ora_bind (int cursor, string PHP variable name, string SQL parameter name,
int length [, int type])

Przykład: ora_bind()
< ?php
ora_parse($curs, "declare tmp INTEGER; begin tmp := :in; :out := tmp; :x := 7.77; end;");
ora_bind($curs, "result", ":x", $len, 2);
ora_bind($curs, "input", ":in", 5, 1);
ora_bind($curs, "output", ":out", 5, 2);
$input = 765;
ora_exec($curs);
echo "Wynik: $result
Wyjście: $output
Wejście: $input";
? >

Ora_Close
Zwraca True jeżeli udało się zamknięcie, False w przeciwnym wypadku. Szczegóły na temat błędu mogą być pobrane za pomocą funkcji ora_error() i ora_errorcode(). Funkcja zamyka kursor otwarty za pomocą ora_open().
int ora_close (int cursor)
Ora_ColumnName
Zwraca nazwę kolumny (pola) numer $column z kursora $cursor. Zwracana nazwa zapisana jest wielkimi literami.
string Ora_ColumnName (int cursor, int column)
Ora_ColumnSize
Zwraca rozmiar kolumny (pola) numer $column z kursora $cursor.
int Ora_ColumnSize (int cursor, int column)
Ora_ColumnType
Zwraca typ Oracle kolumny (pola) numer $column z kursora $cursor.
string Ora_ColumnType (int cursor, int column)
Zwracany typ może być jedną z poniższych wartości:
- VARCHAR2
- VARCHAR
- CHAR
- NUMBER
- LONG
- LONG RAW
- ROWID
- DATE
- CURSOR

Ora_Commit
Zwraca True w przypadku powodzenia operacji lub False w przypadku wystąpienia błędu. Szczegóły na temat błędu mogą być pobrane za pomocą funkcji ora_error() i ora_errorcode(). Funkcja zatwierdza transakcję Oracle. Transakcja jest definiowana jako wszystkie zmiany wykonane poprzez połączenie od czasu ostatniej operacji COMMIT lub ROLLBACK, wyłączenia automatycznego zatwierdzania lub nawiązania połączenia.
int ora_commit (int conn)
Ora_CommitOff
Zwraca True w przypadku powodzenia operacji lub False w przypadku wystąpienia błędu. Szczegóły na temat błędu mogą być pobrane za pomocą funkcji ora_error() i ora_errorcode(). Funkcja wyłącza automatyczne zatwierdzanie operacji po każdej funkcji ora_exec().
int ora_commitoff (int conn)
Ora_CommitOn
Funkcja włącza automatyczne zatwierdzanie operacji po każdej funkcji ora_exec() na podanym połączeniu. Zwraca True w przypadku powodzenia operacji lub False w przypadku wystąpienia błędu. Szczegóły na temat błędu mogą być pobrane za pomocą funkcji ora_error() i ora_errorcode().
int ora_commiton (int conn)
Ora_Do
Funkcja ta jest kombinacją funkcji ora_parse(), ora_exec() i ora_fetch(). Analizuje, wykonuje wyrażenie oraz pobiera pierwszy wiersz. Zwraca True w przypadku powodzenia operacji lub False w przypadku wystąpienia błędu. Szczegóły na temat błędu mogą być pobrane za pomocą funkcji ora_error() i ora_errorcode(). Patrz również: ora_parse(), ora_exec() i ora_fetch().
int ora_do (int conn, string query)
Ora_Error
Zwraca komunikat błędu w postaci XXX-NNNNN, gdzie XXX jest źródłem błędu a NNNNN określa komunikat błędu.
Uwaga
Obsługę identyfikatorów połączenia została dodana w PHP 3.0.4.
string Ora_Error (int cursor_or_connection)
Na Oracle dla systemów Unix można znaleźć komunikaty błędów podobne do następujących:
$ oerr ora 00001 00001, 00000, "unique constraint (%s.%s) violated" // *Cause: An update or insert statement attempted to insert a duplicate key // For Trusted ORACLE configured in DBMS MAC mode, you may see // this message if a duplicate entry exists at a different level. // *Action: Either remove the unique restriction or do not insert the key
Ora_ErrorCode
Zwraca numeryczny kod błędu ostatniej wykonywanego wyrażenia na określonym kursorze lub połączeniu.
Uwaga
Obsługę identyfikatorów połączenia została dodana w PHP 3.0.4.
int Ora_ErrorCode (int cursor_or_connection)
Ora_Exec
Zwraca True w przypadku powodzenia operacji lub False w przypadku wystąpienia błędu. Szczegóły na temat błędu mogą być pobrane za pomocą funkcji ora_error() i ora_errorcode(). Patrz również: ora_parse(), ora_fetch() i ora_do().
int ora_exec (int cursor)
Ora_Fetch
Zwraca True (został odczytany wiersz) lub False (brak wierszy lub wystąpił błąd). Szczegóły na temat błędu mogą być pobrane za pomocą funkcji ora_error() i ora_errorcode(). Jeżeli nie wystąpił błąd, ora_errorcode() zwraca 0. Pobiera wiersz danych z podanego kursora. Patrz również: ora_parse(), ora_exec() i ora_do().
int ora_fetch (int cursor)
Ora_Fetch_Into
Pobiera wiersz do tablicy.
Uwaga
Musisz przekazywać tablicę przez referencję. Patrz również: ora_parse(), ora_exec(), ora_fetch() i ora_do().
int ora_fetch_into (int cursor, array result [, int flags])
Przykład: Pobranie wiersza wyniku Oracle do tablicy
< ?php
array($results);
ora_fetch_into($cursor, &$results);
echo $results[0];
echo $results[1];
? >

Ora_GetColumn
Zwraca dane kolumny. Jeżeli wystąpi błąd zwracana jest wartość False, a ora_errorcode() zwraca niezerową wartość. Należy pamiętać, że sprawdzanie czy funkcja zwróciła wartość False powoduje, że będą wykrywane również sytuacje gdy błąd nie wystąpił (wartość NULL, pusty ciąg, liczba 0, ciąg "0"). Pobiera dane z kolumny lub wynik funkcji.
mixed ora_getcolumn (int cursor, mixed column)
Ora_Logoff
Zwraca True w przypadku powodzenia operacji lub False w przypadku wystąpienia błędu. Szczegóły na temat błędu mogą być pobrane za pomocą funkcji ora_error() i ora_errorcode(). Wylogowuje użytkownika i odłącza od serwera. Patrz również: ora_logon().
int ora_logoff (int connection)
Ora_Logon
Zestawia połączenie pomiędzy PHP a bazą danych Oracle, korzystając z podanej nazwy użytkownika i hasła.
int ora_logon (string user, string password)
Podając nazwę TNS i użytkownika połączenie może być zestawione za pomocą SQL*Net:
$conn = Ora_Logon("user@TNSNAME", "pass");
Jeżeli dane znakowe zawierają znaki spoza zakresu ASCII, powinieneś ustawić w systemie zmienną środowiska NLS_LANG. W przypadku korzystania z modułu serwera, zmienna ta powinna być ustawiona w środowisku serwera przed uruchomieniem serwera. W przypadku powodzenia operacji zwraca identyfikator połączenia lub False w przypadku wystąpienia błędu. Szczegóły na temat błędu mogą być pobrane za pomocą funkcji ora_error() i ora_errorcode().
Ora_Numcols
Zwraca liczbę kolumn w wyniku. Zwraca prawidłowe wartości jedyni po wykonaniu sekwencji parse - exec - fetch. Patrz również: ora_parse(), ora_exec(), ora_fetch() i ora_do().
int ora_numcols (int cursor_ind)
Ora_Numrows
Zwraca ilość wierszy w wyniku. int ora_numrows (int cursor_ind)
Ora_Open
Otwiera kursor Oracle skojarzony z połączeniem. Zwraca identyfikator kursora lub False w przypadku błędu. Szczegóły na temat błędu mogą być pobrane za pomocą funkcji ora_error() i ora_errorcode().
int ora_open (int connection)
Ora_Parse
Analizuje wyrażenie SQL lub blok PL/SQL i łączy je z podanym kursorem. Zwraca 0 w przypadku powodzenia operacji lub -1 w przypadku błędu. Patrz również: ora_exec(), ora_fetch() i ora_do().
int ora_parse (int cursor_ind, string sql_statement, int defer) Ora_pLogon
Zestawia trwałe połączenie pomiędzy PHP a bazą danych Oracle, korzystając z podanej nazwy użytkownika i hasła. Patrz również: ora_logon().
int ora_plogon (string user, string password)
Ora_Rollback
Wycofuje transakcję Oracle (definicja transakcji znajduje się przy funkcji ora_commit()).Zwraca identyfikator kursora lub False w przypadku błędu. Szczegóły na temat błędu mogą być pobrane za pomocą funkcji ora_error() i ora_errorcode().
int ora_rollback (int connection)
OrbitEnum
Klasa ta reprezentuje wyliczenie identyfikowane przez parametr $id. Parametr ten może być nazwą wyliczenia (na przykład: MyEnum) lub pełnym identyfikatorem repozytorium (na przykład: IDL:MyEnum:1:0)
new OrbitEnum (string id)
Przykład: przykładowy plik IDL
enum MyEnum {
a,b,c,d,e
};

Przykład: kod PHP korzystający z MyEnum
< ?php
$enum = new OrbitEnum ("MyEnum");
echo $enum->a; /* wypisuje 0 */
echo $enum->c; /* wypisuje 2 */
echo $enum->e; /* wypisuje 4 */
? >
OrbitObject
Klasa pozwalająca na dostęp do obiektu CORBA. Parametr $id powinien być ciągiem zawierającym Interoperable Object Reference (IOR) identyfikujący zdalny obiekt.
new OrbitObject (string ior)
Przykład: Przykładowy plik IDL
interface MyInterface {
void SetInfo (string info);
string GetInfo();
attribute int value;
}

Przykład: kod PHP korzystający z MyInterface
< ?php
$obj = new OrbitObject ($ior);
$obj->SetInfo ("Obiekt");
echo $obj->GetInfo();
$obj->value = 42;
echo $obj->value;
? >

OrbitStruct
Klasa reprezentująca strukturę o identyfikatorze $id. Parametr $id może być nazwą struktury (na przykład MyStruct) lub pełnym identyfikatorem repozytorium (na przykład: IDL:MyStruct:1:0)
new OrbitStruct (string id)
Przykład: przykładowy plik IDL
struct MyStruct {
short shortvalue;
string stringvalue;
};
interface SomeInterface {
void SetValues (MyStruct values);
MyStruct GetValues();
}

Przykład: kod PHP korzystający z MyStruct
< ?php
$obj = new OrbitObject ($ior);
$initial_values = new OrbitStruct ("IDL:MyStruct:1.0");
$initial_values->shortvalue = 42;
$initial_values->stringvalue = "HGTTG";
$obj->SetValues ($initial_values);
$values = $obj->GetValues();
echo $values->shortvalue;
echo $values->stringvalue;
? >

ord
Zwraca wartość ASCII dla pierwszego znaku ciągu $string. Funkcja jest odwrotnością chr(). Patrz również: chr().
int ord (string string)
Przykład: ord()
if (ord($str) == 10) {
echo "Pierwszym znakiem \$str jest znak nowego wiersza.\n";
}

pack
Pakuje podane argumenty do postaci ciągu binarnego zgodnie z formatem $format. Zwraca ciąg binarny zawierający dane. Idea tej funkcji jest zapożyczona z języka Perl i wszystkie kody formatujące działają identycznie. Jednak brakuje kilku kodów, na przykład kod Perla u. Ciąg formatu składa się z kodów formatowania po których następują opcjonalne argumenty powtarzania. Argument ten może być liczbą całkowita lub * dla powtarzania do końca danych wejściowych. Dla kodów a, A, h i H ilość powtórzeń określa ilość pobieranych znaków jednego argumentu danych. Dla @, jest to bezwzględna pozycja na której należy umieścić kolejne dane. Dla pozostałych kodów ilość powtórzeń określa ile argumentów jest pobieranych i pakowanych do wynikowego ciągu binarnego.
string pack (string format [, mixed args …])
Zaimplementowane są następujące kody:
- a - ciąg dopełniany zerami
- A - ciąg dopełniany spacjami
- h - ciąg szesnastkowy, pierwszy jest mniej znaczący półbajt
- H - ciąg szesnastkowy, pierwszy jest bardziej znaczący półbajt
- c - litera ze znakiem
- C - litera bez znaku
- s - krótka liczba ze znakiem (zawsze 16 bitów, kolejność bajtów zależna od komputera)
- S - krótka liczba bez znaku (zawsze 16 bitów, kolejność bajtów zależna od komputera)
- n - krótka liczba bez znaku (zawsze 16 bitów, z malejącym porządkiem bitów)
- v - krótka liczba bez znaku (zawsze 16 bitów, z rosnącym porządkiem bitów)
- i - liczba całkowita ze znakiem (rozmiar i porządek bitów zależny od komputera)
- I - liczba całkowita bez znaku (rozmiar i porządek bitów zależny od komputera)
- l - liczba długa ze znakiem (zawsze 32 bity, kolejność bajtów zależna od komputera)
- L - liczba długa bez znaku (zawsze 32 bity, kolejność bajtów zależna od komputera)
- N - liczba długa bez znaku (zawsze 32 bity, z malejącym porządkiem bitów)
- V - liczba długa bez znaku (zawsze 32 bity, z rosnącym porządkiem bitów)
- f - liczba zmiennoprzecinkowa (rozmiar i reprezentacja zależna od komputera)
- d - liczba double (rozmiar i reprezentacja zależna od komputera)
- x - bajt NUL
- X - cofnięcie o jeden bajt
- @ - wypełnienie znakami NUL do określonej pozycji
Przykład: ciąg formatu dla pack()
$binarydata = pack ("nvc*", 0x1234, 0x5678, 65, 66);
Wynikowy ciąg będzie miał 6 bajtów i zawierał sekwencję bajtów: 0x12, 0x34, 0x78, 0x56, 0x41 i 0x42.
Uwaga Rozróżnienie pomiędzy wartościami ze znakiem lub bez znaku jest ważne jedynie dla funkcji unpack(), a funkcja pack() daje identyczne wartości dla kodów formatowania ze znakiem jak i bez. Należy zauważyć, że PHP wewnętrznie przechowuje wartości całkowite jako wartości ze znakiem o wielkości zależnej od komputera. Jeżeli zostanie przekazana zbyt duża wartość, zostanie ona skonwertowana do double, co może prowadzić do niespodziewanych wyników.
parse_str
Analizuje ciąg $str tak, jakby był przekazany poprzez adres URL i ustawia zmienne w bieżącym zakresie widoczności. Jeżeli podany jest drugi parametr $arr zmienne są umieszczane w przekazanej tablicy.
void parse_str (string str [, array arr])
Przykład: użycie parse_str()
< ?php
$str = "first=value&second[]=this+works&second[]=another";
parse_str($str);
echo $first; /* wypisuje "value" */
echo $second[0]; /* wypisuje "this works" */
echo $second[1]; /* wypisuje "another" */
? >

parse_url
Zwraca tablicę asocjacyjną zawierającą różne składniki podanego adresu URL. Są dostępne: scheme, host, port, user, pass, path, query i fragment.
array parse_url (string url)
passthru
Podobna do funkcji exec(), uruchamia polecenie podane w $command. Jeżeli podany jest parametr $return_var, umieszczana jest w nim wartość kodu powrotu wykonywanego polecenia. Funkcja ta powinna być używana zamiast exec() lub system() dla przypadków, gdy wynikiem działania polecenia są dane binarne, które muszą być wysłane do przeglądarki. Częstym zastosowaniem jest uruchomienie programu podobnego do pbmplus, który potrafi bezpośrednio pisać do strumienia wyjściowego. Ustawiając content-type na image/gif i wywołując pbmplus z opcją tworzenia pliku gif, można stworzyć skrypt PHP bezpośrednio wyświetlający rysunki.
Uwaga
Jeżeli uruchamiasz program przy pomocy tej funkcji i chcesz pozostawić go aby działał w tle, musisz przekierować jego wyjście do pliku lub innego strumienia wyjściowego, ponieważ inaczej PHP zatrzyma się czekając na zakończenie tego programu. Patrz również: exec(), popen(), EscapeShellCmd() oraz operator `.
void passthru (string command [, int return_var])
pdf_add_outline
Dodaje zakładkę z tekstem $text wskazującą na bieżącą stronę. Zakładka jest wstawiana w postaci obiektu potomnego do $parent i jest domyślnie otwierana chyba, że parametr $open jest różny od 0. Wynikiem jest identyfikator zakładki i może być on użyty jako obiekt nadrzędny dla innych zakładek. Dzięki temu można tworzyć hierarchię zakładek. Niestety pdflib nie tworzy kopii ciągu, co powoduje wymuszenie przydzielania pamięci przez PHP. Ten fragment pamięci nie jest zwalniany przez żadną z funkcji PDF i jest to w gestii zarządcy pamięci PHP.
int pdf_add_outline( int pdf_document, string text [, int parent] [, int open])
pdf_arc
Rysuje łuk o środku w punkcie ($x-coor, $y-coor) i promieniu $radius rozpoczynając pod kątem $start a kończąc na $end. Patrz również: pdf_circle() i pdf_stroke().
void pdf_arc (resource pdf_object, float x, float y, float r, float alpha, float beta)
pdf_begin_page
Rozpoczyna nową stronę o wysokości $height i szerokości $width. Aby stworzyć prawidłowy dokument musisz co najmniej raz wywołać funkcję pdf_end_page(). Patrz również: pdf_end_page().
void pdf_begin_page (int pdf_object, float width, float height)
pdf_circle
Rysuje okrąg o środku w punkcie ($x-coor, $y-coor) i promieniu $radius. Patrz również: pdf_arc() i pdf_stroke().
void pdf_circle (int pdf_object, float x, float y, float r)
pdf_clip
Przycina rysunek do bieżącej ścieżki.
void pdf_clip (int pdf_object)
pdf_close
Zamyka dokument pdf. Patrz również: pdf_open() i fclose().
void pdf_close (int pdf_object)
pdf_closepath
Zamyka bieżącą ścieżkę. Oznacza to, że rysuje linię od bieżącego punktu do punktu, w którym zostało rozpoczęte rysowanie ścieżki. Wiele funkcji, np. pdf_moveto(), pdf_circle() i pdf_rect() rozpoczyna nową ścieżkę.
void pdf_closepath (int pdf_object)
pdf_closepath_fill_stroke
Zamyka bieżącą ścieżkę, wypełnia jej obszar bieżącym kolorem wypełnienia i rysuje ścieżkę. Patrz również: pdf_closepath(), pdf_stroke(), pdf_fill(), pdf_setgray_fill(), pdf_setgray(), pdf_setrbgcolor_fill() i pdf_setrgbcolor().
void pdf_closepath_fill_stroke (int pdf_object)
pdf_closepath_stroke
Połączenie pdf_closepath() i pdf_stroke(). Dodatkowo kasuje ścieżkę. Patrz również: pdf_closepath() i pdf_stroke().
void pdf_closepath_stroke (int pdf_object)
pdf_close_image
Zamyka rysunek otwarty za pomocą funkcji pdf_open_xxx(). Patrz również: pdf_open_jpeg(), pdf_open_gif() i pdf_open_memory_image().
void pdf_close_image (int pdf_object, int image)
pdf_continue_text
Umieszcza tekst przekazany w parametrze $text w kolejnym wierszu. Odstęp pomiędzy wierszami może być regulowany za pomocą funkcji pdf_set_leading(). Patrz również: pdf_show_xy(), pdf_set_leading() i pdf_set_text_pos().
void pdf_continue_text (int pdf_object, string text)
pdf_curveto
Rysuje krzywą Beziera od punktu bieżącego do punktu ($x3, $y3) używając jako punktów kontrolnych ($x1, $y1) i ($x2, $y2). Patrz również: pdf_moveto(), pdf_lineto() i pdf_stroke(). void pdf_curveto (int pdf_object, float x1, float y1, float x2, float y2,
float x3, float y3)

pdf_endpath
Kończy bieżącą ścieżkę, ale jej nie zamyka. Patrz również: pdf_closepath().
void pdf_endpath( int pdf_document )
pdf_end_page
Kończy stronę. Po zakończeniu strony nie może być ona już modyfikowana. Patrz również: pdf_begin_page().
void pdf_end_page (int pdf_object)
pdf_execute_image
Wyświetla rysunek umieszczony w pliku PDF za pomocą funkcji pdf_put_image() na bieżącej stronie na podanych współrzędnych. Rysunek może być przeskalowany podczas wyświetlania. Skala 1.0 powoduje wyświetlanie rysunku w oryginalnej wielkości.
Uwaga
Funkcja stanie się przestarzała w pdflib 2.01. Będzie jedynie wyświetlała ostrzeżenie. Przykład: wielokrotne wyświetlanie rysunku
< ?php
$im = ImageCreate( 100, 100 );
$col1 = ImageColorAllocate( $im, 80, 45, 190 );
ImageFill( $im, 10, 10, $col1 );
$pim = pdf_open_memory_image( $pdf, $pim );
pdf_put_image( $pdf, $pim );
pdf_execute_image( $pdf, $pim, 100, 100, 1 );
pdf_execute_image( $pdf, $pim, 200, 200, 2 );
pdf_close_image( $pdf, $pim )
? >

pdf_fill
Wypełnia wnętrze bieżącej ścieżki za pomocą bieżącego koloru wypełnienia. Patrz również: pdf_closepath(), pdf_stroke(), pdf_setgray_fill(), pdf_setgray(), pdf_setrgbcolor_fill() i pdf_sergbcolor().
void pdf_fill_stroke (int pdf_object)

pdf_fill_stroke
Wypełnia wnętrze bieżącej ścieżki za pomocą bieżącego koloru wypełnienia i rysuje bieżącą ścieżkę. Patrz również: pdf_closepath(), pdf_stroke(), pdf_fill(), pdf_setgray_fill(), pdf_setgray(), pdf_setrgbcolor_fill() i pdf_sergbcolor().
void pdf_fill_stroke (int pdf_object)
pdf_get_image_height
Zwraca wysokość rysunku pdf w pikselch. Patrz również: pdf_open_image_file(), pdf_open_memory_image() i pdf_get_image_width().
string pdf_get_image_height (int pdf_object, int image)
pdf_get_image_width
Zwraca szerokość rysunku pdf w pikselch. Patrz również: pdf_open_image_file(), pdf_open_memory_image() i pdf_get_image_heigth().
string pdf_get_image_width (int pdf_object, int image)
pdf_get_parameter
Pobiera kilka z parametrów pdflib będących ciągami. Parametr funkcji $modifier określa parametr do pobrania. Jeżeli modyfikator nie jest potrzebny, musi mieć wartość 0 lub nie podany. Patrz również: pdf_get_value(), pdf_set_value() i pdf_set_parameter().
string pdf_get_parameter (int pdf_object, string key [, float modifier])
pdf_get_value
Pobiera kilka numerycznych parametrów pdflib. Parametr funkcji $modifier określa parametr do pobrania. Jeżeli modyfikator nie jest potrzebny, musi mieć wartość 0 lub nie podany. Patrz również: pdf_get_parametr(), pdf_set_value() i pdf_set_parameter().
float pdf_get_value (int pdf_object, string key [, float modifier])
pdf_lineto
Rysuje linię od punktu bieżącego do punktu o współrzędnych ($x, $y). Patrz również: pdf_moveto(), pdf_curveto() i pdf_stroke().
void pdf_lineto (int pdf_object, float x, float y)
pdf_moveto
Ustawia punkt bieżący na $x i $y.
void pdf_moveto (int pdf_object, float x, float y)
pdf_open
Otwiera dokument pdf. Odpowiedni plik musi być otwarty za pomocą fopen() i deskryptor pliku przekazany jako parametr $file. Jeżeli nie przekazane zostaną żadne parametry, dokument zostanie utworzony w pamięci a wynikowa strona wysłana do stdout lub przeglądarki WWW.
Uwaga
Zwracana wartość jest potrzebna jako pierwszy parametr wszystkich pozostałych funkcji zapisujących pliki pdf. Patrz również: fopen() i pdf_close().
int pdf_open( int file )

pdf_open_gif
Otwiera rysunek zapisany w pliku o nazwie $filename. Formatem pliku musi być gif. Funkcja zwraca identyfikator rysunku pdf.
Uwaga
Funkcja nie powinna być już używana. Proszę używać zamiast niej funkcji pdf_open_image_file(). Patrz również: pdf_close_image(), pdf_open_jpeg(), pdf_open_memory_image(), pdf_execute_image(), pdf_place_image() i pdf_put_image().
int pdf_open_gif ( int pdf_document, string filename )
Przykład: Dołączanie rysunku GIF < ?php
$im = pdf_open_gif( $pdf, "test.gif" );
pdf_place_image( $pdf, $im, 100, 100, 1 );
pdf_close_image( $pdf, $im );
? >

pdf_open_image_file
Otwiera rysunek o formacie $format, zapisany w pliku o nazwie $filename. Możliwymi formatami pliku są: png, tiff, jpeg i gif. Funkcja zwraca identyfikator rysunku pdf. Patrz również: pdf_close_image(), pdf_open_jpeg(), pdf_open_gif(), pdf_open_memory_image(), pdf_execute_image(), pdf_place_image() i pdf_put_image().
int pdf_open_image_file (int PDF-document, string imagetype, string filename [, string stringparam [, string intparam]])
Przykład: wstawianie rysunku
< ?php
$im = pdf_image_file( $pdf, "png", "picture.png" );
pdf_place_image( $pdf, $im, 100, 100, 1 );
pdf_close_image( $pdf, $im );
? >

pdf_open_jpeg
Otwiera rysunek zapisany w pliku o nazwie $filename. Formatem pliku musi być jpeg. Funkcja zwraca identyfikator rysunku pdf.
Uwaga
Funkcja nie powinna być już używana. Proszę używać zamiast niej funkcji pdf_open_image_file(). Patrz również: pdf_close_image(), pdf_open_gif(), pdf_open_png(), pdf_open_memory_image(), pdf_execute_image(), pdf_place_image() i pdf_put_image(). int pdf_open_jpeg ( int pdf_document, string filename )
pdf_open_memory_image
Pobiera rysunek utworzony za pomocą funkcji PHP tworzących rysunki i udostępnia go dla dokumentu pdf. Funkcja zwraca identyfikator rysunku pdf. Patrz również: pdf_close_image(),pdf_open_jpeg(), pdf_open_gif(), pdf_open_png(), pdf_execute_image(), pdf_place_image() i pdf_put_image().
int pdf_open_memory_image (int pdf_object, int image)
Przykład: Dołączanie rysunku z pamięci
< ?php
$im = ImageCreate( 100, 100 );
$col1 = ImageColorAllocate( $im, 80, 45, 190 );
ImageFill( $im, 10, 10, $col1 );
$pim = pdf_open_memory_image( $pdf, $pim );
ImageDestroy( $im );
pdf_place_image( $pdf, $pim, 100, 100, 1 );
pdf_close_image( $pdf, $pim )
? >

pdf_open_png
Otwiera rysunek zapisany w pliku o nazwie $filename. Formatem pliku musi być png. Funkcja zwraca identyfikator rysunku pdf.
Uwaga
Funkcja nie powinna być już używana. Proszę używać zamiast niej funkcji pdf_open_image_file(). Patrz również: pdf_close_image(), pdf_open_gif(), pdf_open_jpeg(), pdf_open_memory_image(), pdf_execute_image(), pdf_place_image() i pdf_put_image().
int pdf_open_png ( int pdf_document, string filename )
Przykład: dołączanie rysunku PNG
< ?php
$im = pdf_open_png( $pdf, "test.png" );
pdf_place_image( $pdf, $im, 100, 100, 1 );
pdf_close_image( $pdf, $im );
? >
pdf_open_tiff
Otwiera rysunek zapisany w pliku o nazwie $filename. Formatem pliku musi być tiff. Funkcja zwraca identyfikator rysunku pdf.
Uwaga
Funkcja nie powinna być już używana. Proszę używać zamiast niej funkcji pdf_open_image_file(). Patrz również: pdf_close_image(), pdf_open_gif(), pdf_open_jpeg(), pdf_open_png(), pdf_open_memory_image(), pdf_execute_image(), pdf_place_image() i pdf_put_image().
int pdf_open_tiff( int pdf_document, string filename )
pdf_place_image
Umieszcza rysunek na stronie na współrzędnych ($x, $y). Rysunek może być w tym czasie przeskalowany. Patrz również: pdf_put_image().
void pdf_place_image (int pdf_object, int image, float x, float y, float scale)
pdf_put_image
Umieszcza rysunek w pliku PDF bez jego pokazywania. Zapisany rysunek może być wyświetlony za pomocą pdf_execute_image() dowolną ilość razy. Jest to użyteczne, jeżeli ten sam rysunek jest wielokrotnie używany w celu zmniejszenia pliku wynikowego. Użycie funkcji pdf_put_image() i pdf_execute_image() jest zalecane dla większych rysunków (kilka KB), jeżeli są pokazane w dokumencie więcej niż raz.
Uwaga
Funkcja stanie się przestarzała w pdflib 2.01. Będzie jedynie wyświetlała ostrzeżenie. Patrz również: pdf_put_image(), pdf_place_image() i pdf_execute_image().
pdf_rect
Rysuje prostokąt o dolnym lewym narożniku w punkcie ($x, $y). Jego szerokość wynosi $width a wysokość $height. Patrz również: pdf_stroke().
void pdf_rect (int pdf_object, float x, float y, float width, float height)
pdf_restore
Przywraca środowisko zapisane za pomocą pdf_save(). Działa podobnie do polecenia postscript restore. Patrz również: pdf_save().
void pdf_restore (int pdf_object)
Przykład: zapamiętywanie i przywracanie środowiska
< ?php
pdf_save( $pdf );
// wykonanie obrotów i innych transformacji
pdf_restore( $pdf );
? >

pdf_rotate
Ustawia kąt obrotu w stopniach na $angle.
void pdf_rotate (int pdf_object, float angle)
pdf_save
Zapisuje bieżące środowisko. Działa podobnie do polecenia postscript save. Funkcja jest użyteczna, gdy chcesz przesunąć lub obrócić obiekt bez wpływania na inne obiekty. Funkcja pdf_save() powinna zawsze posiadać swoją pdf_restore() odtwarzającą stan środowiska sprzed pdf_save(). Patrz również: pdf_restore().
void pdf_save (int pdf_object)
pdf_scale
Ustala współczynnik skalowania w obu kierunkach. Poniższy przykład powoduje przeskalowanie współrzędnych x i y o 72. Kolejna linia będzie miała dzięki temu długość jednego cala w obu kierunkach.
void pdf_scale (int pdf_object, float x-scale, float y-scale)
Przykład: skalowanie
< ?php
pdf_scale($pdf, 72.0, 72.0 );
pdf_lineto( $pdf, 1, 1 );
pdf_stroke( $pdf );
? >
pdf_setdash
Ustawia wzór kreski na $white białych punktów i $black czarnych. Jeżeli obie wartości są 0, narysowana zostanie ciągła linia.
void pdf_setdash (int pdf_object, float black, float white)
pdf_setflat
Ustawia parametr płaskości na wartość od 0 do 100.
void pdf_setflat (int pdf_object, float flatness)
pdf_setgray
Ustawia bieżący kolor rysowania i wypełnienia na podaną wartość szarego koloru Patrz również: pdf_setrgbcolor_stroke() i pdf_setrgbcolor_fill().
B>void pdf_setgray (int pdf_object, float gray)
pdf_setgray_fill
Ustawia bieżący kolor wypełnienia na podaną wartość szarości. Patrz również: pdf_setrgbcolor_stroke().
void pdf_setgray_fill (int pdf_object, float gray)
pdf_setgray_stroke
Ustawia bieżący kolor na podaną wartość szarości. Patrz również: pdf_setrgbcolor_stroke().
void pdf_setgray_stroke (int pdf_object, float gray)
pdf_setlinecap
Ustawia parametr linecap na wartość od 0 do 2. void pdf_setlinecap (int pdf_object, int linecap)
pdf_setlinejoin
Ustawia parametr linejoin na wartość od 0 do 2.
void pdf_setlinejoin (int pdf_object, long linejoin)
pdf_setlinewidth
Ustawia szerokość linii na $width.
void pdf_setlinewidth (int pdf_object, float width)
pdf_setmiterlimit
Ustawia parametr miter limit na wartość większą lub równą 1.
void pdf_setmiterlimit (int pdf_object, float miter)
pdf_setrgbcolor
Ustawia bieżący kolor wypełnienia i rysowania na podaną wartość koloru RGB. Patrz również: pdf_setrgbcolor_stroke() i pdf_setrgbcolor_fill().
void pdf_setrgbcolor (int pdf_object, float red_value, float green_value, float blue_value)
pdf_setrgbcolor_fill
Ustawia wartość koloru RGB dla wypełnienia ścieżki. Patrz również: pdf_setrgbcolor().
void pdf_setrgbcolor_fill (int pdf_object, float red_value, float green_value, float blue_value)
pdf_setrgbcolor_stroke
Ustawia bieżącą wartość koloru RGB do rysowania.
void pdf_setrgbcolor_stroke (int pdf_object, float red_value, float green_value, float blue_value)
pdf_set_border_color
Ustawia kolor prostokąta otaczającego łącza i komentarze. Trzy składniki koloru muszą mieć wartości pomiędzy 0.0 a 1.0. Patrz również: pdf_set_border_dash().
void pdf_set_border_color (int pdf_object, float red, float green, float blue)
pdf_set_border_dash
Ustawia długości czarnych i białych obszarów linii przerywanej otaczającej łącza i komentarze. Patrz również: pdf_set_border_color().
void pdf_set_border_dash (int pdf_object, float black, float white)
pdf_set_border_style
Ustawia rodzaj i wielkość prostokąta otaczającego łącza i komentarze. Parametr $style może mieć wartości solid lub dashed. Patrz również: pdf_set_border_color() i pdf_set_border_dash().
void pdf_set_border_style (int pdf_object, string style, float width)
pdf_set_char_spacing
Ustawia odstęp pomiędzy znakami. Patrz również: pdf_set_word_spacing() i pdf_set_leading().
void pdf_set_char_spacing( int pdf_object, float space )
pdf_set_duration
Ustawia czas przerwy, w sekundach, pomiędzy kolejnymi stronami. Patrz również: pdf_set_transition().
void pdf_set_duration ( int pdf_object, float duration )
pdf_set_font
Ustawia bieżący rodzaj czcionki, rozmiar czcionki i kodowanie. Jeżeli używasz pdflib 0.6, musisz umieścić w katalogu czcionek (domyślnie ./fonts) plik Adobe Font Metrics (plik afm) dla użytej czcionki. Jeżeli używasz PHP 3 lub pdflib w wersji późniejszej niż 2.20, parametr $encoding może przyjmować następujące wartości: 0 - builtin, 1 - pdfdoc, 2 - macroman, 3 - macexpert lub 4 - winansi. Wartość parametru $encoding większa od 4 lub mniejsza od 0 powoduje przyjęcie wartości winansi. Wartość ta jest zwykle dobrym wyborem. Jeżeli używasz PHP4 i pdflib w wersji co najmniej 2.20, typ parametru $encoding został zmieniony na ciąg. Należy użyć winansi, builtin, itd. Jeżeli ostatni parametr jest ustawiony na 1, czcionka jest wbudowywana w dokument PDF, w przeciwnym wypadku nie jest. Wbudowywanie czcionek jest dobrym pomysłem, jeżeli jest to rzadko wykorzystywana czcionka i nie ma pewności, że osoba oglądająca dokument będzie miała ją zainstalowaną. Czcionka jest wbudowywana tylko raz, nawet, jeżeli funkcja pdf_set_font() będzie wywołana kilka razy. void pdf_set_font( int pdf_object, string font_name, float size, string encoding [, int embed]))
pdf_set_horiz_scaling
Ustawia skalowanie w pionie na $scale procent.
void pdf_set_horiz_scaling( int pdf_object, float scale )
pdf_set_info
Ustawia pole informacyjne dokumentu PDF. Możliwymi nazwami pól są: Subject, Title, Creator, Author, Keywords i jedna nazwa zdefiniowana przez użytkownika. Funkcja może być wywołana przed rozpoczęciem strony.
Uwaga
Funkcja zastępuje funkcje: pdf_set_info_keywords(), pdf_set_info_title(), pdf_set_info_subject(), pdf_set_info_creator() i pdf_set_info_sybject().
void pdf_set_info (int pdf_object, string key, string value)
Przykład: Ustawianie informacji o dokumencie
< ?php
$fd = fopen( "test.pdf", "w" );
$pdfdoc = pdf_open($fd);
pdf_set_info( $pdfdoc, "Author", "Jan Kowalski");
pdf_set_info( $pdfdoc, "Creator", "Jan Kowalski");
pdf_set_info( $pdfdoc, "Title", "Testowanie pól informacyjnych");
pdf_set_info( $pdfdoc, "Subject", "Test");
pdf_set_info( $pdfdoc, "Keywords", "Test, Pola");
pdf_set_info( $pdfdoc, "CustomField", "Cokolwiek sensownego");
pdf_begin_page($pdfdoc, 595, 842);
pdf_end_page( $pdfdoc );
pdf_close( $pdfdoc );
? >

pdf_set_leading
Ustawia odstęp pomiędzy wierszami tekstu. Jest on używany, gdy tekst jest wysyłany za pomocą funkcji pdf_continue_text(). Patrz również: pdf_continue_text().
void pdf_set_leading( int pdf_object,float distance )
pdf_set_parameter
Ustawia parametry pdflib będące ciągami znaków. Patrz również: pdf_get_value(), pdf_set_value() i pdf_get_parameter().
void pdf_set_parameter (int pdf_object, string key, string value)
pdf_set_text_matrix
Ustawia tablicę opisującą transformacje stosowane na bieżącej czcionce. Musi być przekazana tablica z sześcioma elementami.
Uwaga
Funkcja nie jest dostępna w pdflib od wersji 2.3.
void pdf_set_text_matrix( int pdf_object, array matrix)
pdf_set_text_pos
Ustawia położenie tekstu dla następnego wywołania funkcji pdf_show(). Patrz również: pdf_show() i pdf_show_xy().
void pdf_set_text_pos (int pdf_object, float x, float y)
pdf_set_text_rendering
Określa sposób rysowania tekstu. Możliwymi wartościami dla parametru $mode są: 0 - tekst wypełniony, 1 - tekst przerywany, 2 - tekst wypełniony i przerywany, 3 - niewidoczny, 4 - tekst wypełniony i dodany do ścieżki obcinania, 5 - tekst przerywany i dodany do ścieżki obcinania, 6 - tekst przerywany i wypełniony oraz dodany do ścieżki obcinania, 7 - dodanie do ścieżki obcinania.
void pdf_set_text_rendering( int pdf_object, int mode)
pdf_set_text_rise
Ustawia powiększenie tekstu na $rise punktów.
void pdf_set_text_rise(int pdf_object, float rise )
pdf_set_transition
Ustawia przejście pomiędzy kolejnymi stronami. Patrz również: pdf_set_duration().
void pdf_set_transition(int pdf_object, int transition)
Wartościami parametru $transition mogą być:
- 0 - brak
- 1 - dwa wiersze pokazujące się na ekranie odkrywają stronę
- 2 - kilka wierszy pokazujące się na ekranie odkrywają stronę
- 3 - prostokąt odkrywa stronę
- 4 - pojedynczy wiersz pokazujący się na ekranie odkrywa stronę
- 5 - stara strona rozmywa się aby pokazać nową stronę
- 6 - efekt rozmywania przesuwa się od jednej krawędzi strony do drugiej
- 7 - nowa strona po prostu zastępuje starą (domyślnie)

pdf_set_value
Ustawia numeryczne parametry pdflib. Patrz również: pdf_get_value(), pdf_get_parameter() i pdf_set_parameter().
void pdf_set_value (int pdf_object, string key, float value)
pdf_set_word_spacing
Ustawia odstępy pomiędzy słowami. Patrz również: pdf_set_char_spacing() i pdf_set_leading().
void pdf_set_word_spacing( int pdf_object, float space )
pdf_show
Rysuje tekst $text od bieżącej pozycji kursora za pomocą bieżącej czcionki. Patrz również: pdf_show_xy(), pdf_show_boxed(), pdf_set_text_pos() i pdf_set_font(). void pdf_show (int pdf_object, string text)
pdf_show_boxed
Rysuje tekst $text w prostokącie o lewym górnym rogu we współrzędnych ($left, $top). Rozmiar prostokąta określają parametry $width i $height. Parametr $mode określa w jaki sposób ustawiany jest typ tekstu. Jeżeli $width i $height mają wartości 0, $mode może być left, right lub center. Jeżeli $width lub $height są różne od zera $mode może mieć wartości justify i fulljustify. Jeżeli parametr $feature ustawiony jest na blind, tekst nie pokazuje się. Zwraca ilość znaków, które nie mogły być przetworzone, ponieważ nie mieściły się w prostokącie. Patrz również: pdf_show() i pdf_show_xy(). int pdf_show_boxed (int pdf_object, string text, float left, float top,
float width, float height, string mode [, string feature])

pdf_show_xy
Rysuje tekst $text na pozycji ($x, $y). Patrz również: pdf_show() i pdf_show_boxed().
void pdf_show_xy (int pdf_object, string text, float x, float y)
pdf_skew
Pochyla system współrzędnych o $alpha (x) i $beta (y) stopni. Parametry $alpha i $beta nie mogą wynosić 90 i 270 stopni.
void pdf_skew (int pdf_object, float alpha, float beta)
pdf_stringwidth
Zwraca szerokość tekstu $text zapisanego bieżącą czcionką. Wymaga wcześniejszego ustawienia czcionki za pomocą pdf_set_font(). Patrz również: pdf_set_font().
float pdf_stringwidth (int pdf_object, string text [, int font [, float size]])


Zmienne

Kompletną lista predefiniowanych zmiennych oraz inne użyteczne informacje można znaleźć w tabeli będącej wynikiem działania funkcji phpinfo(). Poniższa lista nie jest wyczerpująca i nigdy taka nie miała być. Można ją traktować jako przykład spodziewanych rodzajów zmiennych, z jakich można skorzystać w skryptach.
Zmienne Apache
Zmienne te są tworzone przez serwer Apache. Jeżeli korzystasz z innego serwera, nie gwarantuję że dostępne będą te same funkcje. Może niektórych brakować, a będą dostępne inne, nie opisane tutaj. Wiele z tych zmiennych jest definiowanych przez nową specyfikację CGI 1.1, więc można się spodziewać, że będą one dostępne. Należy zauważyć, że niektóre z wymienionych zmiennych są dostępne jedynie w przypadku uruchomienia PHP z linii poleceń.
GATEWAY_INTERFACE
Wersja specyfikacji CGI, z której korzysta serwer, na przykład CGI/1.1.
SERVER_NAME
Nazwa komputera z serwerem, na którym wykonywany jest skrypt. Jeżeli skrypt działa na serwerze wirtualnym, będzie to nazwa zdefiniowana dla tego serwera wirtualnego.
SERVER_SOFTWARE
Ciąg identyfikujący serwer przekazywany w nagłówkach odpowiedzi na żądanie.
SERVER_PROTOCOL
Nazwa i wersja protokołu za pomocą którego wysłane zostało żądanie pobrania strony, na przykład HTTP/1.0.
REQUEST_METHOD
Metoda żądania użyta do pobrania strony, na przykład GET, HEAD, POST lub PUT.
QUERY_STRING
Ciąg zapytania (o ile istnieje) przesłany wraz z bieżącą stroną.
DOCUMENT_ROOT
Zdefiniowany w konfiguracji serwera katalog główny dokumentów, w którym jest wykonywany bieżący skrypt.
HTTP_ACCEPT
Zawartość nagłówka Accept: z bieżącego żądania, o ile istnieje.
HTTP_ACCEPT_CHARSET
Zawartość nagłówka Accept-Charset: z bieżącego żądania, o ile istnieje. Przykład: iso-8859-1,*,utf-8.
HTTP_ENCODING
Zawartość nagłówka Accept-Encoding: z bieżącego żądania, o ile istnieje. Przykład: gzip.
HTTP_ACCEPT_LANGUAGE
Zawartość nagłówka Accept-Language: z bieżącego żądania, o ile istnieje. Przykład: en.
HTTP_CONNECTION
Zawartość nagłówka Connection: z bieżącego żądania, o ile istnieje. Przykład: Keep-Alive.
HTTP_HOST
Zawartość nagłówka Host: z bieżącego żądania, o ile istnieje.
HTTP_REFERER
Adres strony, z której przeglądarka przeszła na bieżącą stronę. Jest to ustawiane przez przeglądarkę użytkownika, ale nie wszystkie przeglądarki to robią.
HTTP_USER_AGENT
Zawartość nagłówka User_Agent: z bieżącego żądania, o ile istnieje. Jest to ciąg określający przeglądarkę użytą do oglądania bieżącego dokumentu, na przykład: Mozilla/4.5[en] (X11;U;Linux 2.2.9 i586). Można użyć tej wartości oraz funkcji get_browser() w celu przystosowania strony do możliwości przeglądarki użytej przez użytkownika.
REMOTE_ADDR
Adres IP komputera używanego do oglądania bieżącej strony.
REMOTE_PORT
Port na komputerze klienta użyty do komunikacji z serwerem WWW.
SCRIPT_FILENAME
Bezwzględna ścieżka do wykonywanego skryptu.
SERVER_ADMIN
Zawartość dyrektywy konfiguracji Apache SERVER_ADMIN z pliku konfiguracyjnego. Jeżeli skrypt jest uruchomiony poprzez serwer wirtualny, jest to wartość zdefiniowana dla tego serwera wirtualnego.
SERVER_PORT
Port na serwerze używany do komunikacji przez serwer WWW. Domyślnie jest to 80, jeżeli wykorzystane jest SSL jest to port zdefiniowany do użycia przez bezpieczny HTTP.
SERVER_SIGNATURE
Ciąg zawierający wersję serwera i nazwę serwera wirtualnego, który jest dodawany do stron wygenerowanych przez serwer, o ile opcja ta jest aktywna.
PATH_TRANSLATED
Ścieżka w systemie plików (a nie względem głównego katalogu dokumentów) do bieżącego skryptu, po dokonaniu przekształceń ze ścieżek wirtualnych na rzeczywiste.
SCRIPT_NAME
Zawiera ścieżkę do bieżącego skryptu. Jest to użyteczna zmienna dla skryptów wskazujących na samych siebie.
REQUEST_URI
Adres URI użyty do dostępu do bieżącej strony, na przykład, /index.html.

Zmienne środowiska
Zmienne te są importowane do przestrzeni nazw globalnych ze środowiska, w którym jest uruchamiany analizator PHP. Wiele z nich zależy od rodzaju powłoki, a ponieważ PHP działa na wielu systemach i różnych rodzajach powłok, zdefiniowanie kompletnej listy jest niemożliwe. Należy odszukać taką listę w dokumentacji swojego systemu. Zmienne środowiska zawierają zmienne CGI, które zamieszczane są niezależnie od tego, czy PHP działa jako moduł serwera, czy jako program CGI.
Zmienne PHP
Zmienne te są tworzone przez PHP. Zmienne $HTTP_*_VARS są dostępne jedynie wtedy, gdy włączona jest opcja konfiguracji track_vars. Od PHP 4.0.3 track_vars jest zawsze włączone, niezależnie od ustawienia w pliku konfiguracyjnym. Jeżeli ustawiona jest dyrektywa register_globals, zmienne te będą dostępne w globalnej przestrzeni zmiennych, oprócz wartości w tablicach $HTTP_*_VARS. Funkcja ta powinna być używana rozważnie i wyłączana o ile jest to możliwe. Tablice $HTTP_*_VARS są bezpieczne, a ich globalne odpowiedniki są często nadpisywane przez wartości wprowadzone przez użytkownika, co często powoduje trudne do znalezienia błędy. Jeżeli nie możesz wyłączyć opcji register_globals, musisz się upewnić, że używane dane są bezpieczne.
argv
Tablica argumentów przekazanych do skryptu. Gdy skrypt jest uruchomiony z linii komend, pozwala to na dostęp do argumentów tak samo jak w języku C. Jeżeli skrypt jest uruchamiany za pomocą metody GET, zmienna zawiera ciąg zapytania.
argc
Zawiera ilość parametrów przekazanych do skryptu (jeżeli jest on uruchomiony z linii poleceń).
PHP_SELF
Nazwa pliku z wykonywanym skryptem, zapisana względem głównego katalogu dokumentów. Jeżeli PHP jest uruchomiony z linii poleceń, zmienna ta nie jest dostępna.
HTTP_COOKIE_VARS
Tablica asocjacyjna ze zmiennymi przekazanymi do bieżącego skryptu poprzez cookie HTTP.
HTTP_GET_VARS
Tablica asocjacyjna ze zmiennymi przekazanymi do bieżącego skryptu za pomocą metody GET.
HTTP_POST_VARS
Tablica asocjacyjna ze zmiennymi przekazanymi do bieżącego skryptu za pomocą metody POST.
HTTP_POST_FILES
Tablica asocjacyjna z informacjami na temat plików przesłanych za pomocą metody POST. Zmienna $HTTP_POST_FILES jest dostępna w PHP od wersji 4.0.0.
HTTP_ENV_VARS
Tablica asocjacyjna ze zmiennymi przekazanymi do bieżącego skryptu poprzez środowisko.
HTTP_SERVER_VARS
Tablica asocjacyjna ze zmiennymi przekazanymi do bieżącego skryptu z serwera HTTP. Zmienne te są analogiczne do opisanych wcześniej zmiennych Apache.
Stałe
__FILE__
Nazwa analizowanego właśnie skryptu. Jeżeli została w dołączanym pliku, zwracana jest nazwa tego pliku a nie pliku głównego.
__LINE__
Numer wiersza w bieżącym skrypcie. Jeżeli została w dołączanym pliku, zwracany jest numer wiersza w tym pliku.
PHP_VERSION
Ciąg zawierający wersję używanego analizatora PHP, na przykład, 3.0.8-dev.

PHP_OS
Nazwa systemu operacyjnego, na którym działa analizator PHP, na przykład Linux.
TRUE
Wartość logiczna "prawda".
FALSE
Wartość logiczna "fałsz".
E_ERROR
Oznacza błąd inny niż błąd składni, gdzie nie jest możliwe kontynuowanie wykonania.
E_WARNING
Oznacza sytuację, gdy PHP wykrywa błąd, ale mimo to kontynuuje wykonywanie skryptu. Może być on przechwycony przez skrypt. Przykładem może być nieprawidłowy wzorzec w funkcji ereg().
E_PARSE
Analizator napotkał błąd składni. Praca jest przerywana.
E_NOTICE
Sytuacja nieprawidłowa, która może, ale nie musi być błędna. Skrypt jest dalej wykonywany. Przykładem może być użycie ciągu bez apostrofów jako indeks w tablicy asocjacyjnej lub skorzystanie z niezainicjowanej zmiennej.
E_ALL
Wszystkie stałe E_*. Jeżeli zostanie użyta w funkcji error_reporting(), powoduje raportowanie wszystkich problemów napotkanych przez PHP.

Opcje kompilacji PHP

Bazy danych
--with-adabas[=DIR]
Dołącz obsługę Adabas D. DIR jest katalogiem gdzie została zainstalowana baza Adabas, domyślnie /usr/local.
--enable-dba=shared
Buduj DBA jako obiekt współdzielony.
--enable-dbase
Dołącz wbudowaną bibliotekę dbase. Nie potrzebne są zewnętrzne biblioteki. --with-db2[=DIR]
Dołącz obsługę Berkeley DB2.
--with-db3[=DIR]
Dołącz obsługę Berkeley DB3.
--with-dbm[=DIR]
Dołącz obsługę DBM.
--with-dbmaker[=DIR]
Dołącz obsługę DBMaker. DIR to katalog instalacji programu DBMaker domyślnie tam, gdzie została zainstalowana najnowsza wersja DBMaker (np. /home/dbmaker/3.6).
--with-empress[=DIR]
Dołącz obsługę Empress. DIR to katalog instalacji Empress, domyślnie $EMPRESSPATH.
--enable-filepro
Dołącz wbudowaną obsługę filePro (tylko do odczytu). Nie potrzebne są zewnętrzne biblioteki.
--with-gdbm[=DIR]
Dołącz obsługę GDBM
--with-hyperwave
Dołącz obsługę Hyperwave
--with-ibm-db2[=DIR]
Dołącz obsługę IBM DB2. DIR to katalog instalacji DB2, domyślnie /home/db2inst1/sqllib.
--with-informix[=DIR]
Dołącz obsługę Informix. DIR to katalog gdzie został zainstalowany Informix. Brak wartości domyślnej.
--with-ingres[=DIR]
Dołącz obsługę Ingres II. DIR to katalog instalacji programu Ingres, domyślnie /II/ingres.
--with-interbase[=DIR]
Dołącz obsługę InterBase. DIR to katalog instalacji programu InterBase, domyślnie /usr/interbase.
--with-ldap[=DIR]
Dołącz obsługę LDAP. DIR to katalog instalacji LDAP. Parametr ten dołącza obsługę protokołu LDAP (Lightweight Directory Access Protocol). DIR to katalog instalacji LDAP, domyślnie /usr/local/ldap.
--with-msql[=DIR]
Dołącz obsługę mSQL. Parametrem tej opcji jest katalog instalacji mSQL, domyślnie /usr/local/Hughes. Jest to domyślne miejsce instalacji dystrybucji mSQL 2.0. Skrypt configure automatycznie wykrywa która wersja mSQL jest zainstalowana - PHP obsługuje obie wersje, 1.0 i 2.0, ale jeśli skompilujesz PHP z mSQL 1.0, możesz korzystać tylko z baz danych mSQL 1.0 i odwrotnie. Patrz także: Dyrektywy konfiguracji mSQL w dodatku D.
--with-mysql[=DIR]
Dołącz obsługę MySQL. DIR to katalog instalacji MySQL. Jeśli nie zostanie podany, użyte zostaną wbudowane biblioteki MySQL. Ta opcja jest domyślnie włączona. Patrz także: Dyrektywy konfiguracji MySQL w dodatku D.
--with-ndbm[=DIR]
Dołącz obsługę NDBM.
--with-oci8[=DIR]
Dołącz obsługę Oracle-oci8. Domyślnie DIR to $ORACLE_HOME.
--with-oracle[=DIR]
Dołącz obsługę bazy danych Oracle-oci7. Domyślnie DIR to $ORACLE_HOME. Zostało ono przetestowane i powinno działać przynajmniej z wersjami Oracle 7.0 do 7.3. Parametrem jest katalog ORACLE_HOME. Nie musisz podawać tego parametru, jeśli skonfigurowane zostało środowisko Oracle.
--with-pgsql[=DIR]
Dołącz obsługę PostgreSQL. DIR to katalog instalacji PostgreSQL, domyślnie /usr/local/pgsql. Ustaw DIR na shared aby zbudować jako obiekt dołączany dynamicznie (dl), lub shared,DIR aby zbudować jako dl i jednocześnie podać DIR.
--with-solid[=DIR]
Dołącz obsługę Solid. DIR to katalog instalacji Solid, domyślnie /usr/local/solid.
--with-sybase-ct[=DIR]
Dołącz obsługę Sybase-CT. DIR to katalog domowy Sybase, domyślnie /home/sybase.
--with-sybase[=DIR]
Dołącz obsługę Sybase-DB. DIR to katalog domowy Sybase, domyślnie /home/sybase.
--with-openlink[=DIR]
Dołącz obsługę OpenLink ODBC. DIR to katalog instalacji OpenLink, domyślnie /usr/local/openlink.
--with-iodbc[=DIR]
Dołącz obsługę iODBC. DIR jest to katalog instalacji iODBC, domyślnie /usr/local. Ta opcja została stworzona dla iODBC Driver Manager, darmowo rozpowszechnianego menedżera sterowników ODBC, który działa na różnych odmianach Uniksa.
--with-custom-odbc[=DIR]
Dołącza obsługę niestandardowej biblioteki ODBC. Parametrem jest główny katalog biblioteki, domyślnie /usr/local. Ta opcja jest używana tylko, gdy zdefiniowałeś CUSTOM_ODBC_LIBS przy uruchomieniu skryptu configure. Niezbędne jest także wstawienie prawidłowego pliku odbc.h na ścieżkę include. Jeśli nie posiadasz takiego pliku, stwórz go i dołącz stamtąd swój własny nagłówek. Nagłówek taki może wymagać pewnych definicji zwłaszcza, jeśli jest to biblioteka wieloplatformowa. Zdefiniuj je w CFLAGS. Możesz na przykład używać Sybase SQL Anywhere na QNX w następujący sposób: CFLAGS=-DODBC_QNX LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc" ./configure --with-custom-odbc=/usr/lib/sqlany50
--with-unixODBC[=DIR]
Dołącz obsługę unixODBC. DIR to katalog instalacji unixODBC, domyślnie /usr/local.
--with-velocis[=DIR]
Dołącz obsługę Velocis. DIR to katalog instalacji Velocis, domyślnie /usr/local/velocis. Handel elektroniczny
--with-ccvs[=DIR]
Dołącza do PHP4 obsługę CCVS. DIR to katalog instalacji CCVS.
--with-cybercash[=DIR]
Dołącza obsługę CyberCash. DIR to katalog instalacji CyberCash MCK.
--with-pfpro[=DIR]
Dołącz obsługę Verisign Payflow Pro.
Grafika
--enable-freetype-4bit-antialias-hack
Dołącz obsługę FreeType2 (eksperymentalne).
--with-gd[=DIR]
Dołącz obsługę GD (DIR to katalog instalacji GD). Ustaw DIR jako shared aby zbudować rozszerzenie jako moduł współdzielony, lub shared,DIR aby zbudować rozszerzenie jako moduł i jednocześnie podać DIR. --without-gd
Wyłącz obsługę GD.
--with-jpeg-dir[=DIR]
Katalog jpeg dla pdflib 3.x.
--with-png-dir[=DIR]
Katalog png dla pdflib 3.x.
--with-t1lib[=DIR]
Dołącz obsługę T1lib.
--with-tiff-dir[=DIR]
Katalog tiff dla pdflib 3.x.
--with-ttf[=DIR]
Dołącz obsługę FreeType.
--with-xpm-dir[=DIR]
Katalog xpm dla gd-1.8+.
Różne
--disable-libtool-lock
Unikaj blokowania (może to przerwać równoległe budowanie).
--disable-pear
Nie instaluj PEAR.
--disable-pic
Wyłącz PIC dla obiektów współdzielonych.
--disable-posix
Wyłącz funkcje POSIX.
--disable-rpath
Wyłącz przekazywanie dodatkowych ścieżek poszukiwania bibliotek.
--disable-session
Wyłącz obsługę sesji.
--enable-bcmath
Kompiluj z funkcjami matematycznymi o dowolnej dokładności. Przeczytaj plik README-BCMATH aby uzyskać informacje na temat sposobu instalacji tego modułu. Funkcje te pozwalają operować na liczbach wykraczających poza zakresy dozwolone przez zwykłe liczby stało i zmiennoprzecinkowe.
--enable-c9x-inline
Włącz semantykę C9x-inline.
--enable-calendar
Włącz obsługę konwersji kalendarza.
--enable-debug
Kompiluj z symbolami dla debuggera.
--enable-discard-path
Jeśli ta opcja zostanie włączona, pliki programu CGI PHP mogą być bezpiecznie umieszczone poza drzewem serwera WWW i użytkownicy nie będą mogli obchodzić zabezpieczeń .htaccess.
--enable-dmalloc
Włącz dmalloc.
--enable-exif
Włącz obsługę exif.
--enable-experimental-zts
Ta opcja najprawdopodobniej przerwie proces kompilacji.
--enable-fast-install[=PKGS]
Optymalizacja dla szybkiej instalacji (domyślnie yes).
--enable-force-cgi-redirect
Włącz sprawdzanie bezpieczeństwa dla wewnętrznych przekierowań serwera. Powinieneś użyć tej opcji, jeśli używasz wersji CGI z serwerem Apache.
--enable-inline-optimization
Jeśli masz dużo pamięci i używasz gcc możesz spróbować włączyć tą opcję.
--enable-libgcc
Włącz jawne łączenie z libgcc.
--enable-maintainer-mode
Włącz reguły i zależności programu make nie przydatne (i czasem niejasne) dla zwykłego użytkownika.
--enable-memory-limit
Kompiluj z obsługą limitowania pamięci.
--enable-safe-mode
Włącz pracę w trybie bezpiecznym.
--enable-satellite
Włącz obsługę CORBA przez Satellite (wymaga ORBit).
--enable-shared[=PKGS]
Buduj biblioteki współdzielone (domyślnie yes).
--enable-sigchild
Włącz obsługę SIGCHLD przez PHP.
--enable-static[=PKGS]
Buduj statyczne biblioteki (domyślnie yes).
--enable-sysvsem
Włącz obsługę semaforów dla System V.
--enable-sysvshm
Włącz obsługę pamięci współdzielonej dla System V.
--enable-trans-sid
Włącz przezroczyste propagowanie identyfikatora sesji.
--with-cdb[=DIR]
Dołącz obsługę CDB.
--with-config-file-path=PATH
Ustawia ścieżkę gdzie powinien się znajdować plik php.ini. Domyślnie /usr/local/lib.
--with-cpdflib[=DIR]
Dołącz obsługę cpdflib (wymaga cpdflib >= 2). DIR to katalog instalacji cpdflib, domyślnie /usr.
--with-esoob[=DIR]
Dołącz obsługę Easysoft OOB. DIR to katalog instalacji OOB, domyślnie /usr/local/easysoft/oob/client.
--with-exec-dir[=DIR]
W trybie bezpiecznym pozwól na uruchamianie plików wykonywalnych tylko w DIR, domyślnie /usr/local/php/bin.
--with-fdftk[=DIR]
Dołącz obsługę fdftk. DIR to katalog instalacji fdftk, domyślnie /usr/local.
--with-gnu-ld
Załóż, że kompilator C używa GNU ld [domyślnie no]
--with-icap[=DIR]
Dołącz obsługę ICAP.
--with-imap[=DIR]
Dołącz obsługę protokołu IMAP. DIR jest to katalog gdzie znajdują się pliki nagłówkowe IMAP i plik c-client.
--with-java[=DIR]
Dołącz obsługę języka Java. DIR to katalog gdzie zainstalowane jest JDK. To rozszerzenie może być zbudowane tylko jako obiekt dynamicznie dołączany (dl).
--with-kerberos[=DIR]
Dołącz obsługę Kerberos w protokole IMAP.
--with-mcal[=DIR]
Dołącz obsługę MCAL.
--with-mcrypt[=DIR]
Dołącz obsługę mcrypt. DIR to katalog instalacji mcrypt.
--with-mhash[=DIR]
Dołącz obsługę mhash. DIR to katalog gdzie zainstalowano mhash.
--with-mm[=DIR]
Dołącz obsługę mm do przechowywania sesji.
--with-mod_charset
Włącz transfer tablic dla mod_charset (Rosyjski Apache).
--with-pdflib[=DIR]
Dołącz obsługę pdflib 3.x/4.x. DIR to katalog instalacji pdflib, domyślnie /usr/local.
--with-readline[=DIR]
Dołącz obsługę readline. DIR to katalog instalacji readline.
--with-regex=TYPE
Typ biblioteki regex: system, apache, php.
--with-servlet[=DIR]
Dołącz obsługę serwletów. DIR to katalog instalacji JSDK. To SAPI wymaga, aby rozszerzenie Java było zbudowane jako obiekt dołączany dynamicznie. --with-swf[=DIR]
Dołącz obsługę swf.
--with-tsrm-pth[=pth-config]
Użyj GNU Pth.
--with-tsrm-pthreads
Użyj wątków POSIX (domyślnie).
--with-zlib-dir[=DIR]
Katalog zlib dla pdflib 3.x lub dołącz obsługę zlib.
--with-zlib[=DIR]
Dołącz obsługę zlib (wymaga zlib >= 1.0.9). DIR to katalog instalacji zlib, domyślnie /usr.
--without-pcre-regex
Nie dołączaj obsługi Perl Compatible Regular Expressions. Jeśli nie chcesz używać wbudowanej biblioteki użyj opcji --with-pcre-regex=DIR, aby podać lokalizację plików nagłówkowych i bibliotek.
Sieć
--with-curl[=DIR]
Dołącz obsługę CURL.
--enable-ftp
Włącz obsługę FTP.
--disable-url-fopen-wrapper
Wyłącz wrapper adresów URL dla polecenia fopen(), który pozwala na dostęp do plików przez protokoły HTTP lub FTP.
--with-mod-dav=DIR
Dołącz obsługę DAV poprzez moduł Apache mod_dav. DIR to katalog instalacji mod_dav (tylko jako moduł Apache).
--with-openssl[=DIR]
Dołącz obsługę OpenSSL w SNMP.
--with-snmp[=DIR]
Dołącz obsługę SNMP. DIR to katalog instalacji SNMP, domyślnie przeszukuje wiele częstych lokalizacji instalacji snmp. Ustaw DIR na shared aby zbudować jako obiekt dynamicznie dołączany (dl), lub shared,DIR aby zbudować jako dl i jednocześnie podać DIR.
--enable-ucd-snmp-hack
Włącz poprawkę UCD SNMP.
--enable-sockets
Włącz obsługę gniazd.
--with-yaz[=DIR]
Dołącz obsługę YAZ (ANSI/NISO Z39.50). DIR to katalog instalacji YAZ.
--enable-yp
Dołącz obsługę YP.
Działanie PHP
--enable-magic-quotes
Włącz domyślne "magic quotes".
--disable-short-tags
Wyłącz możliwość używania krótkiej formy znaczników otwierających < ?.
Serwer
--with-aolserver-src=DIR
Określ ścieżkę do źródłowej dystrybucji AOLserver.
--with-aolserver=DIR Określ ścieżkę do zainstalowanego AOLserver.
--with-apache[=DIR]
Zbuduj moduł Apache. DIR to katalog bazowy Apache, domyślnie /usr/local/etc/httpd.
--with-apxs[=FILE]
Zbuduj moduł współdzielony Apache. FILE to opcjonalna ścieżka do narzędzia apxs z pakietu Apache, domyślnie apxs.
--enable-versioning
Eksportuj tylko wymagane symbole. Przejrzyj plik INSTALL, aby uzyskać więcej informacji.
--with-fhttpd[=DIR]
Buduj moduł fhttpd. DIR to katalog ze źródłami fhttpd, domyślnie /usr/local/src/fhttpd.
--with-nsapi=DIR
Określ ścieżkę do zainstalowanego Netscape.
--with-pi3web=DIR
Buduj PHP jako moduł dla Pi3Web.
--with-roxen=DIR
Buduj PHP jako moduł Pike. DIR to katalog instalacji Roxen, zazwyczaj /usr/local/roxen/server.
--enable-roxen-zts
Buduj moduł Roxen używając Zend Thread Safety ( bezpieczne wątki Zend).
--with-zeus=DIR
Buduj PHP jako moduł ISAPI do użycia z Zeus.
Tekst i język
--with-aspell[=DIR]
Dołącz obsługę ASPELL.
--with-gettext[=DIR]
Dołącz obsługę GNU gettext. DIR to katalog instalacji gettext, domyślnie /usr/local.
--with-pspell[=DIR]
Dołącz obsługę PSPELL.
--with-recode[=DIR]
Dołącz obsługę redcode. DIR to katalog instalacji redcode.
XML
--with-dom[=DIR]
Dołącz obsługę DOM (wymaga libxml >= 2.0). DIR to katalog instalacji libxml, domyślnie /usr.
--enable-sablot-errors-descriptive
Włącz błędy opisowe.
--with-sablot[=DIR]
Dołącz obsługę Sablotron.
--enable-wddx
Włącz obsługę WDDX.
--disable-xml
Wyłącz obsługę wbudowanej biblioteki XML expat.


Opcje konfiguracji PHP
Ogólne dyrektywy konfiguracji
allow_url_fopen boolean
Ta opcja włącza interfejsy do funkcji fopen rozpoznające adresy URL, pozwalające na dostęp do obiektów URL jak do plików. Domyślne interfejsy pozwalają na dostęp do zdalnych plików korzystając z protokołów ftp lub http. Niektóre rozszerzenia, takie jak zlib, mogą rejestrować dodatkowe interfejsy. Dyrektywa ta została wprowadzona zaraz po wyjściu wersji 4.0.3. Dla wersji 4.0.3 i wyższych możesz wyłączyć tą opcję w czasie kompilacji używając przełącznika --disable-url-fopen-wrapper.
asp_tags boolean
Włącza możliwość użycia znaczników ASP (< % % >) razem z normalnymi znacznikami (< ?php ? >). Dotyczy to także skrótowego wyświetlania wartości zmiennych typu < %= $value % >. Obsługa znaczników ASP została dodana w wersji 3.0.4.
auto_append_file string
Określa nazwę pliku, który jest automatycznie przetwarzany po głównym pliku. Plik jest dołączany tak, jakby został dołączony funkcją include(), a więc używana jest opcja include_path. Specjalna wartość none wyłącza automatyczne dołączanie. Jeśli skrypt zostanie zakończony przez exit(), nie dojdzie do dołączenia.
auto_prepend_file string
Określa nazwę pliku, który będzie automatycznie przetwarzany przed głównym plikiem. Plik jest dołączany tak, jakby wywołana była funkcja include(), a więc używana jest opcja include_path. Specjalna wartość none wyłącza automatyczne poprzedzanie pliku.
cgi_ext string
display_errors boolean
Określa, czy błędy powinny być wyświetlane jako część wynikowego kodu HTML czy nie.
doc_root string
Główny katalog PHP na serwerze. Używane tylko, jeśli jest to ciąg niepusty. Jeśli PHP jest skonfigurowane do pracy w trybie bezpiecznym, pliki spoza tego katalogu nie będą udostępniane.
engine boolean
Ta dyrektywa jest przydatna tylko przy pracy z PHP w postaci modułu Apache. Jest ona używana na witrynach, w których chce się włączać i wyłączać analizowanie plików PHP na podstawie katalogu lub na podstawie nazwy serwera wirtualnego. Umieszczając engine off we właściwych miejscach pliku httpd.conf PHP może być aktywne lub nieaktywne.
error_log string
Nazwa pliku, gdzie mają być zapisywane błędy. Jeśli użyta jest specjalna wartość syslog, błędy wysyłane są do dziennika systemowego. W systemach Unix oznacza to syslog(3) a na Windows NT, dziennik zdarzeń. Dziennik systemowy nie jest obsługiwany przez Windows 95.
error_reporting integer
Ustaw poziom raportowania. Więcej szczegółów znajduje się przy opisie funkcji error_reporting().
open_basedir string
Ogranicz pliki, które mogą być otwierane przez PHP do podanego drzewa katalogów. Jeśli skrypt próbuje otworzyć plik, np. przez funkcje fopen() lub gzopen(), sprawdzane jest położenie pliku. Jeżeli plik znajduje się poza podanym drzewem katalogów, PHP odmawia otwarcia takiego pliku. Wszystkie dowiązania symboliczne są rozwiązywane, więc nie jest możliwe ominięcie tego ograniczenia przez łącza symboliczne. Wartość specjalna "." wskazuje, że katalog w którym znajduje się skrypt będzie uznawany jako katalog bazowy dla tej dyrektywy. W systemie Windows, katalogi oddzielaj średnikami. Na wszystkich innych systemach, oddzielaj katalogi dwukropkami. Jeżeli PHP pracuje jako moduł Apache, ścieżki open_basedir katalogów nadrzędnych są automatycznie dziedziczone. Obsługa dla wielu katalogów została dodana w 3.0.7. Domyślnie PHP pozwala na otwieranie wszystkich plików.
gpc_order string
Ustaw kolejność analizowania zmiennych GET, POST i COOKIE. Domyślne ustawienie do GPC. Ustawienie tej dyrektywy np. na GP spowoduje, że PHP będzie całkowicie ignorował cookie i przebijał wszystkie zmienne otrzymane metodą GET zmiennymi o tej samej nazwie otrzymanymi metodą POST.
ignore_user_abort string
Domyślnie włączona. Jeśli zostanie zmieniona na Off, skrypty będą przerywane, jak tylko będą próbowały wysłać coś do klienta, który przerwał połączenie. Patrz również: ignore_user_abort().
include_path string
Określa listę katalogów, gdzie funkcje require(), include() i fopen_with_path() będą szukały plików. Format jest podobny do zmiennej środowiskowej PATH: lista katalogów oddzielona dwukropkiem na systemach Unix lub średnikiem na systemach Windows. Domyślną wartością tej dyrektywy jest "." (tylko bieżący katalog).
isapi_ext string
log_errors boolean
Ustawia czy komunikaty o błędach skryptu mają być zapisywane do dziennika błędów serwera. W związku z tym ta opcja jest specyficzna dla poszczególnych serwerów.
magic_quotes_gpc boolean
Ustawia stan magic_quotes dla operacji GPC (GET, POST, COOKIE). Jeśli magic_quotes są włączone, wszystkie znaki ' (apostrof), " (cudzysłów), \ (lewy ukośnik) i znaki NULL są zamieniane na sekwencje sterujące przez dodanie przed te znaki znaku \. Jeśli włączona jest także dyrektywa magic_quotes_sybase, wszystkie apostrofy są zamieniane na sekwencje sterujące przez dodanie apostrofu zamiast znaku \. magic_quotes_runtime boolean
Jeśli włączona jest dyrektywa magic_quotes_runtime, większość funkcji, które zwracają dane z dowolnych zewnętrznych źródeł, włączając w to bazy danych i pliki tekstowe, będzie zwracała dane z apostrofami i cudzysłowami zamienionymi na sekwencje sterujące przy pomocy znaku \. Jeśli włączona jest także opcja magic_quotes_sybase, apostrof będą zamieniany na sekwencję strującą przy pomocy apostrofu zamiast znaku \.
magic_quotes_sybase boolean
Jeśli włączona jest opcja magic_quotes_sybase, apostrof będzie zamieniany na sekwencję sterującą używając apostrofu zamiast znaku \, jeśli włączona jest opcja magic_quotes_gpc i (lub) magic_quotes_runtime.
max_execution_time integer
Dyrektywa to określa maksymalny czas w sekundach wykonywania skryptu, zanim zostanie przerwany przez analizator. Pomaga to w zapobieganiu blokowania serwera przez źle napisane skrypty. Domyślne ustawienie to 30.
memory_limit integer
Dyrektywa ta ustawia maksymalną wielkość pamięci w bajtach, którą skrypt może sobie przydzielić. Pomaga to w zapobieganiu przydzieleniu całej dostępnej pamięci serwera przez źle napisane skrypty.
nsapi_ext string
register_globals boolean
Ustala, czy rejestrować zmienne środowiska, GET, POST, Cookie, i serwera jako zmienne globalne. Możesz wyłączyć tę opcję, jeśli nie chcesz zaśmiecić globalnej przestrzeni zmiennych swoich skryptów przez dane użytkownika. Ma to największy sens, jeśli używane jest w połączeniu z opcją track_vars - w takim przypadku do zmiennych EGCPS możliwy jest przez zmienne globalne $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, i $HTTP_SERVER_VARS.
short_open_tag boolean
Ustala, czy dozwolona jest skrócona forma znacznika otwierającego PHP (< ? ? >). Jeśli chcesz używać PHP w połączeniu z XML, powinieneś wyłączyć tą opcję. Jeśli ta opcja jest wyłączona, musisz używać długiej postaci znacznika otwierającego. ().
sql.safe_mode boolean
track_errors boolean
Jeśli dyrektywa ta jest włączona, ostatni komunikat błędu będzie dostępna jako zmienna globalna $php_errormsg.
track_vars boolean
Jeśli ta dyrektywa jest włączona, zmienne środowiska, GET, POST, Cookie i serwera będą dostępne w globalnych tablicach asocjacyjnych $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS i $HTTP_SERVER_VARS. Zauważ, że od PHP 4.0.3 dyrektywa track_vars jest zawsze włączona.
upload_tmp_dir string
Katalog tymczasowy używany do przechowywania plików podczas obsługiwania przesyłania plików. Musi być to katalog z prawem zapisu dla użytkownika, jako który pracuje PHP.
user_dir string
Podstawowa nazwa katalogu używanego jako katalog domowy użytkownika dla plików PHP, na przykład public_html.
warn_plus_overloading boolean
Jeśli dyrektywa ta jest włączona, PHP będzie wyświetlał ostrzeżenie, jeśli operator plus (+) został użyty na ciągach. Dzięki temu łatwiej jest znaleźć skrypty, które wymagają użycia operatora sklejania ciągów (.).
Dyrektywy konfiguracji poczty
SMTP string
Nazwa DND lub adres IP serwera SMTP, którego powinien użyć PHP dla Windows podczas wysyłania poczty za pomocą funkcji mail().
sendmail_from string
Pole From: (adres nadawcy) przesyłek pocztowych wysyłanych z PHP dla Windows.
sendmail_path string
Katalog w którym znajduje się sendmail, zwykle /usr/sbin/sendmail lub /usr/lib/sendmail. Skrypt configure próbuje samodzielnie odszukać ten program i ustawić wartość domyślną, ale jeżeli nie uda się to, można ją samodzielnie ustawić. Systemy nie korzystające z sendmail powinny ustawić tą opcję dla jego odpowiednika w zainstalowanym systemie poczty. Na przykład: użytkownicy Qmail zwykle ustawiają ją na /var/qmail/bin/sendmail.
Dyrektywy konfiguracji trybu bezpiecznego
safe_mode boolean
Określa, czy PHP ma pracować w trybie bezpiecznym.
safe_mode_exec_dir string
Jeśli PHP pracuje w trybie bezpiecznym, funkcje system() i inne wywołujące inne programy, odmówią wykonania programów z katalogów innych niż podany.
Dyrektywy konfiguracji debuggera
debugger.host string
Nazwa lub adres IP komputera używanego przez debugger. debugger.port string Numer portu używany przez debugger. debugger.enabled boolean Określa, czy debugger jest włączony.
Dyrektywy ładowania rozszerzeń
enable_dl boolean
Ta dyrektywa jest jedynie przydatna przy pracy PHP jako moduł Apache. Możesz włączać i wyłączać możliwość dynamicznego ładowania rozszerzeń PHP przez funkcję dl() zależnie od katalogu lub serwera wirtualnego. Głównym powodem wyłączania dynamicznego ładowania rozszerzeń jest kwestia bezpieczeństwa. Używając dynamicznych rozszerzeń możliwe jest ominięcie praktycznie wszystkich ograniczeń safe_mode i open_basedir. Domyślnie zezwalane jest dynamiczne ładowanie, z wyjątkiem pracy w trybie bezpiecznym. W trybie bezpiecznym korzystanie z funkcji dl() jest zawsze zabronione.
extension_dir string
Katalog, w którym PHP szuka dynamicznie dołączanych rozszerzeń.
extension string
Które dynamicznie ładowane rozszerzenia ładować przy starcie PHP.
Dyrektywy konfiguracji MySQL
mysql.allow_persistent boolean
Czy pozwalać na trwałe połączenia MySQL (persistent connections)
mysql.default_host string
Domyślny adres serwera, który będzie używany przy łączeniu się z serwerem baz danych, jeśli nie zostanie podany żaden inny adres.
mysql.default_user string
Domyślna nazwa użytkownika, która będzie używana przy łączeniu się z serwerem baz danych, jeśli nie zostanie podana żadna inna nazwa.
mysql.default_password string
Domyślne hasło, które będzie użyte przy łączeniu się z serwerem baz danych, jeśli nie zostanie podane żadne inne hasło.
mysql.max_persistent integer
Maksymalna liczba stałych połączeń MySQL na każdy proces.

mysql.max_links integer
Maksymalna liczba połączeń MySQL na proces, wliczając w to połączenia stałe.
Dyrektywy konfiguracji mSQL
msql.allow_persistent boolean
Czy pozwalać na trwałe połączenia mSQL.
msql.max_persistent integer
Maksymalna liczba trwałych połączeń mSQL na każdy proces.
msql.max_links integer
Maksymalna liczba połączeń mSQL na każdy proces, wliczając w to połączenia trwałe.
Dyrektywy konfiguracji PostgreSQL
pgsql.allow_persistent boolean Czy pozwalać na trwałe połączenia PostgreSQL. pgsql.max_persistent integer Maksymalna liczba trwałych połączeń PostgreSQL na każdy proces.
pgsql.max_links integer
Maksymalna liczba połączeń PostgreSQL na każdy proces, wliczając w to połączenia trwałe.
Dyrektywy konfiguracji Sybase
sybase.allow_persistent boolean
Czy pozwalać na trwałe połączenia Sybase.
sybase.max_persistent integer
Maksymalna liczba trwałych połączeń Sybase na każdy proces.
sybase.max_links integer
Maksymalna liczba połączeń Sybase na każdy proces, wliczając w to połączenia trwałe.
Dyrektywy konfiguracji Sybase-CT
sybct.allow_persistent boolean
Czy pozwalać na trwałe połączenia Sybase-CT. Domyślnie włączone.
sybct.max_persistent integer
Maksymalna liczba trwałych połączeń Sybase-CT na każdy proces. Domyślą wartością jest -1, co oznacza brak limitu.
sybct.max_links integer
Maksymalna liczba połączeń Sybase-CT na proces, włączając w to połączenia trwałe. Domyślna wartość to -1, co oznacza brak limitu.
sybct.min_server_severity integer
Wiadomości serwera z wagą większą lub równą sybct.min_server_severity będą zgłaszane jako ostrzeżenia. Wartość ta może być zmieniona także przez wywołanie sybase_min_server_severity(). Domyślna wartość to 10, co powoduje raportowanie błędów o wadze "informacja" lub większej.
sybct.min_client_severity integer
Wiadomości biblioteki klienta o wadze większą lub równą sybct.min_client_severity będą zgłaszane jako błędy. Wartość ta może być zmieniona także przez wywołanie sybase_min_client_severity(). Domyślna wartość to 10, co praktycznie wyłącza zgłaszanie błędów.
sybct.login_timeout integer
Maksymalny czas oczekiwania na połączenie zanim zwrócony będzie błąd. Zauważ, że jeśli dojdzie do skończenia czasu max_execution_time w trakcie oczekiwania na połączenie, twój skrypt zostanie zakończony zanim będzie mógł podjąć jakiekolwiek działania wywoływane w przypadku nieudanego połączenia. Domyślna wartość to jedna minuta.
sybct.timeout integer
Maksymalny czas (w sekundach) oczekiwania na wykonanie select_db lub zapytania, po którym zwrócony zostanie błąd. Zauważ, że jeśli dojdzie do skończenia czasu max_execution_time w trakcie oczekiwania na połączenie, twój skrypt zostanie zakończony zanim będzie mógł podjąć jakiekolwiek działania obsługujące błędy wykonania. Domyślnie nie ma żadnych ograniczeń.
sybct.hostname string
Nazwa komputera, który będzie wyświetlany w sp_who. Domyślną wartością jest pusty ciąg.
Dyrektywy konfiguracji Informix
ifx.allow_persistent boolean
Czy pozwalać na trwałe połączenia Informix.
ifx.max_persistent integer
Maksymalna liczba trwałych połączeń Informix na każdy proces.
ifx.max_links integer

Maksymalna liczba połączeń Informix na każdy proces, włączając w to połączenia trwałe.
ifx.default_host string
Domyślny adres komputera używany, jeśli nie podano innego w ifx_connect() lub ifx_pconnect().
ifx.default_user string
Domyślny identyfikator użytkownika używany, jeśli nie podano innego w ifx_connect() lub ifx_pconnect().
ifx.default_password string
Domyślne hasło używane jeśli nie podano innego w ifx_connect() lub ifx_pconnect().
ifx.blobinfile boolean
Ustaw na TRUE jeśli chcesz zwracać kolumny blob do pliku, lub FALSE jeśli do pamięci. Możesz zmienić wartość tej dyrektywy korzystając z ifx_blobinfile_mode().
ifx.textasvarchar boolean
Ustaw na TRUE jeśli chcesz w zapytaniach zwracać kolumny TEXT jako zwykłe ciągi, lub FALSE jeśli chcesz używać identyfikatorów blob. Możesz zmienić wartość tej dyrektywy korzystając z ifx_textasvarchar().
ifx.byteasvarchar boolean
Ustaw na TRUE jeśli chcesz w zapytaniach zwracać kolumny BYTE jak zwykłe ciągi, lub FALSE jeśli chcesz używać identyfikatorów blob. Możesz zmienić wartość tej dyrektywy korzystając z ifx_textasvarchar().
ifx.charasvarchar boolean
Ustaw na TRUE jeśli chcesz obcinać początkowe spacje z kolumn CHAR przy ich pobieraniu.
ifx.nullformat boolean
Ustaw na TRUE jeśli chcesz zwracać kolumny NULL jako ciąg "NULL", lub na FALSE jeśli chcesz aby były zwracane jako pusty ciąg. Możesz zmienić wartość tej dyrektywy korzystając z ifx_nullformat().
Dyrektywy konfiguracji BC Math
bcmath.scale integer
Liczba dziesiętnych cyfr dla wszystkich funkcji bcmath.
Dyrektywy konfiguracji możliwości przeglądarek
browscap string
Nazwa pliku opisującego możliwości przeglądarek. Zobacz także get_browser().
Dyrektywy konfiguracji Zunifikowanego ODBC
uodbc.default_db string
Źródło danych ODBC używane jeśli nie podane zostało inne w odbc_connect() lub odbc_pconnect().
uodbc.default_user string
Nazwa użytkownika używana, jeśli inna nie została podana w odbc_connect() lub odbc_pconnect().
uodbc.default_pw string
Hasło używane, jeśli inne nie zostało podane w odbc_connect() lub odbc_pconnect().
uodbc.allow_persistent boolean
Czy pozwalać na trwałych połączenia ODBC.
uodbc.max_persistent integer
Maksymalna liczba trwałych połączeń ODBC na każdy proces.
uodbc.max_links integer
Maksymalna liczba połączeń ODBC na każdy proces, włączając w to połączenia trwałe.