diff --git a/appendices/about.xml b/appendices/about.xml index 6652493..2b2efb1 100644 --- a/appendices/about.xml +++ b/appendices/about.xml @@ -99,8 +99,8 @@ З метою покриття ліцензією (на цей момент Creative Commons Attribution), нотатки, внесені користувачами вважаються частиною посібника з PHP і тому на - них поширюється та сама ліцензія, яка охоплює цю документацію. За більш - детальною інформацією перейдіть на сторінку + них поширюється та сама ліцензія, яка охоплює цю документацію. За + докладнішою інформацією перейдіть на сторінку Авторські права на посібник. @@ -236,7 +236,7 @@ strlen ( string $string ) : int називається strict. Усі необов'язкові параметри мають початкові значення; якщо початкове значення невідоме, то це показано символом ?. Посібник зазначає, що параметр - strict початково є логічним &false;. Детальніше про + strict початково є логічним &false;. Докладніше про роботу функцій дивіться на сторінках посібника щодо кожної з них. @@ -359,7 +359,7 @@ strlen ( string $string ) : int Надсилаючи нотатки, користувачі можуть надавати додаткові приклади, застереження та роз'яснення для інших читачів. Але, будь ласка, не - повідомляйте про помилки, використовуючи систему аннотацій. Детальніше про це + повідомляйте про помилки, використовуючи систему анотацій. Докладніше про це у розділі "Про нотатки користувачів". diff --git a/appendices/configure/php.xml b/appendices/configure/php.xml index 7e221f7..207802c 100644 --- a/appendices/configure/php.xml +++ b/appendices/configure/php.xml @@ -9,7 +9,7 @@ - Увімкути, щоб правила та залежності були некорисними (а іноді заплутаними) + Увімкнути, щоб правила та залежності були некорисними (а іноді заплутаними) для звичайного інсталятора. @@ -41,7 +41,7 @@ - Визначає теку з бібліотекати для збирання PHP у системі Unix. Для + Визначає теку з бібліотеками для збирання PHP у системі Unix. Для 64-бітних систем треба задавати цей параметр до теки lib64 так: --with-libdir=lib64. diff --git a/appendices/filters.xml b/appendices/filters.xml index 8db043d..d5b691d 100644 --- a/appendices/filters.xml +++ b/appendices/filters.xml @@ -410,7 +410,7 @@ echo "Стиснений файл має " . filesize('test.deflated') . " ба стандартне значення бібліотеки bzip. Фільтр bzip2.decompress приймає лиш один параметр, - котрий може бути задано звичайним логічним значенням або елементом + якому задається звичайне логічне значенням або елемент small асоціативного масиву. Коли small має значення &true;, бібліотека bzip diff --git a/appendices/migration83.xml b/appendices/migration83.xml index 7b0c36f..2d8c975 100644 --- a/appendices/migration83.xml +++ b/appendices/migration83.xml @@ -17,7 +17,7 @@ Ця нова мінорна версія приносить з собою ряд нових можливостей та - деяких несумісностей, котрі + деяких несумісностей, які потрібно перевірити перед перемиканням версій PHP виробничих середовищ. diff --git a/appendices/migration83/deprecated.xml b/appendices/migration83/deprecated.xml index cfe2119..b82e752 100644 --- a/appendices/migration83/deprecated.xml +++ b/appendices/migration83/deprecated.xml @@ -134,7 +134,7 @@ - INI налаштування assert.* застаріли. Детально: + INI налаштування assert.* застаріли. Докладно: Зміни в обробці файлів INI . diff --git a/appendices/transports.xml b/appendices/transports.xml index 4f249d7..0a75473 100644 --- a/appendices/transports.xml +++ b/appendices/transports.xml @@ -3,7 +3,7 @@ Перелік підтримуваних транспортних протоколів у сокетах - Нижче наведено список різноманітних транспортних протоколів в URL стилі, котрі + Нижче наведено список різноманітних транспортних протоколів в URL стилі, які вбудовані в PHP для використання з функціями сокетів на основі потоків, як-от fsockopen і stream_socket_client. Цих протоколів немає у diff --git a/extensions.ent b/extensions.ent index 32de4f5..e6a56bb 100644 --- a/extensions.ent +++ b/extensions.ent @@ -1,5 +1,5 @@ - + diff --git a/faq/build.xml b/faq/build.xml index 137624b..62c3d92 100644 --- a/faq/build.xml +++ b/faq/build.xml @@ -1,34 +1,36 @@ - + - Build Problems - Build Problems + Проблеми збірки + Проблеми збірки - This section gathers most common errors that occur at - build time. + У цьому розділі зібрано найпоширеніші помилки, які виникають під час + збирання PHP. - I got the latest version of PHP using the anonymous Git service, - but there's no configure script! + Я отримав останню версію PHP, використавши анонімний сервіс Git, але в ній + немає скрипту конфігурації! - You have to have the GNU autoconf package installed so you can - generate the configure script from configure.in. Just run - ./buildconf in the top-level directory after getting - the sources from the Git server. (Also, unless you run configure - with the --enable-maintainer-mode option, the - configure script will not automatically get rebuilt when the - configure.in file is updated, so you should make sure to do that - manually when you notice configure.in has changed. One symptom - of this is finding things like @VARIABLE@ in your Makefile after - configure or config.status is run.) + У вас має бути встановленим пакунок GNU autoconf, за допомогою якого + зможете генерувати скрипт конфігурації з + configure.in. Достатньо виконати + ./buildconf в початковій теці після отримання + початкового коду з сервера Git. (Крім того, допоки ви не запустите + configure з параметром + --enable-maintainer-mode, скрипт конфігурації не буде + автоматично перебудовано, коли файл configure.in + оновиться, і вам доведеться робити це вручну, коли + configure.in зміниться. Ознакою того є слова + @VARIABLE@ у вашому Makefile після запуску конфігурації чи + config.status.) @@ -36,18 +38,17 @@ - I'm having problems configuring PHP to work with Apache. - It says it can't find httpd.h, but it's right where I said it is! + Я маю проблеми з налаштуванням PHP для роботи з Apache. Каже, що не може + знайти httpd.h, проте він точно там, де я вказав! - You need to tell the configure/setup script the location of the - top-level of your Apache source tree. This means that - you want to specify - and not . + Ви повинні назвати скрипту конфігурації розташування початкової теки + початкових кодів Apache. Це означає, що треба вказати + , а + не + . @@ -55,8 +56,8 @@ - While configuring PHP (./configure), you come across - an error similar to the following: + Під час конфігурації PHP (./configure), ви натрапили на + помилку, подібну до наступної: @@ -67,10 +68,11 @@ - Be sure to read the installation - instructions carefully and note that you need both flex and bison - installed to compile PHP. Depending on your setup you will install - bison and flex from either source or a package, such as a RPM. + Уважно перечитайте інструкції зі + встановлення та майте на увазі, що вам + потрібні встановлені пакунки flex і bison, щоб скомпілювати PHP. Залежно + від ваших налаштувань, bison і flex встановлюються або з джерела, або з + пакета, наприклад RPM. @@ -78,7 +80,7 @@ - When I try to start Apache, I get the following message: + Коли я намагаюся запустити Apache, отримую таке повідомлення: @@ -89,10 +91,9 @@ - This error usually comes up when one compiles the Apache - core program as a DSO library for shared usage. Try to - reconfigure apache, making sure to use at least the - following flags: + Зазвичай ця помилка з'являється, коли Apache було скомпільовано, як DSO + для спільного використання. Спробуйте переконфігурувати Apache, + упевнившись, що ви використали принаймні наступні прапорці: @@ -100,9 +101,9 @@ - For more information, read the top-level Apache - INSTALL file or the Apache - DSO manual page. + Більше інформації вгорі файлу Apache'а INSTALL або на + Сторінці посібника з DSO від + Apache. @@ -110,21 +111,22 @@ - When I run configure, it says that it can't find the - include files or library for GD, gdbm, or some other package! + Коли я запускаю скрипт конфігурації, він каже, що не може включити файли + або бібліотеку GD, gdbm, чи якогось іншого пакунка. - You can make the configure script look for header files and libraries - in non-standard locations by specifying additional flags to pass to - the C preprocessor and linker, such as: + Ви можете зробити так, щоб скрипт конфігурації шукав файли-заголовки та + бібліотеки в нестандартних місцях, задавши додаткові прапорці для + препроцесора C і компонувальника, наприклад: - If you're using a csh-variant for your login shell (why?), it would be: + Якщо ви використовуєте csh-варіант оболонки для авторизації (а нащо?), це + буде: - When it is compiling the file language-parser.tab.c, it gives me errors - that say yytname undeclared. + Коли компілюється файл language-parser.tab.c, то + виводяться помилки yytname undeclared. - You need to update your version of Bison. You can find the latest version - at &url.bison;. + Вам треба оновити пакунок Bison. Найновіша версія за адресою + &url.bison;. @@ -152,17 +154,17 @@ - When I run make, it seems to run fine but then fails when it tries - to link the final application complaining that it can't find some files. + Коли я запускаю make, наче все йде добре, але + завершується невдачею під час компонування програми, скаржачись, що не + може знайти якісь файли. - Some old versions of make that don't correctly put the compiled - versions of the files in the functions directory into that same - directory. Try running cp *.o functions and then - re-running make to see if that helps. If it does, you should really - upgrade to a recent version of GNU make. + Деякі старі версії make не можуть правильно помістити скомпільовані файли + у теки. Спробуйте запустити cp *.o functions, потім + перезапустити make, щоб побачити, чи це допоможе. Якщо + так, то вам конче треба отримати найновішу версію GNU make. @@ -170,19 +172,18 @@ - When linking PHP, it complains about a number of undefined references. + Коли компоную PHP, воно скаржиться на кількість невизначених посилань. - Take a look at the link line and make sure that all of the appropriate - libraries are being included at the end. Common ones that you might have - missed are '-ldl' and any libraries required for any database support - you included. + Подивіться на рядок з посиланнями, та упевніться, що усі необхідні + бібліотеки були включені. Здебільшого це "-ldl" та бібліотеки, потрібні + для включених баз даних. - Some people have also reported that they had to add '-ldl' immediately - following libphp4.a when linking with Apache. + Дехто каже, що треба дописати '-ldl' відразу після + libphp4.a, коли компонуєте модуль для Apache. @@ -190,48 +191,45 @@ - I have followed all the steps to install the Apache module version on - Unix, and my PHP scripts show up in my browser or I am being asked to - save the file. + Я послідовно виконав усі кроки встановлення PHP, як модуля Apache у Unix, + а мої скрипти показуються в браузері, як простий текст, або браузер + пропонує мені зберегти файл. - This means that the PHP module is not getting invoked for some reason. - Three things to check before asking for further help: + Це означає, що PHP-модуль чомусь не викликається. + Перед проханням про додаткову допомогу треба перевірити три речі: - Make sure that the httpd binary you are running is the actual - new httpd binary you just built. To do this, try running: - /path/to/binary/httpd -l + Упевніться, що запущений вами двійковий httpd — той, що ви перед + цим зібрали. Для цього виконайте: /path/to/binary/httpd -l - If you don't see mod_php4.c listed then - you are not running the right binary. Find and install the - correct binary. + Якщо ви не бачите у списку mod_php4.c, отже + запущено не той двійковий файл. Знайдіть і встановіть потрібний. - Make sure you have added the correct Mime Type to one of your - Apache .conf files. It should be: + Упевніться, що ви додали правильний MIME тип у одному з ваших + .conf файлів Apache. Наприклад: AddType application/x-httpd-php .php - Also make sure that this AddType line is not hidden away inside a - <Virtualhost> or <Directory> block which would - prevent it from applying to the location of your test script. + Також перевірте, чи інструкція AddType не знаходиться за межами + блоку <Virtualhost> або <Directory>, бо це не дозволить + застосувати її до вашого тестового скрипта. - Finally, the default location of the Apache configuration files - changed between Apache 1.2 and Apache 1.3. You should check to - make sure that the configuration file you are adding the AddType - line to is actually being read. You can put an obvious syntax error - into your &httpd.conf; file or some other obvious change that will - tell you if the file is being read correctly. + В решті решт, стандартне розташування файлів конфігурації Apache у + версій 1.2 і 1.3 — відрізняється. Перевірте, що файли конфігурації, + в які ви записали AddType, будуть прочитані. Можна навмисно внести + помилку у ваш файл &httpd.conf; або будь-яку іншу очевидну зміну, яка + сигналізуватиме, що файл прочитано коректно. @@ -242,16 +240,17 @@ - It says to use: --activate-module=src/modules/php4/libphp4.a, - but that file doesn't exist, so I changed it to - --activate-module=src/modules/php4/libmodphp4.a and it - doesn't work!? What's going on? + Там сказано використати + --activate-module=src/modules/php4/libphp4.a, але + такого файлу немає, тож я замінив параметр на + --activate-module=src/modules/php4/libmodphp4.a, та це + не спрацювало! Що відбувається? - Note that the libphp4.a file is not supposed to exist. The - apache process will create it! + Зауважте, що файлу libphp4.a і не має існувати. + Процес Apache створить його! @@ -259,15 +258,16 @@ - When I try to build Apache with PHP as a static module using - --activate-module=src/modules/php4/libphp4.a - it tells me that my compiler is not ANSI compliant. + Коли я намагаюсь зібрати Apache із PHP, як статичним модулем, + використовуючи + --activate-module=src/modules/php4/libphp4.a, воно + каже, що мій компілятор не сумісний з ANSI. - This is a misleading error message from Apache that has been fixed - in more recent versions. + Це хибне повідомлення про помилку від Apache, яке буде виправлене в + майбутніх версіях. @@ -275,19 +275,20 @@ - When I try to build PHP using I get strange error messages. + Коли я намагаюся зібрати PHP, використовуючи + , отримую дивне повідомлення + про помилку. - There are three things to check here. First, for some reason - when Apache builds the apxs Perl script, it sometimes ends up - getting built without the proper compiler and flags variables. - Find your apxs script (try the command which apxs), - it's sometimes found in /usr/local/apache/bin/apxs - or /usr/sbin/apxs. - Open it and check for lines similar to these: + Треба перевірити три речі. По-перше, інколи Apache створює + Perl-скрипт "apxs", а останній не містить даних про потрібний + компілятор та поставлених прапорців. Знайдіть ваш скрипт apxs (спробуйте + команду which apxs), зазвичай він знаходиться у + /usr/local/apache/bin/apxs або + /usr/sbin/apxs. Відкрийте його і перевірте рядки, + схожі на ці: - If this is what you see, you have found your problem. They may - contain just spaces or other incorrect values, such as 'q()'. Change - these lines to say: + Якщо це те, що ви бачите, проблему знайдено. Вони можуть містити тільки + пробіли або інші некоректні значення, такі як 'q()'. Замініть ці рядки на + наступні: - The second possible problem should only be an issue on Red Hat 6.1 - and 6.2. The apxs script Red Hat ships is broken. Look for this line: + Друга можлива проблема може виникати у Red Hat 6.1 та 6.2. Скрипт apxs у + Red Hat зламаний. Знайдіть цей рядок: - If you see the above line, change it to this: + Якщо ви бачите такий рядок, замініть його на: - Last, if you reconfigure/reinstall Apache, add a make clean - to the process after ./configure and before make. + По-третє, якщо переналаштовуєте або перевстановлюєте Apache, допишіть + make clean після ./configure та + перед make. @@ -327,14 +329,14 @@ my $CFG_LIBEXECDIR = '/usr/lib/apache'; # substituted via APACI install - During make, I get errors in microtime, - and a lot of RUSAGE_ stuff. + Протягом виконання make часто з'являються помилки і + більшість про RUSAGE_. - During the make portion of installation, - if you encounter problems that look similar to this: + Якщо протягом виконання make ви зіткнулися з такими + проблемами: - Your system is broken. You need to fix your /usr/include files by - installing a glibc-devel package that matches your glibc. This has - absolutely nothing to do with PHP. To prove this to yourself, try this - simple test: + Ваша система зламана. Потрібно полагодити ваші файли у + /usr/include, встановивши пакунок glibc-devel, з тою + ж версією, що і у вашого glibc. Це не має абсолютно нічого спільного з + PHP. Щоб переконатися в цьому, спробуйте цей простий тест: test.c </dev/null ]]> - If that spews out errors, you know your include files are messed up. + Якщо висвітяться помилки, знайте — ваші include-файли зіпсовані. @@ -374,27 +376,26 @@ $ gcc -E test.c >/dev/null - When compiling PHP with MySQL, configure runs fine but during - make I get an error similar to the following: + Коли компілюю PHP з підтримкою MySQL, configure працює добре, але + виконуючи make, я отримую помилку схожу на: ext/mysql/libmysqlclient/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysqlclient/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', - what's wrong? + що не так? - First, it's important to realize that this is a - Warning and not a fatal error. Because this is - often the last output seen during make, - it may seem like a fatal error but it's not. Of course, if - you set your compiler to die on Warnings, it will. Also - keep in mind that MySQL support is enabled by default. + Найперше, важливо усвідомити, що це попередження, а не + фатальна помилка. Через те, що здебільшого це кінцевий вивід команди + make, може здатися, що це фатальна помилка, але ні. + Звісно, якщо ви налаштували свій компілятор "вмирати" від попереджень, то + це буде нею. Ще майте на увазі, що стандартно підтримка MySQL ввімкнена. - As of PHP 4.3.2, you'll also see the following text after - the build (make) completes: + Починаючи з PHP 4.3.2, після завершення збірки (make) ви також бачитимете + наступний текст: @@ -409,21 +410,22 @@ $ gcc -E test.c >/dev/null - I want to upgrade my PHP. Where can I find the ./configure - line that was used to build my current PHP installation? + Я хочу оновити мій PHP. Де я можу дізнатися повну команду + ./configure, яка була виконана для збирання + поточної встановленої версії? - Either you look at config.nice file, in the source tree of your current PHP - installation or, if this is not available, you simply run a + У файлі config.nice, або у дереві початкових кодів встановленого PHP, якщо це + недоступно, можете просто запустити скрипт ]]> - - script. On top of the output the ./configure line, that was used - to build this PHP installation is shown. + . Вгорі результату буде показано командний рядок + ./configure, який було використано для збирання даної + версії PHP. @@ -431,14 +433,14 @@ $ gcc -E test.c >/dev/null - When building PHP with the GD library it either gives strange compile errors - or segfaults on execution. + Під час збирання PHP з підтримкою GD виводяться дивні помилки компіляції + або під час виконання — помилки сегментації. - Make sure your GD library and PHP are linked against the same depending - libraries (e.g. libpng). + Упевніться, що ваша бібліотека GD та PHP залежні від однакових бібліотек + (напр. libpng). @@ -446,19 +448,19 @@ $ gcc -E test.c >/dev/null - When compiling PHP I seemingly get random errors, like it hangs. - I'm using Solaris if that matters. + Під час компіляції PHP я, здається, отримую випадкові помилки, наче вона + зависає. Я використовую Solaris, якщо це важливо. - Using non-GNU utilities while compiling PHP may cause problems. Be - sure to use GNU tools in order to be certain that compiling PHP will - work. For example, on Solaris, using either the SunOS BSD-compatible - or Solaris versions of sed will not work, but using - the GNU or Sun POSIX (xpg4) versions of sed will - work. Links: GNU sed, - GNU flex, and + Використання не-GNU утиліт для компіляції PHP може спричинити проблеми. + Використовуйте інструменти GNU для впевненості у належній компіляції PHP. + Наприклад, у Solaris, використання BSD-сумісних версій + sed від SunOS або Solaris не спрацює, натомість версії + sed від GNU або Sun POSIX (xpg4) будуть працювати. + Посилання: GNU sed, + GNU flex та GNU bison. diff --git a/faq/com.xml b/faq/com.xml index cacc733..397246e 100644 --- a/faq/com.xml +++ b/faq/com.xml @@ -1,24 +1,25 @@ - + - PHP and COM - PHP and COM + PHP і COM + PHP і COM - PHP can be used to access COM and DCOM objects on Win32 platforms. + PHP можна використати для доступу до об'єктів COM і DCOM на платформах Win32. - I have built a DLL to calculate something. Is there any way to run this DLL under PHP ? + Я зібрав DLL для обчислень. Яким чином запустити цю DLL в PHP? - If this is a simple DLL there is no way yet to run it from PHP. If the DLL contains a COM - server you may be able to access it if it implements the IDispatch interface. + Якщо це звичайна DLL, то її поки що не запустити з PHP. Якщо DLL містить + COM сервер, ви можете мати доступ до нього, якщо він реалізував + інтерфейс IDispatch. @@ -26,17 +27,17 @@ - What does 'Unsupported variant type: xxxx (0xxxxx)' mean ? + Що означає "Unsupported variant type: xxxx (0xxxxx)"? - There are dozens of VARIANT types and combinations of them. Most of them are already supported but - a few still have to be implemented. - Arrays are not completely supported. Only single dimensional indexed - only arrays can be passed between PHP and COM. - If you find other types that aren't supported, please report them as a bug (if not already reported) - and provide as much information as available. + Є десятки типів VARIANT та їхніх комбінацій. Більшість з них вже + підтримуються, але кілька ще на стадії впровадження. Масиви підтримуються + не повністю. Тільки одновимірні індексовані масиви можуть передаватися між + PHP та COM. Якщо ви знайшли інші типи, що не підтримуються, повідомте, + будь ласка, про них, як про ваду (якщо вже не повідомлено) та надайте + якнайбільше інформації. @@ -44,15 +45,16 @@ - Is it possible manipulate visual objects in PHP ? + Чи можливо керувати візуальними об'єктами в PHP? - Generally it is, but as PHP is mostly used as a web scripting language it runs in the web servers context, thus - visual objects will never appear on the servers desktop. - If you use PHP for application scripting e.g. in conjunction with PHP-GTK there is no limitation in accessing and - manipulating visual objects through COM. + Загалом так, але оскільки PHP є мовою веб-сценаріїв, її код + запускається в контексті вебсервера, тому візуальні об'єкти ніколи не + з'являться на робочому столі серверів. Якщо ви, наприклад, використовуєте + PHP для написання програм спільно з PHP-GTK, то нема обмежень доступу або + керування візуальними об'єктами через COM. @@ -60,12 +62,13 @@ - Can I store a COM object in a session ? + Чи я можу зберігати об'єкт COM в сесії? - No, you can't. COM instances are treated as resources and therefore they are only available in a single script's context. + Ні, не можете. Екземпляри COM розглядаються як ресурси, тому вони доступні + лише в контексті одного сеансу. @@ -73,14 +76,14 @@ - How can I trap COM errors? + Як я можу перехопити помилки COM? - The COM extension throws com_exception - exceptions, which you can catch and then inspect the code - member to determine what to do next. + Розширення COM викидає виключення com_exception, які + ви можете ловити, щоб визначити і оглянути проблемну частину + коду. @@ -88,12 +91,12 @@ - Can I generate DLL files from PHP scripts like I can in Perl ? + Чи я можу генерувати файли DLL скриптами PHP, так як це робив на Perl? - No, unfortunately there is no such tool available for PHP. + Ні, на жаль на PHP такий інструмент недоступний. @@ -101,26 +104,26 @@ - What does 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' mean ? + Що означає "Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"? - This error can have multiple reasons: + Ця помилка може бути з декількох причин: - the CLSID is wrong + неправильний CLSID - the requested DLL is missing + необхідна DLL відсутня - the requested component doesn't implement the IDispatch interface + запитуваний компонент не реалізує інтерфейс IDispatch @@ -131,18 +134,18 @@ - How can I run COM object from remote server ? + Як мені запускати об'єкти COM з віддаленого сервера? - Exactly like you run local objects. You only have to pass the IP of the remote machine as second parameter to - the COM constructor. + Так само, як і локальні об'єкти. Вам лише треба передати другим параметром + конструктору COM IP віддаленої машини. - Make sure that you have set + Переконайтеся, що ви визначили com.allow_dcom=&true; - in your &php.ini;. + у вашому &php.ini;. @@ -150,12 +153,13 @@ - I get 'DCOM is disabled in C:\path...\scriptname.php on line 6', what can I do ? + Я отримую "DCOM is disabled in C:\path...\scriptname.php on line 6", що я + можу зробити? - Edit your &php.ini; and set + Відредагуйте ваш &php.ini;, задавши com.allow_dcom=&true;. @@ -164,27 +168,28 @@ - Is it possible to load/manipulate an ActiveX object in a page with PHP ? + Чи можливо завантажувати/маніпулювати об'єктом ActiveX на сторінці за + допомогою PHP? - This has nothing to do with PHP. ActiveX objects are loaded on client side if they are requested - by the HTML document. There is no relation to the PHP script and therefore there is no direct - server side interaction possible. + Це не має нічого спільного з PHP. Об'єкти ActiveX завантажуються у + клієнтський код за запитом документа HTML. Це не стосується скрипту PHP, + тому пряма взаємодія на стороні сервера неможлива. - Is it possible to get a running instance of a component ? + Чи можливо отримати запущений екземпляр компонента? - This is possible with the help of monikers. If you want to get multiple references to the same word instance - you can create that instance like shown: + Це можливо завдяки псевдонімам. Якщо треба отримати численні посилання на + той самий екземпляр слова, ви можете створити цей екземпляр, як показано: - This will create a new instance if there is no running instance available or it will return a handle to the - running instance, if available. + Це створить новий екземпляр, якщо запущеного немає, або поверне дескриптор + запущеного екземпляра, якщо він доступний. - Is there a way to handle an event sent from COM object ? + Чи є спосіб обробки події, надісланої з об’єкта COM? - You can define an event sink and bind it using - com_event_sink. You can use - com_print_typeinfo to have PHP generate a skeleton - for the event sink class. + Ви можете створити обробник подій і прив'язати його, використавши + com_event_sink. Щоб PHP генерував скелет для класу + приймача подій, є функція com_print_typeinfo. @@ -218,14 +222,16 @@ $word = new COM("C:\docs\word.doc"); - I'm having problems when trying to invoke a method of a COM object - which exposes more than one interface. What can I do ? + Не можу викликати метод об'єкта COM, який реалізує більше ніж один + інтерфейс. Що я можу зробити? - The answer is as simple as unsatisfying. I don't know exactly but i think you can do nothing. - If someone has specific information about this, please let me know :) + Відповідь настільки проста, наскільки і незадовільна. Невідомо, чому так, + але не можна нічого з цим вдіяти. Якщо хтось має потрібну інформацію з + цього приводу, будь ласка, + дайте знати :) @@ -233,13 +239,13 @@ $word = new COM("C:\docs\word.doc"); - So PHP works with COM, how about COM+ ? + Отже, PHP працює з COM, як щодо COM+ ? - COM+ extends COM by a framework for managing components through MTS and MSMQ but there is nothing special that - PHP has to support to use such components. + COM+ розширює COM платформою для керування компонентами через MTS і MSMQ, + але в цьому немає нічого особливого, аби PHP мав підтримку цього продукту. @@ -247,16 +253,16 @@ $word = new COM("C:\docs\word.doc"); - If PHP can manipulate COM objects, can we imagine to use - MTS to manage components resources, in conjunction with PHP ? + Якщо PHP може керувати об'єктами COM, чи можемо ми уявити використання MTS + для керування ресурсами компонентів у поєднанні з PHP? - PHP itself doesn't handle transactions yet. Thus if an error - occurs no rollback is initiated. If you use components that - support transactions you will have to implement the - transaction management yourself. + PHP сам ще не обробляє транзакції. Таким чином, якщо виникає помилка, + відкочування не починається. Якщо ви використовуєте компоненти, які + підтримують транзакції, вам треба власноруч реалізувати управління + транзакціями. diff --git a/faq/databases.xml b/faq/databases.xml index e455aff..634805d 100644 --- a/faq/databases.xml +++ b/faq/databases.xml @@ -1,144 +1,147 @@ - + - Database issues - Database issues + Проблеми баз даних + Проблеми баз даних - This section holds common questions about relation between - PHP and databases. Yes, PHP can access virtually any - database available today. + Цей розділ містить поширені питання про зв'язок PHP з базами даних. Так, PHP + може мати віртуальний доступ до усіх відомих на сьогодні баз даних. - I heard it's possible to access Microsoft SQL Server from PHP. How? + Я чув, що можливо мати доступ до Microsoft SQL Server з PHP. Як? - On Unix machines you can use PDO_ODBC - or the Unified ODBC API. + На машинах Unix ви можете використовувати + PDO_ODBC або + Уніфікований ODBC API. - On Windows machines you can also use PDO_SQLSRV - or SQLSRV. + А на машинах Windows ви можете використовувати + PDO_SQLSRV або + SQLSRV. - Also see the answer to the next question. + Також прочитайте відповідь на наступне питання. - Can I access Microsoft Access databases? + Чи можу я отримати доступ до баз даних Microsoft Access? - If you are running PHP on a Unix box and want to talk to MS Access - on a Windows box you will need Unix ODBC drivers. - OpenLink Software has Unix-based - ODBC drivers that can do this. + Якщо ви запускаєте PHP в Unix і хочете зв'язуватися з MS Access у Windows, + потрібні драйвери Unix ODBC. + OpenLink Software має драйвери + ODBC на основі Unix, які можуть це зробити. - Another alternative is to use an SQL server that has - Windows ODBC drivers and use that to store the data, which you can - then access from Microsoft Access (using ODBC) and PHP (using the - built in drivers), or to use an intermediary file format that Access - and PHP both understand, such as flat files or dBase databases. - On this point Tim Hayes from OpenLink software writes: + Інший спосіб — це використати для зберігання даних SQL-сервер, що має ODBC + драйвери для Windows, який буде доступним з Microsoft Access (з + використанням ODBC) та PHP (використовуючи вбудовані драйвери) або + використовувати проміжний формат файлу, зрозумілий для Access та PHP, + наприклад текстові файли або бази даних dBase. З цього приводу Тім Гейс з + OpenLink Software пише:
- Using another database as an intermediary is not a good idea, when you can - use ODBC from PHP straight to your database - i.e. with OpenLink's drivers. If - you do need to use an intermediary file format, OpenLink have now released - Virtuoso (a virtual database engine) for NT, Linux and other Unix platforms. - Please visit our website for a free download. + Використання іншої бази даних як проміжної — погана ідея, коли ви можете + застосовувати ODBC з PHP прямо до вашої бази даних - тобто з драйверами + OpenLink. Якщо у вас є потреба у проміжному файловому форматі, OpenLink + випустив Virtuoso (віртуальний рушій бази даних) для NT, Linux та інших + платформ Unix. Відвідайте, будь ласка, наш + вебсайт для вільного + звантаження.
- One option that has proved successful is to use MySQL and its - MyODBC drivers on Windows and synchronizing the databases. Steve Lawrence - writes: + Є спосіб, що заявлений, як успішний, це MySQL з власними драйверами MyODBC + для Windows та синхронізація баз даних. Стів Лоуренс пише: - Install MySQL on your platform according to instructions with MySQL. - Latest available from &url.mysql; - No special configuration required except when you set up a database, and configure the - user account, you should put % in the host field, or the host name of the - Windows computer you wish to access MySQL with. Make a note of your server - name, username, and password. + Установіть MySQL на вашу платформу згідно з інструкціями до MySQL. + Найновіша версія доступна на + &url.mysql;. Жодних особливих + налаштувань при встановленні не потрібно, за винятком того, що потрібно + буде вписати в поле "host" символ % або назву хоста комп’ютера з ОС + Windows, з якого ви бажаєте отримати доступ до MySQL. Занотуйте собі + назву вашого сервера, назву БД, ім'я користувача і пароль. - Download the MyODBC for Windows driver from the MySQL site. - Install it on your Windows machine. You can test the operation with - the utilities included with this program. + Звантажте драйвер MyODBC для Windows сайту MySQL. Установіть його на + вашу машину Windows. Можете перевірити операції інструментом, що + міститься в цій програмі. - Create a user or system dsn in your ODBC administrator, located in the - control panel. Make up a dsn name, enter your hostname, user name, password, - port, etc for you MySQL database configured in step 1. + Створіть користувацький або системний dsn у "адміністратор ODBC", + розташованій на панелі управління. заповніть назву dsn, хост, ім'я + користувача, пароль, порт та інші дані про вашу базу даних MySQL, яку + ви налаштовували на першому етапі. - Install Access with a full install, this makes sure you get the proper - add-ins... at the least you will need ODBC support and the linked table - manager. + Установіть Access повністю — це гарантує, що ви отримаєте належні + надбудови... щонайменше вам потрібна підтримка ODBC та менеджер + прив'язаних таблиць. - Now the fun part! Create a new access database. In the table - window right click and select Link Tables, or under the file - menu option, select Get External Data and then Link Tables. - When the file browser box comes up, select files of type: ODBC. - Select System dsn and the name of your dsn created in step 3. - Select the table to link, press OK, and presto! You can now - open the table and add/delete/edit data on your MySQL server! - You can also build queries, import/export tables to MySQL, - build forms and reports, etc. + А зараз — весела частина! Створіть нову базу даних у Access. У вікні + таблиці натисніть праву клавішу мишки та оберіть "Прив'язати таблиці" + або в пункті меню "Файл" оберіть "Отримати завнішні дані", а потім — + "Прив'язати таблиці". Коли з’явиться вікно браузера файлів, оберіть + файли типу ODBC. Оберіть "Системна dsn" та назву dsn, створену в кроці + 3. Виберіть таблицю, яку необхідно прив'язати, натисніть "OK" і готово! + Тепер ви можете відкрити таблицю і додавати, видаляти, редагувати дані + на вашому сервері MySQL! Ви також можете будувати запити, + імпортувати/експортувати таблиці до/з MySQL, будувати форми і звіти, + багато іншого. - Tips and Tricks: + Поради та підказки: - You can construct your tables in Access and export them - to MySQL, then link them back in. That makes table - creation quick. + Ви можете будувати ваші таблиці в Access та експортувати їх до MySQL, + потім прив'язувати їх знову. Це робить створення таблиць швидшим. - When creating tables in Access, you must have a primary - key defined in order to have write access to the table in - access. Make sure you create a primary key in MySQL before - linking in access + Під час створення таблиць у Access, додавайте первинний ключ, щоб мати + право на запис у таблицю через Access. Переконайтеся, що створили + первинний ключ в MySQL перед прив'язуванням в Access. - If you change a table in MySQL, you have to re-link it - in Access. Go to tools>add-ins>linked table manager, - cruise to your ODBC DSN, and select the table to re-link - from there. you can also move your dsn source around there, - just hit the always prompt for new location checkbox before - pressing OK. + Якщо ви змінили таблицю в MySQL, вам треба прив'язати її знову в + Access. Перейдіть до "засоби>надбудови>менеджер прив'язаних + таблиць", прокрутіть до ваших ODBC DSN, оберіть звідти таблицю для + повторного прив'язування. Ви також можете перемістити туди своє джерело + dsn, просто поставивши галочку "Завжди запитувати нове розташування", + перш ніж натиснути OK. diff --git a/faq/general.xml b/faq/general.xml index f6b3d25..7973300 100644 --- a/faq/general.xml +++ b/faq/general.xml @@ -1,73 +1,71 @@ - + - General Information - General Information + Загальні відомості + Загальні відомості - This section holds the most general questions about PHP: - what it is and what it does. + Цей розділ містить найзагальніші питання про PHP: що це таке і що робить. - What is PHP? + Що таке PHP? - From the preface of the manual: + З Передмови посібника: - PHP is an HTML-embedded scripting language. Much of - its syntax is borrowed from C, Java and Perl with a couple of unique - PHP-specific features thrown in. The goal of the language is to - allow web developers to write dynamically generated pages quickly. + PHP — це скриптова мова, чий код можна вписувати в HTML. Велика частина її + синтаксису запозичена у C, Java і Perl, з додаванням кількох унікальних + особливостей PHP. Мета мови — дати змогу веброзробникам швидко розробляти + динамічні сторінки. - What does PHP stand for? + Що означає "PHP"? - PHP stands for PHP: Hypertext Preprocessor. - This confuses many people because the first word of the acronym is - the acronym. This type of acronym is called a recursive acronym. - For more information, the curious can visit - Free On-Line Dictionary of Computing - or the - Wikipedia entry on - recursive acronyms. + PHP означає PHP: Hypertext Preprocessor + (гіпертекстовий препроцесор). Це спантеличує багатьох, бо перше слово + акроніму і є цим акронімом. Такий вид акронімів називається рекурсивним. + Охочі дізнатися докладніше можуть відвідати + Безкоштовний онлайн-словник з + обчислювальної техніки або + запис у Вікіпедії про + рекурсивні акроніми. - What is the relation between the versions? + Який зв'язок між версіями? - PHP/FI 2.0 is an early and no longer supported version of PHP. PHP 3 - is the successor to PHP/FI 2.0 and is a lot nicer. PHP 8 is the current - generation of PHP, which uses the Zend - engine 4 which, among other things, offers many additional - OOP features. + PHP/FI 2.0 — стара і більше не підтримувана версія PHP. PHP 3 є + наступницею PHP/FI 2.0 і набагато кращою. PHP 8 є сучасним поколінням PHP, + яке використовує Zend engine 4, який, серед іншого, пропонує багато + додаткових можливостей ООП. - Can I run several versions of PHP at the same time? + Чи можу я запускати кілька версій PHP водночас? - Yes. See the INSTALL file that is included - in the PHP source distribution. + Так. Прочитайте файл INSTALL, який є у дистрибутиві + PHP. @@ -75,18 +73,17 @@ - I think I found a bug! Who should I tell? + Здається, я знайшов ваду! Кому я маю сказати? - You should go to the PHP Bug Database and make sure the bug - isn't a known bug. If you don't see it in the database, use - the reporting form to report the bug. It is important to use - the bug database instead of just sending an email to one of the - mailing lists because the bug will have a tracking number assigned - and it will then be possible for you to go back later and check - on the status of the bug. The bug database can be found at + Вам потрібно зайти на PHP Bug Database та упевнитись, що про дану ваду ще + не повідомлено. Якщо ви не бачите її в базі даних, використайте форму для + надсилання звітів, щоб повідомити про ваду. Важливо використовувати базу + даних, щоб ваді призначили номер відстеження, а не просто надіслати + електронного листа комусь з списків розсилки. Так ви зможете повернутися + пізніше і перевірити стан вади. База даних про вади знаходиться за адресою &url.php.bugs;. diff --git a/faq/html.xml b/faq/html.xml index e3f549d..5d12fbb 100644 --- a/faq/html.xml +++ b/faq/html.xml @@ -1,42 +1,42 @@ - + - PHP and HTML - PHP and HTML + PHP та HTML + PHP та HTML - PHP and HTML interact a lot: PHP can generate HTML, and HTML - can pass information to PHP. Before reading these faqs, it's - important you learn how to retrieve - variables from external sources. The manual page on - this topic includes many examples as well. + PHP та HTML глибоко взаємодіють: PHP може генерувати HTML, а HTML може + передавати інформацію до PHP. Перед читанням цих ЧаПів важливо, щоб ви + навчилися отримувати змінні зі + зовнішніх джерел. Сторінка посібника на цю тему також містить багато + прикладів. - What encoding/decoding do I need when I pass a value through a form/URL? + Яке кодування/декодування мені потрібно робити, коли я передаю значення + через форму або URL? - There are several stages for which encoding is important. Assuming that - you have a string $data, which contains - the string you want to pass on in a non-encoded way, these are the - relevant stages: + Є кілька етапів, для яких кодування є важливим. Припустимо, що ви маєте + string $data, яка містить рядок, який ви + хочете передати незакодованим. Це виглядатиме таким чином: - HTML interpretation. In order to specify a random string, you - must include it in double quotes, and - htmlspecialchars the whole value. + HTML-інтерпретація. Задаючи випадковий рядок, ви + мусите помістити його у подвійні лапки та обробити + таке значення функцією htmlspecialchars. - URL: A URL consists of several parts. If you want your data to be - interpreted as one item, you must encode it with + URL: URL складається з частин. Аби певні дані сприймалися, як частина + URL, ви мусите закодувати їх за допомогою urlencode. @@ -44,7 +44,7 @@ - A hidden HTML form element + Прихований елемент HTML-форми - It is wrong to urlencode - $data, because it's the browsers responsibility to - urlencode the data. All popular browsers do that - correctly. Note that this will happen regardless of the method (i.e., - GET or POST). You'll only notice this in case of GET request though, - because POST requests are usually hidden. + Не можна $data обробляти функцією + urlencode тому, що за це відповідає браузер. Усі + популярні браузери роблять це правильно, незалежно від методу (себто GET + або POST). Це помітно у випадку GET-запиту, бо POST-запити зазвичай + приховані. - Data to be edited by the user + Дані, що редагуються користувачем - The data is shown in the browser as intended, because the browser will - interpret the HTML escaped symbols. + Ці дані браузер зображує належним чином тому, що інтерпретує екрановані + HTML-символи. - Upon submitting, either via GET or POST, the data will be urlencoded - by the browser for transferring, and directly urldecoded by PHP. So in - the end, you don't need to do any urlencoding/urldecoding yourself, - everything is handled automagically. + Після підтвердження форми через GET або POST, браузер закодує дані в URL + для передавання до PHP, який їх розкодує. Тож вам не треба самостійно + щось кодувати, все обробиться автоматично. - In a URL + В URL - In fact you are faking a HTML GET request, therefore it's necessary to - manually urlencode the data. + Якщо ви модулюєте GET-запит, необхідно власноруч застосувати + urlencode до даних. - You need to htmlspecialchars the whole URL, because the - URL occurs as value of an HTML-attribute. In this case, the browser - will first un-htmlspecialchars the value, and then pass - the URL on. PHP will understand the URL correctly, because you - urlencoded the data. + Вам потрібно обробити всю URL функцією + htmlspecialchars, щоб URL не сприйнялася, як код + HTML. В такому разі браузер виконає зворотню до + htmlspecialchars дію стосовно значення та сприйме + його, як URL. PHP зрозуміє URL коректно, бо ви обробили дані функцією + urlencode. - You'll notice that the & in the URL is replaced - by &amp;. Although most browsers will recover - if you forget this, this isn't always possible. So even if your URL is - not dynamic, you need to - htmlspecialchars the URL. + Зауважте, що символ & в URL замінено на + &amp;. Здебільшого браузери відновлять його, якщо + ви забудете, але не завжди. Тож навіть якщо ваша URL не динамічна, вам + потрібно застосувати + htmlspecialchars до URL. @@ -128,36 +127,35 @@ - I'm trying to use an <input type="image"> tag, but - the $foo.x and $foo.y variables - aren't available. $_GET['foo.x'] isn't existing - either. Where are they? + Я намагаюся використати тег <input type="image">, але змінні + $foo.x і $foo.y недоступні. + $_GET['foo.x'] не існує теж. Де вони? - When submitting a form, it is possible to use an image instead of - the standard submit button with a tag like: + Замість звичної кнопки для надсилання форми можна використовувати + зображення за допомогою тегу: ]]> - When the user clicks somewhere on the image, the accompanying form - will be transmitted to the server with two additional variables: + Коли користувач клацне десь на зображення, така форма буде передана + серверу з двома додатковими змінними: foo.x and foo.y. - Because foo.x and foo.y would - make invalid variable names in PHP, they are automagically converted to - foo_x and foo_y. That is, the - periods are replaced with underscores. So, you'd access these variables - like any other described within the section on retrieving - variables from external - sources. For example, $_GET['foo_x']. + Оскільки foo.x і foo.y містять в + назвах недозволені символи, вони автоматично перейменуються на + foo_x і foo_y. Тобто крапки + заміняться на підкреслення. Таким чином, ви матимете доступ до цих + змінних, як і до будь-яких інших, описаних в розділі про отримання + змінних з зовнішніх + джерел. До прикладу, $_GET['foo_x']. - Spaces in request variable names are converted to underscores. + Пробіли в назвах змінних запиту перетворюються на підтвердження. @@ -166,14 +164,13 @@ - How do I create arrays in a HTML <form>? + Як я можу створити масиви в HTML-тегові <form>? - To get your <form> result sent as an - array to your PHP script - you name the <input>, <select> or <textarea> - elements like this: + Для отримання в скрипті PHP надісланого результату як + array, треба називати атрибути + тегів <input>, <select> і <textarea> за зразком: @@ -182,9 +179,8 @@ ]]> - Notice the square brackets after the variable name, that's what - makes it an array. You can group the elements into different arrays - by assigning the same name to different elements: + Квадратні дужки після назви змінної позначають її як масив. Ви можете + групувати елементи в різні масиви, назвавши однаково різні елементи: @@ -193,9 +189,8 @@ ]]> - This produces two arrays, MyArray and MyOtherArray, that gets sent - to the PHP script. It's also possible to assign specific keys - to your arrays: + Такий код створює два масиви "MyArray" та "MyOtherArray", які + надсилаються до скрипта PHP. Також можливо називати ключі масивів: @@ -204,22 +199,22 @@ ]]> - The AnotherArray array will now contain the keys 0, 1, email and phone. + Масив "AnotherArray" міститиме ключі 0, 1, "email" і "phone". - Specifying array keys is optional in HTML. If you do not specify - the keys, the array gets filled in the order the elements appear in - the form. Our first example will contain keys 0, 1, 2 and 3. + Визначення ключів масиву необов'язкове у HTML. Якщо ви не визначите їх, + масив заповниться в тому порядку, в якому елементи розташовані у формі. + Перший приклад міститиме ключі 0, 1, 2 та 3. - See also - Array Functions and - Variables From External - Sources. + Докладніше: + Функції для масивів, + Змінні з зовнішніх + джерел. @@ -227,49 +222,48 @@ - How do I get all the results from a select multiple HTML tag? + Як мені отримати всі вибрані варіанти з множинного виду HTML-тегу + <select>? - The select multiple tag in an HTML construct allows users to - select multiple items from a list. These items are then passed - to the action handler for the form. The problem is that they - are all passed with the same widget name. I.e. + Множинний вид тегу <select> в HTML дозволяє користувачам обрати + кілька елементів з списку. Далі ці елементи передаються до обробника + дій форми. Проблема в тому, що вони всі передаються з однаковою назвою. + Тобто: ]]> - Each selected option will arrive at the action handler as: + Обрані варіанти надійдуть до обробника дій таким чином: var=option1 var=option2 var=option3 - Each option will overwrite the contents of the previous - $var variable. The solution is to use - PHP's "array from form element" feature. The following - should be used: + Кожен наступний обраний варіант буде переписувати попередній вміст змінної + $var. Рішенням є використати можливість PHP робити + "масив з елемента форми". Слід писати наступне: ]]> - This tells PHP to treat $var as an array and - each assignment of a value to var[] adds an item to the array. - The first item becomes $var[0], the next - $var[1], etc. The count - function can be used to determine how many options were selected, - and the sort function can be used to sort - the option array if necessary. + Тоді PHP розглядатиме $var як масив, і кожне + задавання значення var[] додаватиме елемент до масиву. Перший елемент + стане $var[0], наступний — $var[1], + і так далі. Функція count може бути використана, щоб + визначити кількість обраних варіантів, а функція sort + — для впорядкування масиву варіантів, якщо необхідно. - Note that if you are using JavaScript the [] - on the element name might cause you problems when you try to - refer to the element by name. Use it's numerical form element - ID instead, or enclose the variable name in single quotes and - use that as the index to the elements array, for example: + Майте, на увазі, якщо використовуєте JavaScript, [] в + назві елемента може спровокувати проблеми при намаганні звернутися до + елемента за атрибутом "name". Краще використати атрибут "id" або вкласти + назву змінної в одинарні лапки та використовувати її як індекс масиву + елементів. Наприклад: variable = document.forms[0].elements['var[]']; @@ -280,39 +274,36 @@ variable = document.forms[0].elements['var[]']; - How can I pass a variable from Javascript to PHP? + Як мені передати змінну з Javascript до PHP? - Since Javascript is (usually) a client-side technology, and - PHP is (usually) a server-side technology, and since HTTP is a - "stateless" protocol, the two languages cannot directly share - variables. + Оскільки код Javascript (зазвичай) виконує клієнт, а код PHP (зазвичай) — + сервер, а HTTP — це протокол "без стану", дві мови не мають функціоналу + прямого обміну змінними. - It is, however, possible to pass variables between the two. - One way of accomplishing this is to generate Javascript code - with PHP, and have the browser refresh itself, passing specific - variables back to the PHP script. The example below shows - precisely how to do this -- it allows PHP code to capture screen - height and width, something that is normally only possible on - the client side. + Проте є спосіб передавати змінні між ними двома. Перший шлях — згенерувати + код Javascript в PHP, оновити браузер, передати потрібні змінні назад до + скрипта PHP. Приклад нижче показує, як достеменно це зробити — він + дозволяє коду PHP отримати висоту і ширину екрану, що за нормальних умов + можливо тільки на стороні клієнта. - Generating Javascript with PHP + Генерування Javascript в PHP \n"; - echo "Screen height is: ". $_GET['height'] ."
\n"; + // Вивести геометричні змінні + echo "Ширина екрана: ". $_GET['width'] ."
\n"; + echo "Висота екрана: ". $_GET['height'] ."
\n"; } else { - // pass the geometry variables - // (preserve the original query string - // -- post variables will need to handled differently) + // Передати геометричні змінні + // (підготувати рядок запиту + // — з методом POST змінні треба обробляти інакше) echo "