Разные вопросы
Некоторые вопросы могут не подходить для других категорий.
Вы можете найти их здесь.
-
Как я могу обращаться со сжатыми bz2 руководствами под Windows?
-
Что означает & рядом с аргументом в объявлении функции, например
asort()?
-
Как обращаться с register_globals?
-
Как я могу обращаться со сжатыми bz2 руководствами под Windows?
-
Если у вас нет архиватора для работы с bz2 файлами, то
» скачайте утилиту для
командной строки от Redhat (пожалуйста, ищите подробности ниже).
Если вы не хотите использовать утилиту командной строки, вы можете
попробовать бесплатные средства, такие как
» Stuffit Expander,
» UltimateZip,
» 7-Zip или
» Quick Zip.
Если у вас есть такие утилиты как » WinRAR
или » Power Archiver, то
с их помощью вы можете легко распаковать bz2 файлы.
Если вы пользуетесь Total Commander (бывший Windows Commander),
подключаемый модуль bz2 для этой программы доступен бесплатно с
сайта » Total Commander.
Утилита командной строки bzip2 от Redhat:
Пользователи Win2K Sp2 должны взять последнюю версию 1.0.2,
пользователи всех других Windows должны взять версию 1.00.
После загрузки переименуйте исполняемый файл в bzip2.exe.
Для удобства положите его в директорию в вашем пути, например C:\Windows,
где C соответствует диску, на котором установлен ваш Windows.
Замечание: lang обозначает ваш язык и x - желаемый формат, например pdf.
Чтобы распаковать php_manual_lang.x.bz2, следуйте этим простым
инструкциям:
-
откройте окно запроса команды (command prompt)
-
cd в директорию, где вы храните скаченный php_manual_lang.x.bz2
-
вызовите bzip2 -d php_manual_lang.x.bz2, извлеките
php_manual_lang.x в ту же директорию
В случае, если вы скачали php_manual_lang.tar.bz2, содержащий множество
html файлов, процедура точно такая же. Единственное отличие заключается в том,
что вы получили файл php_manual_lang.tar. Известно, что формат tar
обрабатывается большинством распространённых архиваторов под Windows,
например такими как » WinZip.
-
Что означает & рядом с аргументом в объявлении функции, например
asort()?
-
Это означает, что аргумент
передаётся по ссылке
и функция, вероятно, изменит его согласно документации.
Таким путём вы можете передать только переменные и вам не обязательно
задавать & при вызове функции (и это даже
не рекомендуется).
-
Как обращаться с register_globals?
-
Для информации по проблемам безопасности, связанных с
register_globals, читайте
Использование register_globals
в главе Безопасность.
Предпочтительнее использовать
superglobals,
чем полагаться на то, что register_globals
установлена в On.
Если вы пользуетесь совместным хостом с выключенной
register_globals и вам надо использовать некоторые
существующие приложения, которые требуют чтобы эта опция была включена;
или вы на каком-либо сервере, где эта возможность включена, но вы хотите
эмулировать проблему по безопасности, то возможно вам надо эмулировать
противоположную установку с помощью PHP.
Всегда лучше сначала спросить, если можно каким-либо образом изменить опцию
в конфигурации PHP, но если это невозможно, то вы можете воспользоваться
следующими совместимыми кусками кода.
Пример #1 Эмулирование Register Globals
Следующее эмулирует register_globals установленную в On.
<?php // Emulate register_globals on if (!ini_get('register_globals')) { $superglobals = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET); if (isset($_SESSION)) { array_unshift($superglobals, $_SESSION); } foreach ($superglobals as $superglobal) { extract($superglobal, EXTR_SKIP); } ini_set('register_globals', true); } ?>
Следующее эмулирует register_globals установленную в Off.
<?php // Emulate register_globals off if (ini_get('register_globals')) { $superglobals = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET); if (isset($_SESSION)) { array_unshift($superglobals, $_SESSION); } foreach ($superglobals as $superglobal) { foreach ($superglobal as $global => $value) { unset($GLOBALS[$global]); } } ini_set('register_globals', false); } ?>
|
|