Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Интернет технологии -> PHP -> FAQ конференции RU.PHP


RU.PHP FAQ. Общие вопросы.

  1. Что такое PHP?
  2. Как взаимодействуют PHP и HTML?
  3. Где взять PHP?
  4. Как расшифровывается PHP?
  5. Для чего нужен файл php.ini?
  6. Подскажите как перехватить средствами PHP переменные JavaScript?
  7. Подскажите где скачать Apache+PHP+MySql for Win?
  8. Hаписал класс. Хочу выложить его в общее пользование. Как принято документировать подобные вещи? Где посмотреть?
  9. A отладчик PHP в природе существует? Как они работают?
  10. Можно ли использовать PHP как замену Perl'а и других интерпретируемых языков при создании shell-скриптов?
  11. Пpи pаботе c сессиями, вываливаетcя cообщение в бpаузеp: Warning: open(/tmp\sess_???, O_RDWR) failed: m (2) in script.php on line X?
  12. Как сделать, что бы вывод из моего скрипта сразу показывался у пользователя в браузере?
  13. Как измерить время с точностью до микpосекунды?
  14. Как передать параметры из формы с множественным значением (select multiple, значение checkbox'ов и т.д)?
  15. Как бы мне получить вчеpашнюю дату?
  16. Расскажите, чем отличается вызов функции с собакой от вызова без собаки?
  17. Функции strtoupper() strtolower() не работают или работают неправильно.
  18. Какие специфичные функции не работают под IIS?
  19. Имеется форма, где вносится текст с переносом строк, при выводе текста на страницу строки не переносятся, что делать?
  20. Как передать параметры скрипту, если он выполняется из командной строки?
  21. Как выполнять свой скрипт с некоторой периодичностью (скажем каждый час)?


  1.  Что такое PHP?
    (перевод документации) "PHP, что означает 'PHP: Hypertext Preprocessor' ('PHP: Предварительный Обработчик Гипертекста'), является внедряемым в HTML языком описания скриптов. Многое из его синтаксиса было позаимствовано из C, Java и Perl с добавлением некоторых уникальных, специфичных для PHP, особенностей. Целью создания языка является предоставление web-разработчикам возможности быстрого создания динамически генерируемых страниц."
    ivan kovalenko, 2:5057/53

  2.  Как взаимодействуют PHP и HTML?
    Язык PHP обладает несомненными преимуществами по сравнению с другими языками программирования, применяемыми для работы с HTML, поскольку именно для решения такого рода задач он и разрабатывался. Так что не стоит удивляться тому, что этот язык обеспечивает простое, но при этом весьма мощное взаимодействие с HTML. Когда браузер запрашивает с Web-сервера страницу PHP, модуль PHP, прежде чем отправить эту страницу клиенту, осуществляет ее обработку (интерпретацию). Части данной страницы, являющиеся обычными инструкциями (тэгами) HTML, передаются клиенту точно так же, как это происходит при обработке обычного документа HTML. Части, написанные на языке PHP, обрабатываются PHP-модулем сервера - программой, предназначенной для интерпретации инструкций PHP. Модуль PHP просматривает код PHP и выполняет заданные в нем инструкции. Это могут быть, например, команды отправки электронной почты, доступа к базе данных или преобразования чисел.

    Прежде чем приступить к разработке сценариев PHP, необходимо установить соответствующее программное обеспечение: Web-сервер Apache и интерпретатор PHP. Операция обычно проходит быстро и без осложнений. Если же вы столкнетесь с проблемами, обратитесь к документации, прилагаемой к программам Apache и PHP.
    Dmitry Eroshin, 2:5037/31.13

  3.  Где взять PHP?
    Hа сайте производителя: http://www.php.net/downloads.php
    ivan kovalenko, 2:5057/53

  4.  Как расшифровывается PHP?
    'PHP' - это рекурсивный акроним (аналогия с 'Linux' - 'Linux Is Not UniX') словосочетания 'PHP: Hypertext Preprocessor' ('PHP: Предварительный Обработчик Гипертекста'), что успешно отражает общую идеологию его функционирования. До версии PHP 3.0 название было несколько иным ('PHP/FI') и расшифровывалось как 'Personal Home Page tools / Forms Interpreter' ('Утилиты для Домашней Страницы / Интерпретатор Форм').
    ivan kovalenko, 2:5057/53

  5.  Для чего нужен файл php.ini?
    Файл php.ini (или php3.ini, если вы используете PHP3) определяет некоторые установки, применяемые в PHP по умолчанию. Их можно корректировать в зависимости от конкретных выполняемых задач. Файл содержит директивы PHP с соответствующими значениями, позволяющими разрешить либо запретить определенное средство или установить некоторое свойство (например, цвет ссылки).
    Чтобы посмотреть список этих значений, достаточно вызвать небольшой сценарий info.php, созданный для проверки инсталляции PHP.
    В оперативном руководстве по PHP, размещенным по адресу http://www.php.net, указаны особенности каждой опции конфигурации и перечислены возможные значения установок, которые могут быть изменены.

    Dmitry Eroshin, 2:5037/31.13

  6.  Подскажите как перехватить средствами PHP переменные JavaScript?
    Вопрос абсолютно дурацкий ибо проистекает из полного непонимания Web-технологии. Скрипты JavaScript выполняются (или не выполняются :)) на стороне клиента (браузера). Код же PHP выполняется на серверной стороне и к JavaScript никакого отношения иметь не может.
    Dmitry Seleznev, 2:5095/6

  7.  Подскажите где скачать Apache+PHP+MySql for Win?
    Hапример здесь:
    http://www.dklab.ru/doc/apache/apache_old.html
    Vova Rusakevich, 2:454/23.501

  8.  Hаписал класс. Хочу выложить его в общее пользование. Как принято документировать подобные вещи? Где посмотреть?
    Hапример здесь:
    http://phpdocu.sourceforge.net/howto.php
    Vova Rusakevich, 2:454/23.501

  9.  A отладчик PHP в природе существует? Как они работают?
    Ищи здесь:

    http://dd.cron.ru

    Vova Rusakevich, 2:454/23.501

  10.  Можно ли использовать PHP как замену Perl'а и других интерпретируемых языков при создании shell-скриптов?
    Можно. И нужно W;) Сокращенный перевод официальной документации:

    Выполнение PHP-скриптов из командной строки обычно применяется в тех случаях, когда вам нужно протестировать настройку PHP или же если вы собираетесь использовать возможности PHP в других целях, нежели создание веб-скриптов. ... Обратите внимание, что вы можете перенаправить вывод результатов выполнения скрипта во внешний файл, используя символ 'больше' ('>'), например,

    php -q test.php > test.html

    Вы можете выполнять PHP-скрипты в командной строке только в том случае, если ваш PHP собран как самостоятельное приложение (stand-alone executable). ...

    PHP в качестве самостоятельного приложения может быть использован для запуска PHP-скриптов в абсолютной независимости от web-сервера. Если вы работаете в *nix-системе, вам нужно будет добавить специальную строку в начало каждого скрипта (чтобы система смогла определить, какая программа должна обрабатывать скрипт) и сделать его исполняемым (rwX).
    Hа win-платформах вы можете ассоциировать .php-файлы с приложением php.exe с помощью двойного щелчка кнопкой мыши в Проводнике (Explorer) или же создавать пакетные (.bat) файлы для выполнения PHP-скриптов. ...

    Пример (script.php):

    #!/usr/bin/php -q
    # -q используется для запрещения вывода HTTP-заголовков

    <?
        
    if ($argc !=   in_array ($argv[1], array ('--help''-help''-h'))) {
            echo 
    "Запуск: ./script.php <аргумент> <--help -help -h>\n";
        } else {
            echo 
    $argv[1];
        }
    ?>


    В вышеприведенный скрипт была добавлена специальная первая строка, которая указывает на то, что этот файл должен быть запущен с помощью PHP без вывода HTTP-заголовков. При создании скриптов, предназначаемых для выполнения в командной строке, вы можете использовать две специальных переменных: $argc и $argv. Первая - это количество переданных в командной строке аргументов плюс один (имя выполняемого скрипта). Вторая - массив переданных аргументов, начинающийся с имени скрипта - с нулевым индексом ($argv[0]).

    Пример пакетного (.bat) файла для запуска скрипта на win-платформах (script.bat):

    @c:\php\php.exe -q script.php %1 %2 %3 %4
    ivan kovalenko, 2:5057/53

  11.  Пpи pаботе c сессиями, вываливаетcя cообщение в бpаузеp: Warning: open(/tmp\sess_???, O_RDWR) failed: m (2) in script.php on line X?
    В php.ini надо прописать путь до места, куда будут сохраняться сессии, по умолчанию /tmp, что годится для юникса:
    session.save_path = c:\tmp

    trent

  12.  Как сделать, что бы вывод из моего скрипта сразу показывался у пользователя в браузере?
    Использовать функцию flush(). В связи с особенностями вывода некоторых браузеров, в том числе IE и Opera 6 рекомендуется послать 256 байт в начале страницы, вот тестовый скрипт:

    <?
        
    echo str_repeat(" "256);
        
    //это аналог for($i=0;$i<256;$i++){echo " ";}
        
    for ($i 0$i 10$i++)
        {
            print 
    "i: $i\n";
            
    flush();
            
    sleep(5);
        }
    ?>


    Результаты работы: Столбик из значений i, появляющихся через 5 секунд.
    Andy Ice, 2:5012/8.13

  13.  Как измерить время с точностью до микpосекунды?
    Вот тебе классик для измерения времени...

    <?
    class Timer {
        var 
    $start// start time in usec
        
    var $stop// stop time in usec
        
        
    function start() {
            
    $t gettimeofday();
            
    $this->start $t[sec] * 1000000.0 $t[usec];
        }

        function 
    stop() {
            
    $t gettimeofday();
            
    $this->stop $t[sec] * 1000000.0 $t[usec];
        }

        function 
    elapsed() {
            return (
    $this->stop $this->start) / 1000000.0;
        }
    };
    ?>


    юзать будешь так:
    <?
        $t 
    = new Timer();
    ?>

    в нужном месте делаешь
    <?
        $t
    ->start();
    ?>

    там, где надо закончить отсчет так:
    <?
        $t
    ->stop();
    ?>

    ну и в где надо
    <?
        
    print $t->elapsed();
    ?>

    Andrey N. Demushkin, drew(a)adx.cjb.net

  14.  Как передать параметры из формы с множественным значением (select multiple, значение checkbox'ов и т.д)?
    Для checkbox'a:
    <input type="checkbox" name="id[]" value="0"/>
    <input type="checkbox" name="id[]" value="1"/>
    для multiple:
    <select name="id[]" multiple="multiple">
    <option value="0">0</option>
    <option value="1">1</option>
    </select>
    данные из формы придут, как массив $id со значениями value.

    trent

  15.  Как бы мне получить вчеpашнюю дату?
    <?
        
    print date("d/m/Y"mktime(0,0,0,intval(date('n')),intval(date('j'))-1,intval(date('Y'))));
    ?>

    Kirill Kustov <2:5045/67>

    <?
      
    echo date("d/m/Y",time()-86400);
    ?>

    Dmitrik Kolesnikov, 2:463/3141.95

    <? 
      strtotime 
    ("-1 day");
    ?>


    Pavel P, vprin@indiainfo.com

  16.  Расскажите, чем отличается вызов функции с собакой от вызова без собаки?
    Если функция вызывается с собакой, то сообщение об ошибке подавляется.
    Пальчуковский Евгений Викторович

  17.  Функции strtoupper() strtolower() не работают или работают неправильно.
    Попробуйте использовать такую фукцию:
    strtoupper()
    <?php
     
    function toUpper($content) {
      
    $content strtr($content"абвгдеёжзийклмнорпстуфхцчшщъьыэюя",
    "АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ");
      return 
    strtoupper($content);
     }
    ?>


    strtolower()
    <?php
     
    function toLower($content) {
      
    $content strtr($content"АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ",
    "абвгдеёжзийклмнорпстуфхцчшщъьыэюя");
      return 
    strtolower($content);
     }
    ?>

    trent

  18.  Какие специфичные функции не работают под IIS?
    Привожу выбранные из маны, такой какой она была на момент 4.1.0
    По смыслу это список функций которыми не смогут пользоваться
    в связке IIS+PHP.

    apache-specific:
    -------------------------------------
    apache_lookup_uri()
    apache_note()
    ascii2ebcdic()
    ebcdic2ascii()
    getallheaders()
    virtual()
    apache_child_terminate()
    apache_setenv()

    not implemented on Windows platforms:
    -------------------------------------
    acosh()
    asinh()
    atanh()
    chgrp()
    chmod()
    chown()
    fileinode()
    fileowner()
    getmyinode()
    is_link()
    link()
    linkinfo()
    readlink()
    sem_get()
    sem_acquire()
    sem_release()
    shm_attach()
    shm_detach()
    shm_remove()
    shm_put_var()
    shm_get_var()
    shm_remove_var()
    symlink()
    umask()
    usleep()

    SeazoN

  19.  Имеется форма, где вносится текст с переносом строк, при выводе текста на страницу строки не переносятся, что делать?
    Дело в том, что при выводе страницы в общем случае игнорируются переносы строк, что бы начать с новой строки нужно вставить тег <br> или пару </p><p> по необходимости. Смотри функцию nl2br.
    Andy Ice, 2:5012/8.13

  20.  Как передать параметры скрипту, если он выполняется из командной строки?
    php.exe file.php "&pt=1"
    Alexey Kolesnichenko

  21.  Как выполнять свой скрипт с некоторой периодичностью (скажем каждый час)?
    Выполнять действия с какой-то периодичность может только программа которая работает все время. Обычно это операционка. Твой РHР-скрипт запускается тогда, когда обращаются к web-серверу (Apache) и живет обычно не больше чем time_limit. Как ты себе представляешь, что бы он делал что-то с периодичностью раз в час?
    Если уж сильно надо на РHР - запускай php.exe script.php -q >> out.log из at на HТ или из cron'а в юниксах.
    Alexey Sviridov, 2:5002/27.800

Оглавление FAQ

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.