Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Установка дополнительных модулей




Практика PHP и MySQL

 

СОДЕРЖАНИЕ

Тема № 1. Установка Apache+PHP+MySQL. 2

Тема № 2. Введение в PHP, управляющие операторы, формы. 6

Тема № 3. Функции. Подключение файлов. 13

Тема № 4. Самостоятельная работа. 15

Тема № 5. Контрольная работа. 16

Тема № 6. Массивы. 17

Тема № 7. Самостоятельная работа: массивы+сортировка. 22

Тема № 8. Функции для работы с датой и временем. 23

Тема № 9. Функции для работы со строками. 24

Тема № 10. Файлы и директории. 26

Тема № 11. Загрузка клиентом файлов на сервер. 30

Тема № 12. Регулярные выражения. 31

Тема № 13. Cookies. 37

Тема № 14. Сессии. 39


Тема № 1. Установка Apache+PHP+MySQL.

 

Этап первый - установка

  • Установите в d:\Apache.
  • Тип установки - Typical

Этап второй: настройка файла конфигурации Apache

На этом этапе Вам нужно определиться с директорией, в которой будут храниться ваши сайты. По умолчанию Apache использует для этого D:\Apache\htdocs, где сразу после установки можно найти документацию по серверу.

  • Создайте директорию D:\www, а в ней - будет храниться содержимое главного хоста Apache - того, который доступен по адресу http://localhost.
  • Откройте файл конфигурации httpd.conf, который расположен d:\Apache\conf

Для начала мы настроим параметры для главного хоста Apache - localhost, а также параметры по умолчанию, которые будут унаследованы всем остальными виртуальными хостами.

  • Установите поле ServerName следующим образом:

ServerName localhost

  • В поле DocumentRoot укажите ту директорию, в которой будут храниться ваши html-файлы.

DocumentRoot "d:/www"

  • Найдите блок, начинающийся строкой <Directory /> и заканчивающийся </Directory> (вообще, такие блоки обозначают установки для заданной директории и всех ее поддиректорий). Этот блок может содержать множество комментариев - не обращайте на них внимания. Его нужно изменить на такой блок:

<Directory d:/www/>

Options Indexes Includes

AllowOverride All

Allow from all

</Directory>

 

Таким образом, в этом блоке будут храниться установки для всех директорий по умолчанию (т.к. это - корневая директория). А именно, для всех директорий по умолчанию устанавливается возможность автоматической генерации индекса - списка содержимого директории при просмотре ее в браузере, а также поддержка SSI и разрешение использовать файлы.htaccess для индивидуальных настроек каталогов.

  • Найдите аналогичный блок, начинающийся <Directory "D:/Apache/htdocs"> и заканчивающийся </Directory>. Там будет много комментариев, не обращайте на них внимание. Этот блок Вам нужно удалить, так как все настройки для директории со страничками должны наследоваться от настроек по умолчанию, которые мы только что установили.
  • Установите DirectoryIndex так:

DirectoryIndex index.htm index.html index.php

  • Это - так называемые файлы индекса, которые автоматически выдаются сервером при обращении к какой-либо директории, если не указано имя html-документа. В принципе, можно добавить сюда и другие имена, например, index.php, и т.д.

Тестирование Apache

Для запуска сервера нажмите Пуск, затем Программы, Apache Web Server, Management и Start Apache, при этом появится окно, очень похожее на Сеанс MS-DOS, и ничего больше не произойдет. Не закрывайте его и не трогайте до конца работы с Apache.

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

  • Запустите Сеанс MS-DOS.
  • Наберите такие команды DOS:
  • d:
  • cd d:\Apache
  • apache.exe

Если до этого Apache не запускался, то Вы получите сообщение об ошибке и номер строки в httpd.conf, где она произошла. Исправьте httpd.conf и повторите описанный процесс сначала, до тех пор, пока в окне не отобразится что-то вроде "Apache/1.3.14 (Win32) running..."

Теперь проверим, правильно ли мы настроили директории для документов.

Проверка html.

В директории d:/www с html-документами Apache создайте файл index.html с любым текстовым содержанием. Теперь запустите браузер и наберите:

http://localhost/index.html

или просто

http://localhost/

Должен загрузиться Ваш файл.

Установка PHP версии 4

Установка PHP

  • Запустите exe-файл. нажмите кнопку Next -> I Agree.
  • В появившемся диалоговом окне выберите тип установки Standard.
  • Теперь укажите директорию, в которую будет установлен PHP: d:\PHP.
  • Задайте адрес вашего SMTP-сервера, а также Ваш адрес электронной почты. Именно этот сервер и обратный адрес будут использованы для исходящих почтовых запросов, когда вызывается функция Mail() языка PHP. В общем, это тот самый сервер, через которого отсылает почту Ваш обычный почтовый клиент - например, Outlook Express. Впрочем, можете и оставить в текстовых полях значения по умолчанию - в этом случае функция Mail() просто не будет работать на локальной машине.
  • Выберите сервер, на который будет настроен PHP. В нашем случае это - Apache.

Нам осталось только настроить Apache, чтобы он мог распознать PHP-скрипты, а также установить дополнительные модули, которые содержатся в скачанном нами zip-архиве.

Настройка Apache для работы с PHP

  • Откройте файл конфигурации Apache httpd.conf, в директории d:\Apache\conf.
  • Найдите в нем такую закомментированную строку:

#AddType application/x-httpd-php php

Раскомментируйте ее. Таким образом, мы присвоили всем файлам с расширением php тип application/x-httpd-php. Сразу же после этой строки добавьте такие настройки:

ScriptAlias /_php/ "d:/PHP/"

Action application/x-httpd-php "/_php/php.exe"

Этим мы, во-первых, создаем синоним _php для директории с процессором PHP, чтобы Apache мог получить к нему доступ, а во-вторых, связываем все файлы с типом application/x-httpd-php с обработчиком php.exe. Перезапустите Apache/

Тестирование PHP

Давайте теперь убедимся, что PHP-скрипты работают. Для этого создадим в директории d:/www файл test.php со следующим содержанием:

<?

echo "It works!<br>\n";

phpinfo();

?>

Теперь наберите в браузере: http://localhost/test.php.

Установка дополнительных модулей

Разархивируйте zip-архив прямо в ту же самую директорию, где уже установлен PHP (в нашем примере это C:\Program Files\PHP4). Некоторые файлы перепишутся поверх, некоторые - добавятся. В частности, появится директория extensions, как раз и содержащая практически все необходимые модули.

  • Теперь нужно дать знать PHP, какие модули он может использовать, а также сделать еще некоторые настройки. Для этого откройте в Блокноте файл php.ini в директории с файлами Windows (обычно C:\WINDOWS). Этот файл был помещен туда программой установки PHP. Файл представляет собой набор строк, в каждой из которых устанавливается значение одного параметра. Части строк, расположенные после символа ";", рассматриваются как комментарии и игнорируются.
  • Найдите параметр magic_quotes_gpc и установите его так:

magic_quotes_gpc=Off

Этим мы запрещаем PHP принудительно вставлять обратные слэши перед некоторыми символами, приходящими из формы.

  • Теперь найдите и настройте следующий параметр:

extension_dir=d:\PHP\extensions

Этим мы говорим PHP, что модули он должен искать в директории d:\PHP\extensions, то есть как раз там, где нужно. Обратите внимание на то, что по умолчанию в этом параметре стоит значение "./", то есть в той же самой директории, что и PHP. Это, конечно же, неправильно.

  • Найдите закомментированные строки, которые начинаются с;extension=. Вам предстоит раскомментировать те из них, которые соответствуют нужным нам модулям. Поддержка MySQL и календарных функций уже встроена в PHP.
  • Не забудьте сохранить изменения в файле php.ini. Чтобы изменения вступили в силу, перезапускать Apache не нужно, ведь мы установили PHP не как модуль сервера, а как отдельную программу.

Установка MySQL

  • Запустите setup.exe из только что разархивированного дистрибутива. Нажмите кнопку Next.
  • В появившемся окне с информацией снова нажмите Next. Появится диалог с запросом о выборе директории для MySQL. По умолчанию предлагается C:\mysql, но будет удобнее использовать d:\MySQL. Установите эту директорию и нажмите Next.
  • Выберите тип установки Typical. Начнется копирование файлов MySQL. Дождитесь его окончания. MySQL установлена.
  • Для того, чтобы активизировать MySQL-сервер, запустите файл d:\MySQL\bin\mysqld.exe. Можете сделать для него ярлык, однако, так как обычно MySQL запускается "в связке" с Apache, будет логично создать bat-файл, который будет запускать и Apache, и MySQL. Назовем его server.bat и расположим в корневом каталоге диска Z:. Вот содержание этого файла:
  • @echo off
  • "C:\Program Files\MySQL\bin\mysqld"
  • start /m "C:\Program Files\Apache Group\Apache\Apache"

Тестирование MySQL

Давайте теперь проверим, все ли работает. Для начала запустите наш файл server.bat, чтобы активизировать сервер. Создайте такой PHP-скрипт с именем mysql.php в директории d:\www.

<?

define("DBName","test");

define("HostName","localhost");

define("UserName","root");

define("Password","");

if(!mysql_connect(HostName,UserName,Password))

{ echo "Не могу соединиться с базой ".DBName."!<br>";

echo mysql_error();

exit;

}

mysql_select_db(DBName);

// Создаем таблицу t. Если такая таблица уже есть,

// сообщение об ошибке будет подавлено, т.к.

// используется "@"

@mysql_query("create table t(id int,a text)");

// Вставляем в таблицу 10 записей

for($i=0; $i<10; $i++)

{ $id=time();

mysql_query("insert into t(id,a) values($id,'Стр$i!')");

}

// Выводим все записи

$r=mysql_query("select * from t");

for($i=0; $i<mysql_num_rows($r); $i++)

{ $f=mysql_fetch_array($r);

echo "$f[id] -> $f[a]<br>\n";

}

?>

Теперь наберите в браузере:

http://localhost/mysql.php

Если все установилось правильно, Вы должны получить несколько строк вывода без сообщений об ошибках. При каждом запуске в таблицу t добавляются новые строки, так что с каждым нажатием кнопки Обновить в браузере объем вывода будет все увеличиваться.

Обращаю ваше внимание на константы DBName, HostName, UserName и Password. DBName должен содержать имя базы данных (в нашем случае это test, база данных, которая создается MySQL по умолчанию). HostName - всегда localhost, ведь мы работаем на локальном компьютере. В определении UserName проще всего подставлять root, который является собственником всех таблиц. При установке MySQL пользователю root не назначается пароль, так что константа Password равна пустой строке.

 

 


Тема № 2. Введение в PHP, управляющие операторы, формы.

Код РНР может быть включен в страницу одним из трех способов:

<?php код?> <?код?> <%код%>

Простейший пример РНР-кода:

<?php echo "Hello, world!"; print "Hello, world again!";?>

В PHP имена переменных начинаются с символа $. $a = 5

Тип переменных обнаруживается автоматически. Например:

$a = 5; //Заставляет $a стать переменной типа INTEGER. $a = 5.0; //Заставляет $a стать переменной типа DOUBLE. $a = " 5"; //Заставляет $a стать переменной типа STRING. $a=1; /* глобальная переменная */function Test () { echo $a;/* ссылка на локальную переменную */ } Test(); $a=1; $b=2;function Sum () { global $a,$b; $b = $a + $b;}Sum();echo $b;

 

Статическая переменная существует только в локальной области видимости, но при этом не теряет своего значения, когда выполнение программы оставляет эту область.

function Test () { static $a=0; echo $a; $a++;}

 

Для создания констант необходимо использовать функцию define():

define("RED", "#FF0000");

Кроме этого PHP содержит несколько встроенных констант. Например, определены константы TRUE со значениями "истина"(1) и FALSE со значениями "ложь"(0 или пустая строка). Константа PHP_VERSION указывает на версию анализатора PHP. Константа PHP_OS указывает операционную систему. __FILE__ содержит имя файла и __LINE__ содержит номер текущей строки в файле, который выполняется.

Вам еще пригодится знание оператора конкатенации строк: точку (.) Он используется для соединения двух или более строковых значений в одну строку.

$str = "World"; echo "Hello, ".$str."!";

 

Оператор условий if имеет несколько реализаций в PHP.

Привычная для вас форма if:

if($city == "Odessa") { echo ("In Odessa");} else{ echo ("In some city");}

И вторая форма, удобная в том случае, если Вам необходимо вставить HTML-код:

if($s == "guest"): echo ("Be my guest!");else if ($s == "admin"): echo ("Hello to me");endif;

 

И еще один пример для того, чтобы показать, как вставить HTML-код

<? if($s == "guest"):?> <h1>Be my guest!");</h1><? endif;?>

Также можно использовать оператор switch, очень похожий на эквивалентный оператор в C.

$a=0; switch($a) { case 1: echo "a is 1"; break; case "hello": echo "a is hello"; break; default: echo "a is unknown"; break; }

И еще один пример, который показывает существенное отличие данного оператора в PHP от эквивалентного в С (можно использовать переменные):

$a = 7.8; $b = 7.2; $res = 7.8;switch ($res) { case $a: echo $res; break; case $b: echo "wow"; break;}

То же самое может быть получено с switch(); endswitch;.

В PHP мы опять встречаем знакомый уже оператор while. Он также имеет два вида:

Привычный вам while() и while(): endwhile;

$a=0; while($a <100) { $a++; echo $a; }либо $a=0; while($a <100): $a++; echo $a; endwhile;

Также есть оператор do { } while(), использование которого нет нужды подробно объяснять.

И последний оператор - for опять таки имеет две формы:

for($i = 0; $i < 10; $i++){ echo ($i); }илиfor($i = 10; $i > 0; $i--): echo ($i);endfor;
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...