Как сохранять ваши php страницы
Понятие Веб сервера. Синтаксис языка PHP
Веб-сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.
Веб-серверы – основа Всемирной паутины.
Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и компьютер, на котором это программное обеспечение работает.
Клиенты получают доступ к веб-серверу по URL адресу нужной им веб-страницы или другого ресурса.
Дополнительными функциями многих веб-серверов являются:
· ведение журнала обращений пользователей к ресурсам;
· аутентификация пользователей;
· поддержка динамически генерируемых страниц;
· поддержка HTTPS для защищённых соединений с клиентами.
HTTPS — расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTP, «упаковываются» в криптографический протокол SSL или TLS, тем самым обеспечивается защита этих данных.
В отличие от HTTP, для HTTPS по умолчанию используется TCP порт 443 (для незащищенного HTTP — 80). Эта система была разработана компанией Netscape Communications Corporation, чтобы обеспечть аутентификацию и защищенное соединение.
HTTPS широко используется в мире Веб для приложений, в которых важна безопасность соединения, например, в платежных системах. Это обеспечивает защиту от атак, основанных на фальсификации либо прослушивании среднего уровня сетевого соединения
В настоящее время HTTPS поддерживается наиболее популярными браузерами.
Вообще https не явлется отдельным протоколом. По сути это обычный HTTP, работающий через шифрованные транспортные механизмы SSL и TLS. Это обеспечивает защиту от атак, основанных на фальсификации либо прослушивании среднего уровня сетевого соединения — т. н. man-in-the-middle (например, от снифферских атак).
Недостатком использования HTTPS является длина ключа - всего 40, 56, или 128 бит. По мнению большинства специалистов по информационной безопасности, сегодня надежной длиной ключа может быть длина, сравнимая с 1024 бит. Поэтому длина ключа даже в максимальные 128 бит HTTPS явно недостаточна. Кроме того, большинство браузеров использует длину ключа 40 бит(пример тому — IE). Это связано с экспортными ограничениями в США. И, следовательно, не следует считать, что HTTPS обеспечивает достойный уровень шифрования. Но такое шифрование значительно затрудняет злоумышленнику поиск паролей и другой личной информации.
На сегодня двумя наиболее распространёнными веб-серверами, вместе занимающими около 90 % рынка, являются:
• Apache — свободный веб-сервер, наиболее часто используется в Unix-подобных ОС.
• IIS от компании Microsoft, распространяется с ОС семейства Windows NT.
В качестве клиентов для обращения к веб-серверам могут использоваться совершенно различные устройства:
Веб-браузер — самый распространенный способ
Специальное программное обеспечение может самостоятельно обращаться к веб-серверам для получения обновлений или другой информации
Мобильный телефон может получить доступ к ресурсам веб-сервера при помощи протокола WAP
Другие интеллектуальные устройства или бытовая техника
PHP программы
Программы PHP могут выполняться двумя способами: как сценарное приложение Web-сервером и как консольные программы. Поскольку, нашей задачей является программирование web-приложений, мы преимущественно будем рассматривать первый способ.
Дело в том, что PHP, как правило, используется сугубо для программирования приложений, связанных с Интернетом. Однако, PHP можно еще использовать в качестве интерпретатора командной строки, в основном в *nix-системах. Последнее возможно при помощи CORBA и COM интерфейсов, а также при помощи расширения PHP-GTK. При таком использовании PHP возможно решение следующих задач:
· создание приложений интерактивной командной строки;
· создание кросс-платформенных GUI приложений при помощи библиотеки PHP-GTK;
· автоматизация некоторых задач под Windows и Linux
Рассмотрим процесс выполнения php-сценария при обращении браузера к серверу. Итак, вначале браузер запрашивает страницу с расширением .php, после чего web-сервер пропускает программу через машину PHP и выдаёт результат в виде html-кода. Причем, если взять стандартную страницу HTML, изменить расширение на .php и пропустить её через машину PHP, последняя просто перешлёт её пользователю без изменений. Чтобы включить в этот файл команды PHP, необходимо заключить команды PHP в специальные теги, которых различают 4 вида (они эквивалентны и можно использовать любые):
1. Инструкция обработки XML:
2. <?php
3. ...?>
4. Инструкция обработки SGML:
5. <?
6. ...?>
7. Инструкция обработки сценариев HTML:
8. <scriptlanguage = "php">
9. ...</script>
10. Инструкция в стиле ASP:
11. <%
12. ...%>
Мы будем придерживаться стиля XML или SGML.
Вообще говоря, внутри какого-либо блока кода можно выйти из PHP, при условии, что дальше мы войдем в него снова и закончим код (Подробнее об этом смотрите в гл.2.). Т.е., возможна следующая конструкция:
<?
if(5<3){
echo("<p>Hello, world!<p>");
?>
<p>Hello!</p>
// эта строка не интерпретируется как код PHP
// и выводится только если блок кода выполняется
<?
echo("<p>Hello, world!<p>");
}
?>
Команда echo в PHP применяется для вывода фактически всего, что встречается на web-страницах (текст, разметку HTML, числа). Смысл ее действия, мы думаем, понятен из приведенного примера.
PHP — Синтаксис
Прежде чем мы поговорим о синтаксисе PHP, давайте сначала определим, что имеется ввиду под словом синтаксис.
Синтаксис — правила, которые необходимо соблюдать, чтобы писать правильно структурированный код.
Синтаксис PHP и его семантика похожи на большинство других языков программирования (C, Java, Perl). С той лишь разницей, что код PHP встраивается в html разметку страницы. Весь код PHP должны содержаться в следующих тегах:
<?php
?>
Или просто:
<?
?>
Если вы не хотите проблем, то пишете по стандартной форме (т.е. ?php), а не в сокращенном виде. Это гарантирует, что ваши скрипты будут работать на серварах с разными настройками.
Как сохранять ваши PHP страницы
Если у вас есть PHP код, который включен в HTML и вы хотите, чтобы браузер интерпретировал все правильно, то вы должны сохранить файл с расширением .php, вместо стандартного .html. Так что не забудьте проверить, что вы сохраняете файлы правильно. Например, вместо index.html должно быть index.php.
Пример простой html страницы с PHP кодом
Ниже приведен пример простой странички, которая содержит в себе php код. Вы можете брать ее за основу для своих проектов:
<html>
<head>
<title>My First PHP Page</title>
</head>
<body>
<?php
echo "Hello World!"
?>
</body>
</html>
Вот что мы получим в результате:
Hello World!
Если вы сохраните этот файл (например, helloworld.php) и закинете его на сервер с поддержкой PHP, а затем загрузите ее в браузере, то вы должны увидеть надпись «Hello World!». Если этого не произошло, пожалуйста, проверьте, что Вы все сделали правильно и четко следовали примеру. Или задавайте вопросы в комментариях.
Мы использовали команду echo, чтобы написать «Hello World!». Конечно, мы вернемся к этой команде чуть позже, в следующих уроках.
Точка с запятой!
Как вы можете заметить, в приведенном выше примере не было точки с запятой после строки кода PHP. Точка с запятой означает конец операции в PHP и никогда не стоит о ней забывать. Например, если бы мы повторили нашу команду вывода надписи «Hello World!» несколько раз, то мы должны поставить точку с запятой в конце каждой строки.
<html>
<head>
<title>My First PHP Page</title>
</head>
<body>
<?php
echo "Hello World! ";
echo "Hello World! ";
echo "Hello World! ";
echo "Hello World! ";
echo "Hello World! ";
?>
</body>
</html>
Результат:
Hello World! Hello World! Hello World! Hello World! Hello World!
Пробелы
Как и в HTML, пробелы между PHP выражениями игнорируются. То есть если в коде 20 пустых строк, например, для форматирования, то ничего страшного, они не будут видны в результате. Так же как и табуляция (Tab).
<html>
<head>
<title>My First PHP Page</title>
</head>
<body>
<?php
echo "Hello World!";
echo "Hello World!";
?>
</body>
</html>
Результат:
Hello World!Hello World!
Итог. Мы научились встраивать php код в html страницу, сохранять с соответствующим расширением ‘.php’. Рассмотрели несколько примеров построения страницы, а том числе и с использованием команды echo.
Комментарии
PHP предоставляет несколько методов для вставки комментариев. Проще всего пользоваться двойнымслэшем в стиле языка С++ (//), после чего PHP машина игнорирует все, что расположено до конца строки. Также можно пользоваться многострочными комментариями в стиле С (/*…*/). Для однострочных комментариев можно еще пользоваться символом решетки (#) (комментарий скриптовых языков UNIX).
<php
echo("<p>Hello</p>"); // комментарий
echo("<p>Hello</p>"); # комментарий
/*
и это тоже комментарии
*/
?>
Следует помнить о том, что стили комментариев PHP действуют только внутри ограничителей PHP. Если PHP встретит эти символы комментариев вне ограничителей, то они, как и любой текст, будут помещены на html-страницу. Например:
<php
echo("<p>Hello</p>"); // нормальный комментарий
?>
// а вот этот комментарий отобразиться браузером.
<!-- Комментарий HTML.
Будет виден в исходном коде HTML, но не в браузере -->
Заметим, что комментарии можно вставлять не только после конца оператора, а, например, и вот так:
<?
$a = "Hello, world";
echostrstr
($a,"H");// эту функцию мы рассмотрим позднее
?>
Переменные
В РНР переменные начинаются со знака доллара ($), за которым может следовать любое количество буквенно-цифровых символов и символов подчеркивания, но первый символ не может быть цифрой. Таким образом, допустимы следующие имена переменных: $n, $n1, $user_func_5 и т. д. В отличие от ключевых слов, имена пе-ременных в PHP чувствительны к регистру, т. е. переменные $user, $User и $USER являются различными.
<?php
$user = "Владимир";
$User = "Дмитрий";
$USER = "Юрий";
echo $user; // Владимир
echo $User; // Дмитрий
echo $USER; // Юрий
?>
При объявлении переменных в РНР не требуется явно указывать тип переменной, при этом одна и та же переменная может иметь на протяжении программы разные типы.
Как видно из предыдущего листинга, для присвоения значения переменной необходимо воспользоваться оператором присвоения =, который позволяет инициализировать переменную. При объявлении числовых значений в качестве разделителя целого значения и дробной части выступает точка.
<?php
$number = 1;
$var = 3.14;
?>