|
|
PHP (angielski akronim rekurencyjny, którego rozwinięcie to PHP Hypertext Preprocessor), pierwotnie nazwany Personal
Home Page - skryptowy język programowania, służący przede wszystkim do tworzenia dynamicznych stron WWW i wykonywany w
tym przypadku po stronie serwera, z możliwością zagnieżdżania w HTML (bądź XHTML). PHP jest podobny w założeniach do
dużo starszego mechanizmu SSI (Server Side Includes), jednak jest w stosunku do SSI nieporównanie bardziej rozbudowany.
Udostępniany jest na zasadach licencji open-source. Jego składnia bazuje na językach C, Java i Perl.
SQL (ang. Structured Query Language) to strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz
do umieszczania i pobierania danych z baz danych.
Język SQL jest językiem deklaratywnym. Decyzję o sposobie przechowywania i pobrania danych pozostawia się systemowi
zarządzania bazą danych DBMS.
Jest to język programowania opracowany w latach siedemdziesiątych w firmie IBM. Stał się on standardem w komunikacji z
serwerami relacyjnych baz danych. Wiele współczesnych systemów relacyjnych baz danych używa do komunikacji z
użytkownikiem SQL, dlatego mówi się, że korzystanie z relacyjnych baz danych, to korzystanie z SQL-a.
Apache jest otwartym serwerem HTTP dostępnym dla wielu systemów operacyjnych (m.in. UNIX, GNU/Linux, BSD,
Microsoft Windows). Po angielsku słowo Apache wymawia się epaczi, co brzmi tak samo jak a patchy (server), co było
określeniem tego serwera we wczesnym stadium jego rozwoju w 1995 roku, kiedy był on głównie zbiorem poprawek (patch)
nałożonych na serwer HTTP o nazwie NCSA.
Apache jest najszerzej stosowanym serwerem HTTP w Internecie. W maju 2003 jego udział wśród serwerów wynosił 62%. W
połączeniu z interpreterem języka skryptowego PHP i bazą danych MySQL, Apache stanowi jedno z najczęściej spotykanych
środowisk w firmach oferujących miejsce na serwerach sieciowych.
|
fsockopen
(PHP 3, PHP 4, PHP 5) fsockopen -- Open Internet or Unix
domain socket connection
Descriptionresource fsockopen ( string target [, int port [, int
&errno [, string &errstr [, float timeout]]]] )
Initiates a socket connection to the resource specified by
target. PHP supports targets in
the Internet and Unix domains as described in Dodatek O. A list of supported transports
can also be retrieved using stream_get_transports().
Notatka: If you need to set a timeout for
reading/writing data over the socket, use stream_set_timeout(), as the timeout parameter to fsockopen() only applies while connecting
the socket.
As of PHP 4.3.0, if you have compiled in OpenSSL support,
you may prefix the hostname with
either 'ssl://' or 'tls://' to use an SSL or TLS client connection
over TCP/IP to connect to the remote host.
fsockopen() returns a file pointer
which may be used together with the other file functions (such
as fgets(), fgetss(),
fwrite(), fclose(),
and feof()).
If the call fails, it will return FALSE and if the optional errno and errstr
arguments are present they will be set to indicate the actual
system level error that occurred in the system-level
connect() call. If the value
returned in errno is 0 and the function returned FALSE, it is an indication that the
error occurred before the connect()
call. This is most likely due to a problem initializing the
socket. Note that the errno and
errstr arguments will always be
passed by reference.
Depending on the environment, the Unix domain or the
optional connect timeout may not be available.
The socket will by default be opened in blocking mode. You
can switch it to non-blocking mode by using stream_set_blocking().
Przykład 1. fsockopen() Example
<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
} ?> |
|
The example below shows how to retrieve the day and
time from the UDP service "daytime" (port 13) in your own
machine.
Przykład 2. Using UDP connection
<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr<br />\n";
} else {
fwrite($fp, "\n");
echo fread($fp, 26);
fclose($fp);
} ?> |
|
| Ostrzeżenie |
|
UDP sockets will sometimes appear to have opened
without an error, even if the remote host is
unreachable. The error will only become apparent when
you read or write data to/from the socket. The reason
for this is because UDP is a "connectionless" protocol,
which means that the operating system does not try to
establish a link for the socket until it actually needs
to send or receive data.
|
Notatka: Podając numeryczny adres IPv6 (np.
fe80::1), adres musi być objęty nawiasami kwadratowymi. Na
przykład tcp://[fe80::1]:80.
Notatka: The timeout parameter was introduced in
PHP 3.0.9 and UDP support was added in PHP 4.
See also pfsockopen(), stream_set_blocking(), stream_set_timeout(), fgets(),
fgetss(), fwrite(),
fclose(), feof(), and
the Curl extension.
|