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 &. 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 замінено на
+ &. Здебільшого браузери відновлять його, якщо
+ ви забудете, але не завжди. Тож навіть якщо ваша 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 "