П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 3407 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 5956 раз(а).

Учебник HTML.
Просмотров 3201 раз(а).

Руководство по PHP5.
Просмотров 5418 раз(а).

Хостинг через призму DNS.
Просмотров 4017 раз(а).

Подборка текстов стандартных документов.
Просмотров 55705 раз(а).

Учебник PHP - Самоучитель
Просмотров 2994 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 4565 раз(а).

Внешние атаки...
Просмотров 3730 раз(а).

Учебник PHP.
Просмотров 2766 раз(а).

SSI в примерах.
Просмотров 37384 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Руководство по PHP
Пред. След.

Глава 61. Разные вопросы

Некоторые вопросы могут не подходить для других категорий. Вы можете найти их здесь.

1. Как я могу обращаться со сжатыми bz2 руководствами под Windows?
2. Что означает & рядом с аргументом в объявлении функции, например asort()?
3. Как обращаться с register_globals?

1. Как я могу обращаться со сжатыми 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.

2. Что означает & рядом с аргументом в объявлении функции, например asort()?

Это означает, что аргумент передаётся по ссылке и функция, вероятно, изменит его согласно документации. Таким путём вы можете передать только переменные и вам не обязательно задавать & при вызове функции (и это даже не рекомендуется).

3. Как обращаться с register_globals?

Для информации по проблемам безопасности, связанных с register_globals, читайте Использование register_globals в главе Безопасность.

Предпочтительнее использовать superglobals, чем полагаться на то, что register_globals установлена в On.

Если вы пользуетесь совместным хостом с выключенной register_globals и вам надо использовать некоторые существующие приложения, которые требуют чтобы эта опция была включена; или вы на каком-либо сервере, где эта возможность включена, но вы хотите эмулировать проблему по безопасности, то возможно вам надо эмулировать противоположную установку с помощью PHP. Всегда лучше сначала спросить, если можно каким-либо образом изменить опцию в конфигурации PHP, но если это невозможно, то вы можете воспользоваться следующими совместимыми кусками кода.

Пример 61-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);
}
?>


Пред. Начало След.
Переход из PHP 4 в PHP 5 Уровень выше Приложения


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru