{

Forum WEB_MASTER

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Forum WEB_MASTER » Уроки PHP,HTLM,CSS » PHP5 - Уроки


PHP5 - Уроки

Сообщений 1 страница 6 из 6

1

так, Вы установили PHP5 - теперь чему-нибудь научимся!

Я буду излагать материал максимально упрощенно, чтобы сразу перейти к пррограммированию.
По PHP5 издано куча книг - купите какую-нибудь и "углубляйтесь"!

PHP5 - Урок 1

1. Сценарии PHP начинаются тегом <?php и заканчиваются тегом ?>
Между этими тегами пишутся Операторы, разделенные точкой с запятой.
Выглядит это так :

<?php
Оператор1;
Оператор2;

. . .

ОператорN;
?>

2. Для однострочных комментариев используется тег #
Он "действует" от своего появления до конца строки или тега ?>

<?php
Оператор1;
Оператор2;
# Эту строку движок обрабатывать не будет, т.к. это комментарий
Оператор3;
Оператор4; # Оператор4 будет выполнен! Не сомневайтесь!
Оператор5;
. . .

ОператорN;
?>

3. Для вывода строк "напрямую" используется Оператор echo в следующей нотации :
echo [Строка в двойных кавычках];
Например, скрипт :

<?php
echo "Привет, Всем!"
?>

Привет, Всем! - и выведет на Экран. Попробуйте!

4. Переменные в PHP задаются с помощью знака доллара, за которым следует идентификатор,
который начинается либо с буквы (латинской), либо со знака подчеркивания, а дальше следует
любое число букв,цифр или подчеркиваний. Переменные хранят присвоенные им значения только
во время выполнения текущего Сценария.
Вот пример :

<?php
$User1="Админ"; # Переменной $User1 присваиваем значение т.е. строку "Админ"
$User2="Модер"; # и т.д.
$User3="Юзер";
$User4="Гость";
?>

<?php echo $User1; ?>
<?php echo $User2; ?>
<?php echo $User3; ?>
<?php echo $User4; ?>

В результате мы увидим, что все перечисленные Товарищи расположились на одной строке!

5. В Сценариях можно использовать теги HTML
Добавим в скрипт несколько HTML тегов
(для перевода строк <br> и для создания Заголовков <h>).
Выполните следующий Сценарий :

<?php
$User1="Админ"; # Переменной $User1 присваиваем значение т.е. строку "Админ"
$User2="Модер"; # и т.д.
$User3="Юзер";
$User4="Гость";
?>

<?php echo $User1; ?> <br/>
<?php echo $User2; ?> <br/>
<?php echo $User3; echo "<br/>"; ?>
<?php echo $User4; ?>

<h1> <?php echo $User1; ?> </h1>
<h2> <?php echo $User2; ?> </h2>
<h3> <?php echo $User3; ?> </h3>
<h4> <?php echo $User4; ?> </h4>

0

2

Надеюсь, что Вы уже купили книжку и все знаете о выводе строчек
в одиночных и двойных кавычках. (Шутка!)

PHP5 - Урок 2

Есть еще способ вывода строк в сценариях PHP

1. Вывод строк в синтаксисе heredoc (here-document).
В этой нотации строка начинается с <<< и какого-нибудь идентификатора и
заканчивается тем же самым идентификатором и символом точки с запятой.
Пусть наш идентификатор - Stroka, тогда вывод выглядит так :

echo<<<Stroka
. . .
Тут идет какой-то текст
. . .
Stroka

Важно : Первая строчка блока должна заканчиваться словом Stroka, а последняя
строчка блока должна начинаться и заканчиваться словом Stroka (и ничего лишнего!)

Внутри блока можно писать текст в нотации HTML
(и ни о чем не заботится, кроме сокрытия знака доллара)
Выполните Сценарий :

<?php
echo<<<PrintHTML

<p align="center">
Этот текст можно выводить совершенно <em>свободно</em>,
но надо "позаботится о переносе строк"!

<b> Также, можно <i>"легко"</i> использовать ТЕГИ HTML !</b>

ВО, КАК!
</p>

PrintHTML;
?>

Выполнили? Движок все в одну строку "положил"? Во, засранец!
Добавим в скрипт теги переноса строк и выполним :

<?php
echo<<<PrintHTML

<p align="center">
Этот текст можно выводить совершенно <em>свободно</em>,<br/>
но надо "позаботится о переносе строк"!<br/>

<b> Также, можно <i>"легко"</i> использовать ТЕГИ HTML !</b><br/>

ВО, КАК!
</p>

PrintHTML;
?>

Теперь, нормально! Но можно было так не "мучаться"!

2. А использовать встроенную функцию nl2br для переноса строк.
Она все переносит и даже пустые строки "понимает"!

<?php

# Сначала сохраним наш текст в переменной,

$NashText=<<<PrintHTML

<p align="center">
Этот текст можно выводить совершенно <em>свободно</em>,
но надо "позаботится о переносе строк"!

<b> Также, можно <i>"легко"</i> использовать ТЕГИ HTML !</b>

ВО, КАК!
</p>

PrintHTML;

# а затем выведем его на Экран функцией nl2br

echo nl2br($NashText);

?>

3. Для вывода значений переменных используйте фигурные скобки
(в строках с двойными кавычками и строках в нотации heredoc)

<?php
$Slovo1="Админ";
$Slovo2="Сайт";
$Slovo3="Детское Порно";
$Slovo4="ЧЕРТОВОЙ МАТЕРИ";

echo "{$Slovo1}истрация {$Slovo2}а за ссылки<br/>\n";

echo<<<BANNN
на {$Slovo3}<br/>
ЗАБАНИТ ВАС К {$Slovo4}!<br/>
BANNN

?>

4. Для однострочных комментариев можно использовать //,
точно также, как используется #

<?php

// Сам знак доллара в строках с двойными кавычками
// и строках в нотации heredoc выводится символами \$

echo "Курс (\$) на сегодня 25 рублей,<br/>\n";

echo<<<BANNN
а завтра \$ этот - 24 рубля стоить будет!<br/>
BANNN

?>

5. Функция var_dump - просто незаменима при отладке!
Она принимает результат любого допустимого выражения PHP,
а для строк выдает даже число символов в строке!

<?php
$Shislo1=123e-02;
$Shislo2=12345;
$Slovo3="К ЧЕРТОВОЙ МАТЕРИ!";

var_dump($Shislo1); echo "<br/>\n";
var_dump($Shislo2); echo "<br/>\n";
var_dump($Slovo3); echo "<br/>\n";

?>

0

3

PHP5 - Урок 3

НИКОГДА НЕ ДОВЕРЯЙТЕ ВВОДУ ПОЛЬЗОВАТЕЛЯ !!!

Сделаем html страничку, которая пошлет на Ваш Сервер сообщение о поле Юзера.
Сообщение должно прийти в виде gender=Male или gender=Female или gender=SheMale.
"Получит" его файл submit_form.php
Ничего другого формой не предусмотрено!

<html>
<head>
<title>А ты кто?</title>
</head>
<body>
<form action='submit_form.php' method='POST'>
<input type='radio' name='gender' value='Male'/> Мужчина<br/>
<input type='radio' name='gender' value='Female'/> Женщина<br/>
<input type='radio' name='gender' value='SheMale'/> Не знаю, еще!<br/>
<br/>
<input type='submit' value='submit'/>
</form>
</body>
</html>

Однако, Хакеру ничто не мешает содинится с веб-сервером и послать Вам что угодно!
Сделаем еще одну форму и "введем там Хакера".
Поместите текст (ниже) в текстовой файл gender_form.html

<html>
<head>
<title>А ты кто?</title>
</head>
<body>
<form action='submit_form.php' method='POST'>
<input type='radio' name='gender' value='Male'/> Мужчина<br/>
<input type='radio' name='gender' value='Female'/> Женщина<br/>
<input type='radio' name='gender' value='SheMale'/> Не знаю, еще!<br/>
<br/>
<input type='radio' name='gender' value='Virus'/> Хакер<br/>
<br/>
<input type='submit' value='submit'/>
</form>
</body>
</html>

Очевидно, что в целях безопасности нужно проверять ВСЕ, что мы получаем!
Напишем скрипт для проверки и поместим его в файл submit_form.php

<?php
switch($_POST['gender'])
{
case 'Male':
case 'Female':
case 'SheMale':
echo<<<GOOD
<p align='center'>
Поздравляем! Ты - {$_POST['gender']}
</p>
GOOD;
break;
default:
echo<<<BAD
<p align='center'>
<font color='red'>ВНИМАНИЕ!</font> Какая-то дрянь на Форум ломится!
</p>
BAD;
break;
}
?>

0

4

PHP5 - Урок 4

1. Массивы обычно создаются с помощью языковой конструкции array,
включающей необязательный список содержимого массива. Для каждого
добавляемого значения (value) можно определить ключ (key) с помощью
оператора key => value. Этот ключ будет либо целым значением, либо строкой.
Если ключ не определяется, то PHP использует целые ключи, начиная с 0

<?php
$Computer = array("Case" => "ASCOT 6XR8-PE/600 (V2.2) Super Silent Pro Active",
"Motherboard" => "ASUS P5Q Deluxe",
"Processor" => "Intel Core 2 Quad Q9550 [BOX]",
"Memory" => "Kingston DDR2 [KVR1066D2N7/1G]",
"Hard" => "Seagate Barracuda ES.2 [ST3750330NS]",
"VideoCard" => "ASUS EAH4850/HTDI/512M");
echo<<<TEXT
<h3 align="center">
Предлагается следующая конфигурация компа (под разгон)
</h3>
<p align="center">
<b>
1. Корпус (1 шт.) - {$Computer['Case']} <br/>
2. Мать (1 шт.) - {$Computer["Motherboard"]} <br/>
3. Процессор (1 шт.) - {$Computer["Processor"]} <br/>
4. Память (4 шт.) - {$Computer["Memory"]} <br/>
5. Хард (1 шт.) - {$Computer["Hard"]} <br/>
6. Видеокарта (1 шт.) - {$Computer["VideoCard"]} <br/>
</b>
</p>
TEXT;
?>

2. Для перебора всех элементов массива удобно пользоваться циклом

foreach (array as [key=>] value)
{ Тело цикла }

<?php
$Computer = array("Case" => "ASCOT 6XR8-PE/600 (V2.2) Super Silent Pro Active",
"Motherboard" => "ASUS P5Q Deluxe",
"Processor" => "Intel Core 2 Quad Q9550 [BOX]",
"Memory" => "Kingston DDR2 [KVR1066D2N7/1G]",
"Hard" => "Seagate Barracuda ES.2 [ST3750330NS]",
"VideoCard" => "ASUS EAH4850/HTDI/512M");
echo<<<TITLE
<h3 align="center">
Предлагается следующая конфигурация компа (под разгон)
</h3>
TITLE;

foreach ($Computer as $CompKey => $CompName)
{
echo<<<TEXT
<p align="center">
<b>
{$CompKey} - {$CompName} <br/>
</b>
</p>
TEXT;
}
?>

3. Ключевым механизмом, который используется для определения
рабочей среды, является суперглобальный массив $_SERVER
Выполните сценарий и изучите содержание массива :

<html>
<body>
<table width="100%" border="1">
<?php
foreach ($_SERVER as $key=>$value)
{
echo<<<EOT
<tr>
<td width="25%"
<b>$key</b>
</td>
<td>
$value
</td>
</tr>
EOT;
}
?>
</table>
<br/><br/>
</body>
</html>

4. Аналогично посмотрите суперглобальный массив $_POST
Поместите текст (ниже) в файл submit_form.php

<html>
<body>
<table width="100%" border="1">
<?php
foreach ($_POST as $key=>$value)
{
echo<<<EOT
<tr>
<td width="25%"
<b>{$key}</b>
</td>
<td>
{$value}
</td>
</tr>
EOT;
}
?>
</table>
<br/><br/>
</body>
</html>

и вызовите gender_form.html (из предыдущего урока)

5. А теперь реализуйте сценарий "посерьезнее" и самостоятельно
изучите, как он работает! (Это из книги Харрингтона)
Этот скрипт позволяет выбирать таблицы стилей для Вашей страницы.

Создайте Директорию ... \Apache2.2\htdocs\styles

Сохраните текст (ниже) в файл styles\default.css (таблицу стилей)

body { font-family: arial, verdana; font-size: small; margin: 0px; }
.box { background: red; border: 1px solid black; }
.box-title { text-align: center; color: white; font-weight: bold; }
.box-content { background: white; font-size: xx-small; padding: 10px; }
.menu { margin 5px; }
.menu-active { margin: 2px; padding: 5px; background: black; }
.menu active a { text-decoration: none; color: white; font-weight: bold; }
.menu inactive { margin: 2px; padding: 5px; background: #ccc; }
.menu inactive a { text-decoration: none; }

Сохраните текст (ниже) в файл styles\black_and_white.css

body { font-family: arial, verdana; font-size: small; margin: 0px; }
.box { background: #eee; border: 1px solid black; }
.box-title { background: white; text-align: center; font-weight: bold; }
.box-content { background: white; font-size: xx-small; padding: 10px; }
.menu { margin 5px; }
.menu-active { margin: 2px; padding: 5px; background: black; }
.menu active a { text-decoration: none; color: white; font-weight: bold; }
.menu inactive { margin: 2px; padding: 5px; background: #ccc; }
.menu inactive a { text-decoration: none; }

Сохраните текст (ниже) в файл inndex1.php

<html>
<head>
<?php
$style = "default";
if ( $_GET["style"])
$style = $_GET["style"];
$files = array();
$dh = opendir( "styles" );
while( $file = @readdir( $dh ) )
{
if( preg_match( "/[.]css$/", $file ) )
{
$file = preg_replace( "/[.]css$/", "", $file );
$files [] = $file;
}
}
?>
<style type="text/css" media="all">@import url(styles/<?php echo($style); ?>.css);</style>
</head>
<body>
<table width="100%">
<tr>
<td width="25%" class="menu" valign="top">
<div class="menu-active"><a href="home.php">Home</a></div>
<div class="menu-inactive"><a href="faq.php">FAQ</a></div>
<div class="menu-inactive"><a href="contact.php">Contact</a></div>
</td>
<td width="75%" valign="top">
<table class="box">
<tr>
<td class="box-title">
Важная Информация
</td>
</tr>
<tr>
<td class="box-content">
Всякие Сообщения
</td>
</tr>
</table>
</td>
</tr>
</table>
<form>
Style: <select name="style">
<?php foreach ( $files as $file ) { ?>
<option value="<?php echo($file); ?>"
<?php echo( $file == $style ? "selected" : "" ); ?>
><?php echo($file); ?></option>
<?php } ?>
</select>
<input type="submit" value="Select" />
</form>
</body>
</html>

0

5

PHP5 - Урок 5

1. Функции - это наиболее очевидный способ многократного использования кода!
Не будем-же мы, в самом деле, для каждой проги все по новой писать!
В PHP есть встроенные функции, есть функции, которые содержатся в подключаемых
модулях (библиотеках). И будут функции, которые Вы сами напишите и отладите.
Они то и будут вашим "багажом", как программиста!
Недавно мы установили Базу Данных MySQL. Для работы с этой Базой в PHP5
требуется библиотека функций php_mysql.dll (или php_mysqli.dll - более мощный
и продвинутый вариант!). Мы подключили эту библиотеку при настройке файла php.ini
и путем переноса самой библиотеки в Директорию WINDOWS (не самый лучший способ!)
В библиотеке php_mysql.dll есть функция с именем mysql_connect.
Давайте проверим - доступна ли сейчас эта функция ?
Выполните скрипт :

<?php

$si=function_exists("mysql_connect");
if ($si)
{
echo<<<EOM
Расширение php_mysql.dll корректно установлено!<br/>
EOM;
}
else
{
echo<<<EOM
Расширение php_mysql.dll - движку PHP не доступно!<br/>
EOM;
}

?>

Мы видим, что функция доступна, значит доступна и вся бивлиотека!

2. Функция в PHP определяется следующим образом :

<?php

function имя_функции ( [список параметров] )

{
[ тело функции ]
}

?>

Ключевое слово function говорит PHP, что это функция.
Затем следует имя функции, которое может быть любой комбинацией
алфавитно-цифровых символов и подчеркиваний, не начинающейся с цифры.
Список параметров может быть пустым.

<?php

function Prutkov1()
{
echo "Упорство - все преодолевает!<br/>\n";
}

function Prutkov2()
{
echo "Порой, упорство - преодолевает даже рассудок.<br/>\n";
}

Prutkov1(); # Это вывов функции Prutkov1
echo "<br/>";
Prutkov2(); # При вызове не забывайте "();" в конце поставить!

?>

3. Чтобы определить функцию с параметрами, надо при определении функции
поместить в скобки имена параметров, разделенные запятыми.
(После последнего параметра запятая не ставится!)

<?php

function PlusIt($M_Name,$F_Name,$Action)
{
echo "{$M_Name} + {$F_Name} = {$Action} !<br/>\n";
}

PlusIt("Саша","Даша","Любовь");

?>

4. В любом месте внутри функции можно остановить выполнение кода
с помощью оператора return. Он указывает PHP, что нужно остановить
выполнение кода текущей функции и вернуться в точку вызова.
Выполните скрипт (лучше ежедневно выполняйте!) и ответьте на вопрос :

Кем работает Миша, если Маша работает секретаршей?

<?php

function PlusIt($M_Name,$F_Name,$Action)
{
echo "{$M_Name} + {$F_Name} = {$Action}<br/>\n";
}

function work_work()
{
$WDay=date("w");
if ($WDay=='6' or $WDay=='0')
{
PlusIt("Миша","Маша","Привет!");
return;
}
PlusIt("Миша","Маша","Миньет!");
}

work_work();

?>

5. Все функции в PHP возвращают какое-нибудь значение.
Для возврата значения используется ключевое слово return.
С ним связывается выражение, значение которого и возвращается
в точку вызова при выходе из функции. Для тех функций,
где return [выражение] явно не задано - возвращается NULL
Значением выражения может быть любой (имеющий значение)
объект PHP (например, константа или вызов функции).
Предыдущий пример можно переписать так :
(Надеюсь, что Вы заметите разницу ...)

<?php

function PlusIt($M_Name,$F_Name,$Action)
{
echo "{$M_Name} + {$F_Name} = {$Action}<br/>\n";
}

function work_work()
{
$WDay=date("w");
if ($WDay=='6' or $WDay=='0')
{
return PlusIt("Миша","Маша","Привет!");
}
return PlusIt("Миша","Маша","Миньет!");
}

work_work();

?>

Ну, а теперь сделаем весьма полезную работу. Напишем функцию
MShow для вывода массивов в таблицу и с ее помощью перепишем
скрипт из последнего урока (см. пункт 4)

<html>
<body>
<?php
function MShow ($ScrMas)
{
foreach ($ScrMas as $key=>$value)
{
echo<<<EOT
<tr>
<td width="25%"
<b>$key</b>
</td>
<td>
$value
</td>
</tr>
EOT;
}
}
?>
<h3 align="center">Суперглобальный массив $_POST</h3>
<br/>
<table width="100%" border="1">
<?php MShow ($_POST); ?>
</table>
<h3 align="center">Суперглобальный массив $_GET</h3>
<br/>
<table width="100%" border="1">
<?php MShow ($_GET); ?>
</table>
<br/><br/>
</body>
</html>

0

6

PHP5 - Урок 6

Итак, Вы уже начали программировать ...
Пора подумать, где же хранить результаты своих трудов.
Пора в этом деле навести хоть какой-то порядок!

Будем сохранять скрипты (и всякие там "куски кода") в отдельных
файлах (которые будем называть библиотеками кода).
Потом мы сможем использовать эти библиотеки в различных сценариях.
Давайте присваивать этим файлам расширения .inc и хранить их где-нибудь
"подальше" от конечного пользователя. Заведите для них папку LIB.
(У меня, например, они хранятся в D:\WWW\PHP5\LIB\).

1. Конструкции include и require - это два основных способа включения
файлов в сценарий PHP. Основное различие между этими способами состоит
в том, что require выводит сообщение об ошибке, когда не может найти
файл, а include "ограничивается" предупреждением.

Обычно, страницы в Web-приложениях выглядят очень похоже. Выделим
"нечто" общее на этих страницах и сделаем два файла, которые потом
включим в наш сценарий :

Текст ниже поместите в файл page_top.inc, а сам файл в папку ...\LIB

Код
<html>
<head>
  <title><?php echo $page_title; ?></title>
</head>
<body>
  <p align="center">
   <font size="14">Мой это Сайт, короче!</font>
  </p>
<br/>
<hr width="80%" size="1"/>

Текст ниже поместите в файл page_bottom.inc, а сам файл в папку ...\LIB

Код
<br/>
<hr width="80%" size="1"/>
<p align="center">
  <font size="3">
    <b>Copyright (c) 2008 Вася Иванов в общем ... наверное ...</b>
  </font>
</p>
</body>
</html>

А теперь напишите сценарий и выполните его :
(Пути к файлам я пишу "как у меня". Вы свои пропишите, разумеется!)

Код
<?php

  $page_title = "Привет! Это главная страница.";

  require ("D:\WWW\PHP5\LIB\page_top.inc");

?>

<p align="center">
  <font size="5">
    Тут пишем всякую ерунду, которую искренне считаем
    <br/><br/>
    <b>Содержанием Главной Страницы!</b>
    <br/>
  </font>
</p>

<?php

  require ("D:\WWW\PHP5\LIB\page_bottom.inc"); 

?>

2. Включаемые файлы (так часто называют то, что мы рассматривали выше)
могут содержать другие включаемые файлы. При этом могут возникать
ошибки, если на какой-то включаемый файл ссылаются многократно.
От этих ошибок можно застраховаться, используя аналоги конструкций
include и require, соответственно, include_once и require_once.
Эти аналоги запоминают, какие файлы были уже загружены.
Так что, предпочтительнее использовать именно их!

Перепишите последний сценарий и выполните его :

Код
<?php

  $page_title = "Привет! Это главная страница.";

  require_once ("D:\WWW\PHP5\LIB\page_top.inc");

?>

<p align="center">
  <font size="5">
    Тут пишем всякую ерунду, которую искренне считаем
    <br/><br/>
    <b>Содержанием Главной Страницы!</b>
    <br/>
  </font>
</p>

<?php

  require_once ("D:\WWW\PHP5\LIB\page_bottom.inc"); 

?>

3. Константы являются способом связывания скалярного значения
со строковым идентификатором. Константы определяют с помощью
конструкции define, которая получает строку для имени константы
и скалярное выражение. Затем define создает эту костанту.
Имена констант подчиняются тем же правилам, что и имена переменных,
но они не должны начинаться со знака доллара! Значения констант
могут быть только 4-х типов : integer, float, string и Boolean.

В отличие от переменной константу ИЗМЕНИТЬ НЕЛЬЗЯ и
ПЕРЕОПРЕДЕЛИТЬ - тоже НЕЛЬЗЯ! (Надежная штука, в общем!)

Добавим в предыдущий сценарий константу INСLUDE_DIR, в которой
определим путь к нашей библиотеке включаемых файлов :

Код
<?php

  define('INСLUDE_DIR',"D:/WWW/PHP5/LIB/");
  $page_title = "Привет! Это главная страница.";

  require_once (INСLUDE_DIR."page_top.inc");

?>

<p align="center">
  <font size="5">
    Тут пишем всякую ерунду, которую искренне считаем
    <br/><br/>
    <b>Содержанием Главной Страницы!</b>
    <br/>
  </font>
</p>

<?php

  require_once (INСLUDE_DIR."page_bottom.inc"); 

?>

Примечание 1. Если кто еще этого не "изучил", то объясняю :
для объединения строк в PHP используется оператор точка (.)
(Страшно неудобно, по-моему, но что поделаешь!)

Примечание 2. При записи пути я поменял обратную косую черту на
прямую, т.к. Windows такое задание пути "прекрасно понимает"!

4. Существует оператор @, котрый приказывает PHP игнорировать
ошибку при вызове функции. Обычно, если происходит отказ вызова
функции что-то сделать, то PHP автоматически выводит в поток
вывода ошибку. Оператор @ предписывает PHP игнорировать ошибку
и продолжить обработку! Давайте воспользуемся этим оператором
и прочитаем содержание какой-нибудь директории :

Код
<?php
  define('INСLUDE_DIR',"D:/WWW/PHP5/LIB/");
  define('TEST_DIR',"D:/Program Files/Apache Software Foundation/Apache2.2/bin/");
  $page_title = "Привет! Это главная страница.";
  require_once (INСLUDE_DIR."page_top.inc");
?>

<p align="center">
  <font size="5">
    <b>
        Содержание директории <?php echo TEST_DIR; ?>
    </b>
    <br/>
  </font>
</p>

<p align="center">
  <font size="5">

    <?php
       $dir=opendir(TEST_DIR);
       if ($dir===FALSE)
         {
           echo "Не нашел я папки ".TEST_DIR;
         }
       else
         {
           while(($entry=@readdir($dir))!==FALSE)
             {
               echo $entry."<br/>";
             }
         }
    ?>

    <br/>
  </font>
</p>

<?php
  require_once (INСLUDE_DIR."page_bottom.inc"); 
?>

5. В заключение урока приведу несколько функций для работы
с типами данных PHP. Важнейшая вещь, как Вы понимаете!
Напишите (сами) несколько скриптов и научитесь применять
эти функции на практике. Поюзайте их, в общем! Итак :

а). Функция gettype сообщает тип данных переменной или выражения,
который движок PHP определил для них в данный момент.
Она возвращает следующие строковые значения :

- "boolean"
- "integer"
- "double" ( это вместо "float", по историческим причинам говорят!)
- "string"
- "array"
- "object"
- "resource"
- "NULL"
- "unknown type"

Собственно, это и есть все типы данных, которыми оперирует PHP!

б). На практике чаще применяют группу функций is_type, функции которой
возвращают булево значение, указывающее на "соответствие типов" :

- is_integer
- is_float
- is_numeric (возвращает TRUE, если аргумент float, infeger или числовая строка)
- is_string
- is_bool
- is_array
- is_object
- is_null

в). Функция settype получает два аргумента : переменную для преобразования
и представленный строкой тип, в который эта переменная должна быть
преобразована. Функция возвращает булево значение, которое указывает,
было ли преобразование типа ваполнено успешно или нет.
Сама переменная модифицируется. Например :

Код
<?php

  $variable=123.456;
  echo "\$variable сейчас должна быть float. Проверим :<br/>";
  var_dump($variable); echo "<br/><br/>";

  settype($variable,"string");

  echo"\$variable из float должна была \"преобразоваться\" в строку.
        Проверим :<br/>";
  var_dump($variable); echo "<br/>";

?>

г). На практике чаще используют т.н. явное преобразование типов.
Для этого необходимо записать перед переменной (или любым выражением)
название типа в скобках :

- (int), (integer) - выполняет приведение к целому числу;
- (float), (double), (real) - к числу с плавающей точкой;
- (string) - выполняет приведение к текстовой строке;
- (bool), (boolean) - к булеву значению;
- (array) - выполняет приведение к массиву;
- (object) - выполняет приведение к объекту.

Выполните скрипт :

Код
<?php

  $variable=123.456;
  echo "\$variable сейчас должна быть float. Проверим :<br/>";
  var_dump($variable); echo "<br/><br/>";

  $var_change=(string)$variable;

  echo"\$variable должна \"остаться\" float. Проверим :<br/>";
  var_dump($variable); echo "<br/><br/>";

  echo"А вот \$var_change должна быть стокой. Проверим :<br/>";
  var_dump($var_change); echo "<br/><br/>";

?>

Явное преобразование типов имеет много ньюансов для каждого
конкретного типа данных. Разбирайтесь, если потребуется!

Но теперь (надеюсь) Вам легче станет ориентироваться в PHP-скриптах!

0


Вы здесь » Forum WEB_MASTER » Уроки PHP,HTLM,CSS » PHP5 - Уроки