Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Dizayn_gos(Ответы).doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.63 Mб
Скачать

Заметки

Чтобы закрыть окно - используйте вызов window.close:

newWin.close()

Чтобы показать новое окно посетителю - используйте вызов window.focus:

newWin.focus()

  1. Напишите PHP-страницу, которая выводит факториал числа, переданного в качестве дополнительного параметра при вызове этой страницы.

пишем страницу factorial.php <?php $f = $_GET['f']; function factorial($n) { if ($n == 0) { return 1; } else { return $n * factorial($n - 1); } } for ($n = 0; $n <= $f; $n++) { echo($n . "! = " . factorial($n) . "<br>"); } ?> И запускаем эту страницу на сервере (например, test.com) с параметром, от которого нужно посчитать факториал. Например, http://test.com/factorial.php?f=16 посчитает и выведет факториал от 16

  1. Напишите PHP-страницу, которая разбивает строку, переданную ей в качестве параметра на отдельные слова и выводит эти слова в отдельных ячейках таблицы.

пишем страницу string.php <?php $s = urldecode($_GET['s']); $string_fragments = explode(' ',$s); // разбиваем строку по пробелу на массив echo '<table border="1"><tr>'; foreach($string_fragments as $fragment)  { echo '<td>' . $fragment . '</td>'; } echo '</tr></table>'; ?> И запускаем эту страницу на сервере (например, test.com) с параметром. Например, http://test.com/string.php?s=I love you выведет три слова строки в отдельных ячейках таблицы (последовательность %20 кодирует в URL пробел, поэтому в коде используется декодирование URL)

(в примере URL вконтакт сам заменил процент-двадцать на пробелы, обрати на это внимание, надо исправить)

  1. Напишите PHP-страницу, которая печатает строку, переданную ей в качестве параметра, заменив в ней все буквы «а» на буквы «о».

пишем страницу stringAO.php <?php echo str_replace( 'a', 'o', urldecode($_GET['s']) ); ?> И запускаем эту страницу на сервере (например, test.com) с параметром. Например, http://test.com/stringAO.php?s=a1 a2 a3 выведет строку o1 o2 o3 (последовательность %20 кодирует в URL пробел, поэтому в коде используется декодирование URL)

  1. Проиллюстрируйте разницу между операторами require и include в PHP.

Конструкция включений require

Конструкция require позволяет включать файлы в PHP сценарий до выполнения сценария PHP. Общий синтаксисrequire такой:

require имя_файла;

При запуске (именно при запуске, а не при исполнении!) программы интерпретатор просто заменит инструкцию на содержимое файла имя_файла (этот файл может также содержать сценарий на PHP, обрамленный, как обычно, тэгами <? и ?>). Причем сделает он это непосредственно перед запуском программы (в отличие от include, который рассматривается ниже). Это бывает довольно удобно для включения в вывод сценария различных шаблонных страниц HTML-кодом. Приведем пример:

Файл header.html: <html> <head><title>It is a title</title></head> <body bgcolor=green>

Файл footer.html: © Home Company, 2005. </body></html>

Файл script.php <?php require "header.htm"; // Сценарий выводит само тело документа require "footer.htm"; ?>

Таким образом, конструкция require позволяет собирать сценарии PHP из нескольких отдельных файлов, которые могут быть как html-страницами, так и php-скриптами.

Конструкция require поддерживает включения удаленных файлов (начиная с версии PHP 4.3.0). Например:

<?php // Следующий пример на работает, поскольку пытается включить локальный файл require 'file.php?foo=1&bar=2'; // Следующий пример работает require 'http://www.example.com/file.php?foo=1&bar=2'; ?>

! Конструкция require позволяет включать удаленные файлы, если такая возможность включена в конфигурационном файле PHP.

Включения удаленных файлов

PHP позволяет работать с объектами URL, как с обычными файлами. Упаковщики, доступные по умолчанию, служат для работы с удаленными файлами с использованием протокола ftp или http.

Если "URL fopen-оболочки" включены в PHP (как в конфигурации по умолчанию), вы можете специфицировать файл, подключаемый с использованием URL (через HTTP), вместо локального пути. Если целевой сервер интерпретирует целевой файл как PHP-код, переменные могут передаваться в подключаемый файл с использованием URL-строки запроса, как в HTTP GET. Строго говоря, это не то же самое, что подключение файла и наследование им области видимости переменных родительского файла; ведь скрипт работает на удалённом сервере, а результат затем подключается в локальный скрипт.

Для того, чтобы удаленное включение файлов было доступно, необходимо в конфигурационном файле (php.ini)установить allow_url_fopen=1.

Обратите внимание: Версии PHP для Windows до PHP 4.3.0 не поддерживают возможность использования удаленных файлов этой функцией даже в том случае, если опция allow_url_fopen включена.

<?php /* Здесь предполагается, что www.example.com сконфигурирован для разбора .php   * файлов, а не .txt файлов. Также 'Works' здесь означает, что переменные   * $foo и $bar доступны в подключённом файле. */ // Не будет работать, так как file.txt не обрабатывается www.example.com как PHP require 'http://www.example.com/file.txt?foo=1&bar=2'; // Не будет работать, поскольку ищет файл 'file.php?foo=1&bar=2' в локальной // файловой системе. require 'file.php?foo=1&bar=2'; // Следующий пример работает: require 'http://www.example.com/file.php?foo=1&bar=2'; $foo = 1; $bar = 2; require 'file.txt';  // Работает require 'file.php';  // Работает ?>

Смотрите также удаленные файлы , описание функций fopen() и file() для получения дополнительной информации.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]