Перейти к содержимому

  •  

Фотография

Уроки PHP для начинающих


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 24

#1 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 22 Февраль 2016 - 03:16

Доброго времени суток госпада, вот решил сделать собственный урок по php языку программирования.

Уроки будут выходить выпусками по 1,2,3 урока. прозьба не засерать пост  сгрупыми коментариями,  а у кого появятся вапросы вы можете задать их мне в личку.
Спосибо за понимание.
 
И так приступит "Введение" 

Каждый, кто всерьез хочет зарабатывать в сети, должен знать хотя бы основы php. Не обязательно быть в нем профессионалом и днями напролет писать тонны кода. Достаточно ознакомиться с этим языком и он ни раз вам пригодится. Элементарно что-то подправить на блоге даже с установленной CMS вы не сможете, если не знаете азов php. Именно поэтому я написал для вас хорошие уроки по php, которые быстро введут вас в курс дела!

Начинайте с первого урока и двигайтесь с удобной для вас скоростью:

 


  • 田mrx это нравится


Поблагодарили 1 Пользователь:
MRX

#2 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 22 Февраль 2016 - 03:22

Урок 1. 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, к которой мы обязательно вернемся чуточку позже. Ну все, практикуйтесь и переходите к следующему уроку!

 

Если тема вам нравится и можно продолжать выкидывать уроки.. жми "Нравится"


  • 田mrx это нравится

#3 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 22 Февраль 2016 - 03:29

Урок 2. PHP — Переменные

Если вы еще никогда не писали программ, не встречались с булевой алгеброй или еще чем, то концепция переменных может быть для вас новой. Но не волнуйтесь, сейчас мы быстро введем вас в курс дела, это не так сложно!

Переменная является средством хранения значения, такого как текстовая строка «Hello World!» или целое значение 4. Переменная может быть использована в любом месте кода, вместо того, чтобы вводить фактические значения снова и снова. В PHP вы определяете переменную следующим образом:

  • $variable_name = Value;

Как вы видите, любая переменная начинается со знака доллара. Нельзя о ней забывать, иначе ничего работать не будет. Это распространенная ошибка начинающих программистов PHP!

Примечание: Кроме того, имена переменных чувствительны к регистру, так что используйте тоже самое написание при использовании переменной, что и при объявлении. Переменные $a_number и $A_number различные переменные в глазах PHP.

Небольшой пример с переменными

Итак, чтобы использовать переменные в языке php, мы должны сначала ее объявить (для этого придумать имя) и задать ей значение. Вот как это правильно сделать:

<?php
$hello = "Hello World!";
$a_number = 4;
$anotherNumber = 8;
?>

Примечание: PHP не требует объявления переменных перед использованием. Например, в Pascal нам бы потребовалось сначала объявить весь список переменных в разделе var. В пхп ничего такого не нужно.

Разрешенные названия переменных

Есть несколько правил, которые нужно соблюдать при выборе имени для ваших PHP переменных.

  • PHP переменных должны начинаться с буквы или символа подчеркивания «_».
  • PHP переменные могут состоять только из буквенно-цифровых знаков и символов подчеркивания. a-z, A-Z, 0-9, или _.
  • Переменные из более чем одного слова могут быть разделены подчеркиванием. $my_variable
  • Переменные из более чем одного слова также можно разделить регистром. $myVariable

На этом все. Теперь у вас в руках есть такой мощный инструмент, как переменные! Вперед, к новым урокам!

Если тема вам нравится и можно продолжать выкидывать уроки.. жми "Нравится"


  • 田mrx это нравится

#4 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 22 Февраль 2016 - 03:32

Урок 3. PHP — Echo

Как вы видели в предыдущем уроке, команда echo в php является средством вывода текста. На протяжении своей карьеры в PHP вы будете использовать команду echo больше, чем любую другую. Так давайте в ней хорошенько разберемся!

Вывод строки

Для вывода строки, как мы делали в предыдущих уроках, используется echo. С ее помощью можно выводить текст в кавычках, значения переменных и т.д. Давайте рассмотрим на примере.

<?php
$myString = "Hello!";
echo $myString;
echo "<h5>I love using PHP!</h5>";
?>

Вывод фразы «Hello!» нам уже знаком, тут ничего нового. Зато следующая команда echo, как вы видите, содержит html тег. Использовать html теги не запрещается, ведь php дает нам динамику, а статика и оформление страницы все еще во власти обычного html.

Осторожно, двойные кавычки!

Это очень здорово, что вы можете выводить HTML внутри PHP. Тем не менее, вы должны быть осторожны при использовании HTML-кода или любой другой строки, содержащей кавычки! В Эхо используются кавычки, чтобы определить начало и конец строки, поэтому вы должны использовать один из следующих вариантов, если хотите использовать кавычки внутри echo:

  • Не используйте кавычки внутри строки.
  • Экранируйте внутренние кавычки через слеш. Чтобы избежать обработки внутренних кавычек, просто поставьте обратную косую черту прямо перед ними, то есть \».
  • Используйте одинарные кавычки (апострофы) на внутри строки.

Смотрите наш пример ниже для правильного и неправильного использования команды echo:

<?php
// This won't work because of the quotes around specialH5!
echo "<h5 class="specialH5">I love using PHP!</h5>";  

// OK because we escaped the quotes!
echo "<h5 class=\"specialH5\">I love using PHP!</h5>";  

// OK because we used an apostrophe '
echo "<h5 class='specialH5'>I love using PHP!</h5>";  
?>

Если вы хотите вывести строку, содержащую цитаты, либо используйте апостроф (‘), либо экранируйте кавычки поставив слеш перед ними (\»). Обратная косая черта скажет PHP, что вы хотите, чтобы символ после нее не был обработан интерпретатором!

Вывод переменных

Выводить переменные очень легко. На самом деле для вывода переменных в пхп ничего особенного делать то и не нужно. Он сам это умеет. Вот пример, который поможет вам во всем разобраться:

<?php
$my_string = "Hello Bob.  My name is: ";
$my_number = 4;
$my_letter = a;
echo $my_string;
echo $my_number;
echo $my_letter;
?>

Результат:

Hello Bob. My name is: 4a
Одновременный вывод переменных и текстовых строк

Вы также можете выводить переменные в двойных кавычках (например, «текст текст $variable»). Поставив переменную внутри кавычек («») вы говорите PHP, что вы хотите, чтобы он взял ее значение, преобразовал его к строковому типу и вывел. Пример ниже показывает как правильно сделать такой трюк 

?php
$my_string = "Hello Bob.  My name is: ";
echo "$my_string Bobettta <br />";
echo "Hi, I'm Bob.  Who are you? $my_string <br />";
echo "Hi, I'm Bob.  Who are you? $my_string Bobetta";
?>

Результат:

Hello Bob. My name is: Bobetta
Hi, I'm Bob. Who are you? Hello Bob. My name is: 
Hi, I'm Bob. Who are you? Hello Bob. My name is: Bobetta

Размещая переменные внутри строки, вы можете сэкономить время и сделать код более удобным для чтения, но к этому надо привыкнуть. Не забывайте использовать кавычки, одинарные кавычки не будут выводить значения переменных. Одинарные кавычки просто выведут имя переменной в строку, т.е. $ my_string, а не «Hello Bob. My name is».

Echo не является функцией!

Echo является не функцией, а языковой конструкцией. При использовании функции в PHP, они имеют очень конкретную форму, которую мы обязательно рассмотрим чуть позже. На данный момент, просто знайте, что echo это специальный инструмент, который вы обязательно полюбите! 

Конкатенация строк PHP

Самая, пожалуй, распространенная операция со строками — это их конкатенация, или присоединение к одной строке другой. Для конкатенации строк ввели специальный оператор «.» (точка).

Пример:

<?php 
$a= "Широка"; 
$b= $a." страна"; 
$b.=" моя родная!"; 
echo $b; 
?> 

На выходе получаем строку целиком: «Широка страна моя родная!»

Если тема вам нравится и можно продолжать выкидывать уроки.. жми "Нравится"


  • 田mrx это нравится

#5 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 22 Февраль 2016 - 03:42

Урок 4. PHP — Строки

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

PHP — Создание строк

Прежде чем вы сможете использовать строку, вы должны создать ее! Строка может быть использована непосредственно в функции или сохранена в переменной. Ниже мы создадим одну и ту же строку дважды: сначала сохраним ее в переменной, а во втором случае мы пошлем строку непосредственно на вывод.

$my_string = "http://forumsisadmina.ru/ - лучший сайт в мире!";
echo "forumsisadmina.ru - лучший сайт в мире!";
echo $my_string;

В приведенном выше примере первая строка будет храниться в переменной $my_string, а вторая строка будет использоваться в echo без сохранения. Не забудьте сохранить ваши строки в переменные, если вы планируете использовать их больше, чем один раз! Ниже приведен результат кода из нашего примера. Строки выглядят одинаково как вы видите.

forumsisadmina.ru - лучший сайт в мире!
PHP — Строки в одинарных кавычках

До сих пор мы создавали строки, используя двойные кавычки, но их так же можно создавать и в одинарных кавычках, известных как апостроф (‘).

$my_string = 'forumsisadmina.ru - лучший сайт в мире';
echo 'forumsisadmina.ru - лучший сайт в мире';
echo $my_string;

Если вы хотите использовать одинарные кавычки в строке, вы должны избавиться от одной кавычки, поставив перед ней обратную косую черту \. Например, так: \»!
Пример:

echo 'forumsisadmina.ru it\'s cool!';
PHP — Строки в двойных кавычках

Мы использовали двойные кавычки и будем продолжать использовать их как основной способ формирования строк. Двойные кавычки позволяют избежать многих специальных символов, которые будут использованы, чего нельзя сказать об одинарной кавычке. Еще раз, обратный слеш используется для пропуска символов.

$newline = "A newline is \n";
$return = "A carriage return is \r";
$tab = "A tab is \t";
$dollar = "A dollar sign is \$";
$doublequote = "A double-quote is \"";

Примечание: Если вы хотите вывести невидимые символы, такие как табуляция, например, то уже знакомый нам слеш поможет в этом!

На самом деле эти символы не очень полезны, ведь браузеры обрезают ненужные пробелы и табуляции, но в редких случаях они могут пригодиться. Табуляции, новые строки и возвраты каретки являются примерами экстра пробела. Тем не менее, при записи в файл, который может быть прочитан человеком, эти экранированные символы представляют собой ценный инструмент, т.к. помогают форматировать текст и приводят его в удобочитаемый вид!

PHP — Создание строки методом Heredoc

Два метода выше являются традиционными способами создания строки в большинстве языков программирования. PHP же представляет более надежный инструмент создания строк, который называется Heredoc. Он позволяет программисту создавать многострочные строки без использования кавычек. Однако, будьте осторожны с этим методов, ведь он сложнее и может привести к проблемам, если вы не правильно им воспользуетесь! Вот как это делается:

$my_string = <<<TEST
forumsisadmina.ru
- лучший 
сайт в мире
TEST;

echo $my_string;

Результат:

forumsisadmina.ru - лучший сайт в мире

Есть несколько очень важных вещей, которые следует помнить при использовании Heredoc.
Используйте <<< и некоторые идентификатор, который вы выбрали, чтобы начать Heredoc. В этом примере мы выбрали TEST, как наш идентификатор. Повторное использование идентификатора с точкой с запятой, заканчивает создание строки методом Heredoc. Закрытие последовательности, должно происходить на отдельной строке и не может быть смещено! Кстати, при выводе полученной таким способом строки в браузере мы получаем одну строку, а не несколько, т.е. мы не использовали тег br внутри нашей конструкции. Именно поэтому несколько раз подумайте перед использованием этого метода. А действительно ли он вам нужен?

 

Если тема вам нравится и можно продолжать выкидывать уроки.. жми "Нравится"

 

PС... На сегодня уроков хватит, может ещё вечером попишу :) 


  • 田mrx это нравится

#6 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 23 Февраль 2016 - 03:58

Урок 5. PHP — Операторы

Во всех языках программирования, операторы используются для манипулирования или выполнения операций над переменными и их значениями. Вы уже видели оператор конкатенации «.» В  и оператор присваивания «=» в тех же начальных уроках. Теперь поговорим о других операторах.

Есть много операторов, используемых в PHP, поэтому мы разделили их на категории для простоты изучения.

  • Операторы присваивания.
  • Арифметические операторы.
  • Операторы сравнения.
  • Строковые операторы.
  • Арифметические операторы совместно с операторами присваивания.
Операторы присваивания

Операторы присваивания используются для задания конкретного значения переменной или присвоения переменной значения другой переменной. Присвоение осуществляется с помощью символа «=». Пример:

  • $my_var = 4;
  • $another_var = $my_var;

Теперь и $my_var и $another_var содержат значение 4.
Присваивание может быть использовано в сочетании с арифметическими операторами.

Арифметические операторы

operators.png

 

Код для примера:

$addition = 2 + 4; 
$subtraction = 6 - 2; 
$multiplication = 5 * 3; 
$division = 15 / 3; 
$modulus = 5 % 2; 
echo "Пример сложения: 2 + 4 = ".$addition."<br />"; 
echo "Пример вычитания: 6 - 2 = ".$subtraction."<br />"; 
echo "Пример умножения:  5 * 3 = ".$multiplication."<br />"; 
echo "Пример деления нацело: 15 / 3 = ".$division."<br />"; 
echo "Пример остатка от деления: 5 % 2 = " . $modulus;

Результат кода:

Пример сложения: 2 + 4 = 6
Пример вычитания: 6 - 2 = 4
Пример умножения:  5 * 3 = 15
Пример деления нацело: 15 / 3 = 5
Пример остатка от деления: 5 % 2 = 1

На самом деле все просто, не так ли? simple-smile.png

Операторы сравнения

Сравнения используются, чтобы проверить связь между переменными или их значениями. Простой пример использования операторов сравнения будет представлен в уроке 9. Операторы сравнения используются внутри условных операторов и могут принимать значения истина или лож. Вот наиболее важные из операторов сравнения PHP.

operators2.png

Строковые операторы

Как мы уже видели в уроке про Echo, оператор «.» используется, чтобы соединить две строки (или более) вместе.

Конечно же пример:

$a_string = "Hello";
$another_string = " Billy";
$new_string = $a_string . $another_string;
echo $new_string . "!";

Результат:

Hello Billy!
Арифметические операторы совместно с операторами присваивания

В программировании это очень часто возникает задача, которая требует увеличения переменной на некоторую фиксированную величину. Наиболее распространенным примером является счетчик. Скажем, вы хотите увеличить счетчик на 3:

  • $counter = $counter + 3;

Однако, можно сократить запись.

  • $counter += 3;

Эта комбинация операторов будет выполнять ту же задачу. Недостатком такой конструкции является то, что она снижает читаемость кода для тех программистов, которые не привыкли к такому оператору. В общем, «+=» и «-=» являются наиболее широко используемыми операторами. Вот несколько похожих примеров из других областей.

operators3.png

Пред, Пост — инкремент и Пред, Пост — декремент

Это может показаться немного абсурдным, но есть даже короткая запись для общей задачи добавления единицы и вычитания единицы из переменной. Чтобы добавить 1 к переменной, можно использовать оператор «++» (инкремент):

  • $x++; что эквивалентно $x += 1; или $x = $x + 1;

Чтобы вычесть 1 из переменной, можно использовать оператор «—» (декремент):

  • $x—; что эквивалентно $x -= 1; или $x = $x — 1;

В дополнение к этому сокращению вы можете указать, хотите ли вы увеличить переменную до вывода или после. Вот пример того, о чем я говорю:

$x = 4;
echo "Значение переменной с пост-инкрементом = " . $x++;
echo "<br /> Значение переменной после выполнения пост-инкремента = " . $x;
$x = 4;
echo "<br />Значение переменной с пред-инкрементом = " . ++$x;
echo "<br /> Значение переменной после пред-инкремента = " . $x;

Посмотрите на результат:

Значение переменной с пост-инкрементом = 4
Значение переменной после выполнения пост-инкремента = 5
Значение переменной с пред-инкрементом = 5
Значение переменной после пред-инкремента = 5

Как вы можете видеть, значение переменной $х++ не отражается эхом в тексте, потому что переменная не увеличивается до окончания выполнения кода. Однако, с пред-инкрементом ++$х, переменная будет отражать результат сразу.

Практикуйтесь и переходите к следующим урокам! 

Если тема вам нравится и можно продолжать выкидывать уроки.. жми "Нравится"



#7 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 23 Февраль 2016 - 04:02

Урок 6. PHP — Комментарии

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

В HTML основная цель комментария в том, чтобы служить в качестве примечания разработчикам, которые могут просматривать исходный код вашего сайта. Комментарии РНР отличаются тем, что они не будут отображаться для посетителей. Единственный способ посмотреть PHP комментарии это открыть файл для редактирования. Это делает PHP комментарии полезными только для PHP — программистов.

В случае, если вы забыли или не знали, как делаются комментарии в HTML, то смотрите пример ниже.

<!-- This is an HTML Comment -->
Синтаксис php комментариев: однострочный комментарий

Тогда как в html есть только один вид комментариев, в PHP имеется целых два типа. Первый тип, который мы будем обсуждать, это однострочный комментарий. То есть комментарий, который говорит интерпретатору игнорировать все, что происходит на этой линии справа от комментариев. Для использования этого комментария следует применять символы «//» или «#» и весь текст справа будет игнорироваться интерпретатором PHP.

<?php
echo "Hello World!"; // This will print out Hello World!
echo "<br />Psst...You can't see my PHP comments!"; // echo "nothing";
// echo "My name is Humperdinkle!";
# echo "I don't do anything either";
?>

Результат:

Hello World!
Psst...You can't see my PHP comments!
Урок 6. PHP — Комментарии

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

В HTML основная цель комментария в том, чтобы служить в качестве примечания разработчикам, которые могут просматривать исходный код вашего сайта. Комментарии РНР отличаются тем, что они не будут отображаться для посетителей. Единственный способ посмотреть PHP комментарии это открыть файл для редактирования. Это делает PHP комментарии полезными только для PHP — программистов.

В случае, если вы забыли или не знали, как делаются комментарии в HTML, то смотрите пример ниже.

<!-- This is an HTML Comment -->

Синтаксис php комментариев: однострочный комментарий

Тогда как в html есть только один вид комментариев, в PHP имеется целых два типа. Первый тип, который мы будем обсуждать, это однострочный комментарий. То есть комментарий, который говорит интерпретатору игнорировать все, что происходит на этой линии справа от комментариев. Для использования этого комментария следует применять символы «//» или «#» и весь текст справа будет игнорироваться интерпретатором PHP.

<?php
echo "Hello World!"; // This will print out Hello World!
echo "<br />Psst...You can't see my PHP comments!"; // echo "nothing";
// echo "My name is Humperdinkle!";
# echo "I don't do anything either";
?>

Результат:

Hello World!
Psst...You can't see my PHP comments!

Обратите внимание на то, что несколько наших команд echo не были обработаны, потому что мы закомментировали их с помощью специальных символов комментирования. Этот тип комментариев часто используется для быстрой записи о сложном и запутанном коде или чтобы временно удалить строку кода PHP (для отладки).

Синтаксис php комментариев: многострочный комментарий

Как и HTML — комментарии, многострочные комментарии в PHP могут быть использованы для комментирования больших блоков кода или для записи комментов в несколько строк. Многострочные комментарии в PHP начинается с «/*» и заканчиваются «*/». Все, что находится между этими символами, будет игнорироваться.

<?php
/* This Echo statement will print out my message to the
the place in which I reside on.  In other words, the World. */
echo "Hello World!"; 
/* echo "My name is Humperdinkle!";
echo "No way! My name is Uber PHP Programmer!";
*/
?>

Результат:

Hello World!
Комментирование кода — это хорошо!

Комментирование это то, что я могу порекомендовать всем начинающим программистам РНР. Комментируйте свой код! Так много людей пишут сложный код на PHP и либо слишком ленивы, чтобы писать хорошие комментарии или считают, что комментарии не нужны. Тем не менее, вы действительно верите, что вы сможете вспомнить, что именно вы думали, когда писали этот код год или более назад?

Пишите комментарии сегодня и вы скажете себе за это спасибо в будущем!  Поставить два слеша и черкануть пару слов о коде не составит большого труда, зато очень пригодится, когда вы к нему вернетесь через некоторое время!

Если тема вам нравится и можно продолжать выкидывать уроки.. жми "Нравится"



#8 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 23 Февраль 2016 - 04:03

Урок 7. PHP — Include

Если не вдаваться в подробности PHP, то кратко, команда include принимает имя файла и просто вставляет его содержимое в сценарий, который этот include вызвал.

Почему это круто? Ну, в первую очередь, это означает, что вы можете напечатать общий заголовок или меню, которые должны быть на каждой вашей странице, а потом просто подключить их с помощью include. Затем, когда вы добавляете новую страницу на сайт, то вместо того, чтобы обновлять ссылки на нескольких страницах, вы можете просто изменить файл, который содержит меню.

Пример использования команды include

Скажем, мы хотим создать общий файл меню, чтобы все наши страницы его использовали. Так как мы хотим создать общий файл меню, то давайте сохраним его как «menu.php». Вот как он будет выглядеть:

<html>
<body>
<a href="http://www.example.com/index.php">Главная</a> - 
<a href="http://www.example.com/about.php">О нас</a> - 
<a href="http://www.example.com/links.php">Ссылки</a> - 
<a href="http://www.example.com/contact.php">Контакты</a> <br />

Сохранить файл как «menu.php». Теперь создайте новый файл «index.php» в том же каталоге, что и «menu.php». Здесь мы воспользуемся этой командой include чтобы добавить наше общее меню.

<?php include("menu.php"); ?>
<p>This is my home page that uses a common menu to save me time when I add
new pages to my website!</p>
</body>
</html>

Затем, запустив файл index.php мы получим полноценную страничку с подгруженным меню.
Можно сделать то же самое для «about.php», «links.php» и «contact.php». Подумайте только, как ужасно было бы, если у вас хотя бы 15 страниц с общим меню, и вы решили добавить еще одну запись в это меню. Вы должны были бы пойти и вручную редактировать каждый файл, чтобы добавить эту новую запись, но при использовании include, вы просто должны изменить «menu.php» и все ваши проблемы будут решены. Это ли не чудо? 

Как все это видят посетители?

Если мы использовали команду include для вставки меню на каждую из наших веб-страниц, что будет видеть посетитель в исходном коде «index.php»? Да ничего, обычный html текст, т.к. инклуд работает просто как копипаст.

Поведение include

Он вставляет содержимое одного файла в другой и все. Очень удобная вещь! Include весьма полезен, если вы хотите включить тот же PHP или HTML текст или сегмент сразу в несколько страниц сайта. Команда инклуд широко используется разработчиками PHP, так же как и Echo.



#9 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 23 Февраль 2016 - 04:05

Урок 8. PHP — Условный оператор

Условный оператор в PHP очень похож на условия в других языках программирования. Но для тех, кто не знаком с ним, картина следующая.

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

Этот простой вид условия «если, то», который является очень распространенным явлением в повседневной жизни, а также довольно часто появляется в программировании. Всякий раз, когда вы хотите, чтобы решение принималось с учетом каких-то условий (например, вы должны что-то сделать завтра) вы используете условный оператор.

PHP оператор If

Представьте себе, что 1 января вы хотите вывести сообщение «С Новым годом!» в верхней части вашей страницы. С помощью PHP и условного оператора вы могли бы этот процесс автоматизировать за несколько месяцев до 1 января.
Такую динамичность невозможно осуществить на простом HTML.

PHP If Пример

Давайте начнем с основ и рассмотрим простой пример, где мы присвоим переменной значение, а затем, с помощью условия в php мы сравним его с другим значением и выведем результат.

$my_name = "Вася";

if ( $my_name == "Вася" ) {
        echo "Привет, Вася!<br />";
}
echo "Добро пожаловать на мою страницу!";

В результате мы увидим две строки:

Привет, Вася!
Добро пожаловать на мою страницу!

Как вы видите, мы сравнивали переменную $my_name со значением «Вася», чтобы увидеть равны ли они. В PHP вы используете двойной знак равенства (==) для сравнения значений. Кроме того, обратите внимание, так как условие оказалось истиной, то кода был выполнен, напечатав «Привет, Вася!». Давайте немного более глубоко разберемся в этом примере.

  • Сначала мы присваиваем переменной $my_name значение «Вася».
  • Затем мы использовали оператор IF для проверки значения, содержащегося в переменной $my_name. Равно ли оно значению «Вася»?
  • Сравнение между $my_name и «Вася» было сделано с помощью двойного знака равенства «==», ни одного равно «=»! Одно равно используется для присвоения значения переменной, в то время как двойное равно для проверки.
  • $my_name действительно равна «Вася», так что echo выполняется.
If…else

С простым условием разобрались. Но иногда возникает необходимость выполнить условие, если оно истинно и выполнить другое действие, если ложно! Например, если я завтра иду в университет, то мне нужно встать в 7 часов, иначе я пойду играть в футбол с друзьями с 9 часов. Здесь нам на помощь придет все тот же условный оператор, но с небольшим дополнением.

$go_to_universe = 1;

if ( $go_to_universe == 1 ) {
        echo "Иду в универ, будильник на 7 часов";
} else {
        echo "Не иду в универ, будильник на 9 часов";
}

В данном случае, если переменная $go_to_universe принимает значение 1, то мы идем в универ и заводим будильник на 7 утра, иначе (else) не идем в универ и заводим на 9. Все достаточно просто.
Запомните, сначала пишем оператор if, затем в круглых скобках условие, в фигурных скобках действие, если условие истинно, затем слово else и снова в фигурных скобках действие, но уже которое будет выполняться, если усновие ложно.

if ( условие ) {
        действие при истинном условии;
} else {
        действие при ложном условии;
}

Разобрались? тогда двигаемся дальше!



#10 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 23 Февраль 2016 - 04:06

Урок 9. PHP — Switch

В предыдущих уроках мы рассмотрели различные элементы, которые позволяют организовать проверку условия в PHP. Тем не менее, бывают случаи, когда оператор IF…Else не самый эффективный способ для проверки определенных условий.

Например, мы могли бы иметь переменную, которая хранит определенное значение, и вы хотите, чтобы выполнялось какое-то действие в зависимости от значения этой переменной. В таком случае вы можете иметь 20 различных вариантов, которые вы должны обработать с безумно длинным блоком If / ElseIf / ElseIf / ElseIf / … и так далее. Да уж, выглядит неважно, давайте посмотрим, можем ли мы сделать что-то другое.

PHP оператор Switch: Быстрая проверка

С помощью оператора Switch вы можете проверить наличие всех этих условий одновременно, и самое замечательное в том, что на самом деле более эффективно в плане программирования. Истинно беспроигрышная ситуация!

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

PHP оператор Switch: Пример

Приведем простой пример использования свитча. В нашем случае в зависимости от пункта назначения, который хранится в переменной, мы будем давать рекомендации что лучше взять с собой в дорогу.

$destination = "Tokyo";
echo "Отправляемся в $destination<br />";
switch ($destination){
        case "Las Vegas":
                echo "Берем с собой $5000! Вегас детка!";
                break;
        case "Amsterdam":
                echo "Парочка газет, фольга...";
                break;  
        case "Egypt":
                echo "50 бутылок солнцезащитного крема.";
                break;  
        case "Tokyo":
                echo "Берем деньги на сувениры.";
                break;
        case "Caribbean Islands":
                echo "Захватите трусы для плавания!";
                break;  
}

Результат:
Отправляемся в Tokyo
Берем деньги на сувениры.

Значение переменной $destination было Токио, поэтому, когда PHP выполнял оператор свитч, то на $destination он сразу сделал поиск для случая со значением «Токио». Он нашел его и продолжил выполнять код, который был прописан в этом сегменте.

Вы могли заметить, что каждый случай содержит break. Этот break как раз и позволяет во всех остальных случаях ничего не выполнять. Если бы в приведенном выше примере не было брейка, то код бы выполнялся не только в случае значения Токио! Используйте эти знания и никогда не нагромождайте десятки условий там, где можно обойтись одним свитчем!

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

PHP оператор Switch: действие по умолчанию

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

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

$destination = "New York";
echo "Отправляемся в $destination<br />";
switch ($destination){
        case "Las Vegas":
                echo "Берем с собой $5000! Вегас детка!";
                break;
        case "Amsterdam":
                echo "Парочка газет, фольга...";
                break;  
        case "Egypt":
                echo "50 бутылок солнцезащитного крема.";
                break;  
        case "Tokyo":
                echo "Берем деньги на сувениры.";
                break;
        case "Caribbean Islands":
                echo "Захватите трусы для плавания!";
                break;  
        default:
                echo "Бельишко чистое не забудьте!";
                break;
}

Результат:
Отправляемся в New York
Бельишко чистое не забудьте!

Готово! Теперь вы умеете обращаться с PHP конструкцией Switch и знаете в каких случаях ее лучше использовать.



#11 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 23 Февраль 2016 - 04:08

Выводим случайную строку из файла

Wordpress.pngДавненько я не писал посты для категории «WordPress», но сегодня я решил восполнить этот пробел. Я расскажу как сделать вывод случайной записи из файла в любое место шаблона на WordPress. Думаю многим пригодится, ведь выводить можно все что угодно: от простых шуток и анекдотов до случайных рецептов, например, для кулинарного сайта. Читаем дальше.

Для начала, если кто не понял о чем пойдет речь, то посмотрите наверх. Видите там оранжевую строчку? Она выводится автоматически из специального файла. Можно, конечно, для этого использовать БД. Просто создать там новую таблицу, но я решил пойти по пути наименьшего сопротивления и использовать обычный txt файл. Вот как это выглядит у меня:

 

random_line-300x96.png

Теперь что нам понадобится:
Обычный текстовый файл (я сразу все кодирую в UTF-8 без BOM, чтобы не было лишних проблем с кодировкой). Он будет содержать нужные нам строки, которые мы хотим выводить в случайном порядке.
Для непосредственно вывода я использовал простой код:

<div id="mytagline">
<?php 
$txt = file('путь к txt файлу'); 
$str = $txt[ array_rand($txt) ]; 
unset($txt); 
echo $str; 
?>
</div>

Вставил его в файл header.php своей темы. Все, этого достаточно!

Если подумать где применить такую возможность, то я могу придумать примерно следующее:

  • случайные шутки и анекдоты;
  • случайные цитаты умных людей;
  • случайные строки из песен для сайтах с текстами;
  • рецепты для сайтов с рецептами;
  • рандомные программы для варезников.

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

Вот вроде бы и все, только статья получилась маловата.
О, сегодня дочитал книгу «Голодные игры». За всю свою жизнь я прочитал, наверное, книг 5  Я имею ввиду художественную литературу, а вот технической за годы учебы в университете было проработано достаточное количество. Сестра у меня читать любит, поэтому в комнате всегда много книг лежит. Вот мне как-то раз скучно стало, а под руку подвернулись голодные игры. Вспомнив каким полнейшим УГ оказался фильм я было хотел книгу отложить, но прочитав буквально пару страниц оторваться уже не смог  Это не постовой и не реклама, никаких ссылок нет, я просто делюсь с вами своими наблюдениями и мыслями, как и положено делать на болге.

Вот теперь точно все. Подписывайтесь, комментируйте. И пусть удача всегда будет на вашей стороне 



#12 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 23 Февраль 2016 - 04:13

Урок 10. PHP — Функции

Функция это просто блок кода, который имеет название и входные параметры для обработки, который может быть выполнен, когда нам это нужно. Может показаться, что толку от них мало, но, поверьте мне, когда вы поймете и научитесь использовать функции, вы сможете сэкономить кучу времени и написать код, который будет гораздо более удобным для чтения!

Хотя тема функций часто воспринимается как сложная для начинающих программистов, но их в любом случае нужно знать.Возможно это займет много времени, но не сдавайтесь, ведь функции очень помогут вам в карьере программиста.

Создаем свою первую php функцию

Когда вы создаете функцию, нужно сначала дать ей имя, например, myCompanyName. Лучше всего называть функции понятными названиями, которые будут иметь смысл, чтобы не запутаться. Это же касается и переменных.

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

Вот как выглядит объявление функции myCompanyName:

<?php
function myCompanyName(){
}
?>

Примечание: Название функции может начинаться со знака «_», но не с цифры!
Это лишь каркас нашей функции, а внутри него мы можем поместить любой код, который захотим. При вызове функции он будет выполняться. Видите в фигурных скобках в приведенном выше примере «{}»? Эти скобки определяют, где должен быть наш код функции. Открывающая фигурная скобка «{» говорит PHP, что код функции начинается, а закрывающая фигурная «}» говорит PHP, что наша функция окончена!

Давайте добавим в нее что-то простенькое, например echo.

<?php
function myCompanyName(){
    echo "Вы находитесь на блоге myblaze.ru <br />";
}
?>

Вот и все, довольно просто, правда? Теперь научимся вызывать нашу функцию.

Вызов готовой функции php

Теперь, когда вы закончили кодирование простейшей функции, пришло время ее испытать. Ниже приведен простой скрипт. Давайте сделаем вот что: объявим свою функцию и используем ее.

function myCompanyName(){
    echo "Вы находитесь на блоге myblaze.ru <br />";
}
echo "Привет всем! <br />";
myCompanyName();
echo "Рад вас видеть! <br />";

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

  • Всегда начинайте ваши функции с ключевым словом function.
  • Помните, что ваш код функции должны быть между «{» и «}».
  • Когда вы вызываете функцию, убедитесь, что пишете ее имя правильно.
Функции с параметрами

Еще одна полезная возможность состоит в том, что функции вы можете вызывать с параметрами, то есть передавать внутрь ее кода дополнительную информацию. Наша первая функция myCompanyName не очень-то и полезна, потому что все что она умеет, это печатать одну и ту же строку.

Однако, если бы мы использовали параметры, то мы могли бы добавить некоторые дополнительные фишки в нашу функцию! Параметр появляется скобках «()» и выглядит как обычная переменная PHP. Давайте создадим новую функцию, которая создает пользовательское приветствие основанное на имени человека, которое мы передадим в качестве параметра.

<?php
function sayHello($Name){
    echo "Hello there ". $Name . "!<br />";
}
?>

Теперь когда мы будем вызывать функцию sayHello, то в скобках обязательно должны указывать параметр (имя), так как функция объявлена с параметром и игнорировать его нельзя.
Если мы хотим указывать несколько параметров, то просто перечисляем их при объявлении функции через запятую и все, ничего больше не требуется.

Возвращение значения функцией php

Помимо того, что вы имеете возможность передать функции информацию, она так же может и сама вернуть значение. Но помните, функция может возвращать только одно значение, хотя это может быть что угодно: целое число, вещественное, булевое значение, как вы пожелаете!

Как она возвращает значение? Лучше всего разобраться на примере. Объявим функцию с параметрами, а затем присвоим результат некоторой переменной, вот так:

<?php
function mySum($numX, $numY){
    $total = $numX + $numY;
    return $total; 
}
$myNumber = 0;
echo "Перед использованием функции, myNumber = ". $myNumber ."<br />";
$myNumber = mySum(3, 4); // Сохраняем результат вызова функции mySum в переменную $myNumber
echo "После вызова функции, myNumber = " . $myNumber ."<br />";
?>

Чтобы присвоить функции значение — в нее добавляется оператор return, видите его? Результат сложения двух чисел хранится в переменной $total, а с помощью return $total это значение передается самой функции. Затем мы просто присваиваем его переменной $myNumber после вызова функции mySum с двумя параметрами 3 и 4 (это числа которые следует сложить).

Практикуйтесь, разбирайтесь и у вас все получится!



#13 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 23 Февраль 2016 - 04:14

Урок 11. PHP — Массивы

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

PHP — массив с числовыми индексами

Если это ваш первый опыт работы с массивами, то вы, возможно, не вполне понимаете их концепцию. Представьте, что вы являетесь владельцем бизнеса и хотите сохранить имена всех ваших сотрудников в переменной PHP. Как бы вы это сделали?

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

$employee_array[0] = "Петя";
$employee_array[1] = "Вася";
$employee_array[2] = "Ваня";
$employee_array[3] = "Федор Петрович";

В приведенном выше примере мы использовали ключ / значение. Ключи были числами, указанными в квадратных скобках и значения — имена сотрудников. Каждый ключ массива представляет собой значение, что-то наподобие ссылки. В общем виде для присвоения элементу массива значения требуется запись вида:

  • $array[ключ] = значение;

Примечание: Как вы могли заметить из приведенного выше примера кода, ключи массива начинаются с 0, а не 1. Это очень распространенная проблема для многих начинающих программистов, которые привыкли считать от 1.

Если мы хотим, получить сохраненное значение, то нам понадобится сделать следующее:

echo "Два моих работника:  "
. $employee_array[0] . " и " . $employee_array[1]; 
echo "<br />И еще два работника: " 
. $employee_array[2] . " и " . $employee_array[3];

Результат:
Два моих работника: Петя и Вася
И еще два работника: Ваня и Федор Петрович

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

PHP — ассоциативные массивы

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

$salaries["Петя"] = 2000;
$salaries["Вася"] = 4000;
$salaries["Ваня"] = 600;
$salaries["Даша"] = 0;

echo "Петя получает - $" . $salaries["Петя"] . "<br />";
echo "Вася получает - $" . $salaries["Вася"] . "<br />";
echo "А Ваня получает всего - $" . $salaries["Ваня"] . "<br />";
echo "Даша в этом месяце не работала, поэтому - $" . $salaries["Даша"]

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



#14 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 23 Февраль 2016 - 04:16

Урок 12. PHP — Цикл While

Выполнение однообразных операций всегда напрягает нас в реальной жизни. Например, запечатать 50 конвертов с письмами (согласен, неудачный пример, но суть ясна). А вот в программировании есть такие хорошие конструкции, которые позволяют упросить выполнение повторяющихся операций. Одним из решений будут функции php, которые мы рассмотрели в одном из прошлых уроков. Но также существует и еще несколько вещей, которые позволят упростить нам жизнь — циклы.

Идея цикла заключается в том, чтобы делать что-то снова и снова, пока задача не будет завершена или пока не выполнится определенное условие (заданное). Перед тем, как показать реальный пример где может понадобиться такая конструкция, давайте рассмотрим структуру PHP цикла.

Простой пример цикла While

Суть вайла проста. Он будет выполнять заданный набор команд снова и снова, пока выполняется прописанное условие. Так называемый цикл с предусловием, то есть сначала проверка, потом выполнение. Эта логическая проверка работает так же, как та, которую мы рассматривали в уроке про IF…else в php.
Простой пример while цикла представлен ниже:

while ( условие ){
        //тело цикла;
}

Этот код показывает, как построен цикл. Примерный алгоритм выполнения выглядит следующим образом:

  • Шаг 1. Проверяется заданное условие цикла. Если оно истинно, то выполняется Шаг 2, если ложно, то Шаг 4.
  • Шаг 2. Выполнение тела цикла (заданных команд).
  • Шаг 3. Процесс начинается снова (Шаг 1).
  • Шаг 4. Если условное выражение ложно, то код внутри цикла не выполняется. Код, записанный после цикла выполняется как обычно.
Рабочий пример While в php

Например, выведем числа от 1 до 10:

$i = 1;

while ($i <= 10) {

echo $i;
$i++;

}

Присваиваем переменной $i значение 1, а затем формируем цикл с условием ($i <= 10). Таким образом команда echo $i выполнится 10 раз. Итератор (переменную - счетчик) нужно изменять самостоятельно, в отличие от цикла for, но о нем мы поговорим позже. Для этого мы выполняем команду $i++. Если этого не сделать, то цикл никогда не прервется, то есть код зациклится, чего не хотелось бы. Вот и все, на самом деле это очень просто, но и очень полезно. Без циклов не реализовать никакой мало-мальски полезной задачи.



#15 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 23 Февраль 2016 - 04:18

Урок 13. PHP — Цикл For

Еще один вид цикла с которым мы сегодня познакомимся, это цикл for. Он, как и цикл while нужен довольно часто. Например, при работе с массивами. Но синтаксис его немного отличается. Не пугайтесь, здесь все так же просто, достаточно лишь понять смысл.

Для начала разберем конструкцию на словах, чтобы было проще работать с кодом:

  • определяем переменную-счетчик с некоторым начальным значением и также задаем конечное значение;
  • проверяем, укладывается ли переменная в заданные рамки в текущий момент;
  • если да, то выполняем тело цикла;
  • увеличение переменной-счетчика в конце каждой итерации цикла происходит автоматически, в отличие от цикла while.

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

Простой пример цикла For

Возьмем простой пример из урока с циклом while, и посмотрим, как это может быть реализовано в цикле for. Основная структура цикла выглядит следующим образом:

for ( объявление переменной и присвоение начального значения; условие выполнения цикла; увеличение счетчика){
        //тело цикла;
}

Обратите внимание, что все манипуляции с переменной-счетчиком происходят при объявлении цикла. Каждое действие происходит через точку с запятой: инициализируем счетчик и присваиваем начальное значение, записываем условие, а затем операцию приращения счетчика. Точка с запятой необходима, потому что это отдельные выражения. Однако обратите внимание, что точка с запятой не требуется после последнего действия, то есть приращения (сразу закрываем скобку без точки с запятой).

В качестве примера выведем таблицу с переменной и той же переменной, но умноженной на 5.
 

$mnojitel = 5; 
echo "<table border=\"1\" align=\"center\">";
echo "<tr><th>Переменная counter</th>";
echo "<th>counter * mnojitel</th></tr>";
for ( $counter = 3; $counter <= 11; $counter +=3) {
        echo "<tr><td>";
        echo $counter;
        echo "</td><td>";
        echo $mnojitel * $counter;
        echo "</td></tr>";
}
echo "</table>";

Вот что мы получим

 

Переменная counter counter * mnojitel 3 15 6 30 9 45

 

Теперь давайте разберем, что же мы сделали при объявлении нашего цикла. Перво-наперво определили переменную $counter = 3 и сразу же присвоили ей начальное значение 3. После этого, через точку с запятой, задали условие, при удовлетворении которого, цикл выполняется: $counter <= 11, то есть если переменная меньше или равна 11, то цикл выполняется. Ну и, наконец, последний шаг это шаг цикла - увеличение счетчика. В нашем случае: $counter +=3 увеличение с каждым шагом (итерацией) на 3. Надеюсь все понятно. Экспериментируйте, а если что-то не получится, то спрашивайте в комментариях, поможем!



#16 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 23 Февраль 2016 - 04:21

Урок 14. PHP — Цикл Foreach

Представьте, что у вас есть ассоциативный массив, который вы хотите перебрать. PHP предоставляет простой способ использовать каждый элемент массива по очереди с помощью Foreach конструкции.

На простом языке это будет звучать примерно так:
«Для каждого элемента в указанном массиве выполнить этот код.»

В то время как цикл While будет продолжаться, пока выполняется некоторое условие, цикл foreach будет продолжаться, пока не пройдет через каждый элемент массива.

PHP Foreach: Пример

У нас есть ассоциативный массив, в котором хранятся имена людей в нашей компании, а также их возраст. Мы хотим знать, сколько лет каждому сотруднику, поэтому мы используем цикл по каждому элементу, чтобы распечатать имя каждого и возраст.

$employeeAges;
$employeeAges["Lisa"] = "28";
$employeeAges["Jack"] = "16";
$employeeAges["Ryan"] = "35";
$employeeAges["Rachel"] = "46";
$employeeAges["Grace"] = "34";

foreach( $employeeAges as $key => $value){
        echo "Name: $key, Age: $value <br />";
}

Получаем результат:

 Name: Lisa, Age: 28
 Name: Jack, Age: 16
 Name: Ryan, Age: 35
 Name: Rachel, Age: 46
 Name: Grace, Age: 34

Что же, результат хороший и понятный, а вот синтаксис конструкции foreach не очень легкий и понятный. Давайте разберемся в нем поподробнее.

For each синтаксис: $something as $key => $value

Все это безумие примерно переводится в: «Для каждого элемента ассоциативного массива $employeeAges я хочу обратиться к $key и значению в нем, то есть к $value.

Оператор «=>» представляет связь между ключом и значением. В нашем примере мы назвали их как ключ — $key и значение — $value. Тем не менее, было бы легче думать о них, как об имени и возрасте. Ниже в нашем примере мы так и сделаем, и обратите внимание, что результат будет тот же, потому что мы только изменили имена переменных, которые относятся к ключам и значениям.

$employeeAges;
$employeeAges["Lisa"] = "28";
$employeeAges["Jack"] = "16";
$employeeAges["Ryan"] = "35";
$employeeAges["Rachel"] = "46";
$employeeAges["Grace"] = "34";

foreach( $employeeAges as $name => $age){
        echo "Name: $name, Age: $age <br />";
}

Ну и результат, повторимся, тот же самый:

Name: Lisa, Age: 28
 Name: Jack, Age: 16
 Name: Ryan, Age: 35
 Name: Rachel, Age: 46
 Name: Grace, Age: 34

Вот и все, в принципе синтаксис не сложный, достаточно понять суть. Если будут вопросы — задавайте, отвечу, если смогу 

 

 

Если тема вам нравится и можно продолжать выкидывать уроки.. жми "Нравится"

 

На сводня всё. ждите следующих уроков! 



#17 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 24 Февраль 2016 - 02:30

Урок 15. PHP — Цикл Do while

На самом деле, как вы могли уже догадаться, цикл do while представляет собой слегка модифицированную версию цикла while, которую мыуже рассмотрели в прошлых уроках. Если вы вспомните, как работает обычный while, то вам будет проще понять новый цикл. Давайте повторим: тело цикла while выполняется, если условие верно и не выполняется, если не верно, но может и не выполниться ни разу, если условие будет с самого начала ложно. Как же работает do while?

Итак, новый цикл do выполняет свой ​​блок кода, по крайней мере, один раз. Это потому, что здесь условный оператор находится после тела цикла! Таким образом, простой цикл while называют «циклом с предусловием», а цикл do while — «циклом с постусловием».

Пример сравнения синтаксиса двух циклов

Простой пример, который иллюстрирует разницу между этими двумя типами циклов и работы их условных операторов.
Работа цикла while:

$cookies = 0;
while($cookies > 1){
        echo "Мммм! Люблю печеньки! *ом-ном-ном*";
} 

В результате мы не увидим ничего, так как переменная $cookies равна нулю и условие $cookies > 1 не сработает, следовательно цикл не выполнится. Теперь давайте сделаем то же самое, но с циклом do while:

$cookies = 0;
do {
        echo "Мммм! Люблю печеньки! *ом-ном-ном*";
} while ($cookies > 1);

В результате:

Мммм! Люблю печеньки! *ом-ном-ном*

Как видите, цикл сработал один раз, а потом проверил условие, которое не выполнилось и вышел из цикла. Такие конструкции обязательно вам когда-нибудь пригодятся! Лучше помнить о них, чтобы не изобретать потом велосипед.



#18 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 24 Февраль 2016 - 02:33

Урок 16. PHP — POST & GET

В этом уроке мы рассмотри приемы передачи данных между формами и страницами. Такими методами являются POST и GET. О каждом мы поговорим отдельно и более подробно. Вообще говоря, это нужно для связи между формами. Например мы заполняем какие то поля на странице и нам нужно их передать в другую страницу для обработки.

Метод GET в PHP

Для начала разберем метод GET. Это когда все переменные и их значения передаются прямо через адрес. Сейчас на примере вы все увидите, и даже поймете как работает большинство сайтов и форумов.
К примеру, есть у нас html страничка такого вида:

<html>
<head>
<title>Страница с примером передачи переменных с помощью Get</title>
</head>
<body>
<a href=http://myblaze.ru/index.php?name=Sergey&age=22>ссылка</a>
</body>
</html>

Видите ссылку? Она сложная и состоит из нескольких частей. Давайте разберем все по полочкам:
 — адрес домена или, как его еще называют, хост.
index.php — страница на php, которая будет обрабатывать запрос.
? — символ разделения между адресом и блоком с переменными.
Далее идут переменные и их значения, которые разделены символом &.
name=Sergey — переменная name и ее значение Sergey.
age=22 — то же самое, переменная age, значение 22.

Все разобрали, теперь посмотрим как это обрабатывается в php, с помощью метода GET.
Страница index.php, как вы помните, мы передавали ей:

<?php

 if (!empty($_GET["name"])&&!empty($_GET["age"])) 
 { echo " Получены новые вводные: имя - ".$_GET["name"].", возраст - ".$_GET["age"]." лет";} 
 else { echo "Переменные не дошли. Проверьте все еще раз."; }

?>

Для начала совет: ВСЕГДА проверяйте переменные на правильность: на пустоту, на соответствие допустимых значений и так далее. Так как все передается через адресную строку, то данные можно легко подменить и навредить сайту. Теперь по самому коду: мы, с помощьюусловного оператора, проверили переменные name и age на пустоту и, если они не пустые, то вывели их, а если пустые, то просто сообщили об этом.
Все просто, согласитесь? Например вы можете создать html страницу и в менюшке сделать ссылки через переменные, а в index.php обрабатывать переменную и отображать в зависимости от полученного значения ту или иную страницу. Ну об этом мы поговорим позже, в статье про создание сайта на php с нуля. Чтобы ничего не пропустить, советую подписаться на RSS.

Метод POST в PHP

Для демонстрации работы этого метода нам понадобится немного больше, чем простая строчка с адресом  Нужно будет создать html страницу с формой для заполнения, но ничего, я приведу готовый пример для вас:

<html>
<head>
<title>Страница с примером передачи переменных с помощью Post</title>
</head>
<body>

<form method="post" action="index.php">Заполняем поля для передачи информации:<br><br>
 Укажите Ваше имя: <input name="user_name" type="text" maxlength="20" size="25" value="" />
<br><br> Укажите Ваш возраст: <input name="age" type="text" maxlength="2" size="3" value="" />
<br><br> <input type=submit value="Передать информацию"></form>
</body>
</html>

Итак, мы создали html страничку с простой формой. Запомните, метод POST может использоваться только в форме.
Первый параметр формы — «method», он определяет метод, который мы будем использовать для передачи. Как вы могли догадаться, это либо GET, либо POST. При этом, если установлен GET, то все имена полей (в виде названий переменных), а также их значения, передаются по ссылке, как в разделе про метод GET. Если же установлен POST, то все названия переменных и значения будут передаваться как запрос браузера к веб-серверу. То есть в адресной строке их видно не будет. Во многих случаях это очень полезно. Также POST безопаснее, оно и понятно, ведь переменные с их значениями уже не так просто отредактировать, хотя тоже можно.

Второй параметр формы — «action». Это путь и имя файла скрипта, которому мы передаем данные. В нашем случае это index.php. Этот путь можно передавать и полностью, то есть так: action=«http://my_site.ru/index.php». Если не указать значение параметра «action», то вся информация будет передаваться главному скрипту, то есть индексной странице index.php вашего сайта, что вполне логично.

Теперь получим данные из нашей формы. Раз передавали мы в index.php, значит ниже будет код именно этой страницы:

<?php

 if (!empty($_POST["user_name"])&&!empty($_POST["age"]))
 {
 echo "Получены новые вводные:<br>";
 echo "имя - ";
 echo $_POST["user_name"];
 echo "<br>возраст - ";
 echo $_POST["age"];
 echo " лет";
 }
 else
 {
 echo "Переменные не дошли. Проверьте все еще раз.";
 }

?>

Не забываем проверять на пустоту и допустимые значения. Далее нужно уточнить, почему наши переменные называются именно user_name и age? А вы посмотрите на поля формы, которую мы создавали выше. Видите там input name=«user_name» type=«text» ? Вот здесь параметр name и задает имя переменной, которую мы получим с помощью этого поля. То же самое и с age. Надеюсь понятно. Ну а получение переменной и ее значения через POST почти не отличается от GET, который мы рассмотрели выше.

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



#19 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 24 Февраль 2016 - 02:35

Урок 17. PHP — htmlentities

Всякий раз, когда вы позволяете вашим пользователям отправлять текст на ваш сайт (имя,  или любая другая информация), вы должны быть осторожны. Нужно быть уверенным, что у вас нет дыр в безопасности сайта, которые злоумышленники могут использовать для взлома. Если все же нужно получать от пользователя данные, то обязательно используйте функцию htmlentities, чтобы предотвратить запуск HTML-кода или скриптов, которые могут быть вредны и опасны!

PHP — Преобразование HTML тегов

Htmlentities функция принимает строку и возвращает ту же строчку, но уже с преобразованными HTML тегами.

Например, строка "<script>" будет преобразована в "&lt;script&gt;".

Путем преобразования символов < и > в сущности, она не дает браузеру выполнить текст как скрипт.

Это может показаться немного сложным, но если вы подумаете, как работает браузер, то становится понятнее. Проще говоря, данная функция обрезает или преобразует некоторые служебные символы, чтобы они уже не воспринимались браузером или сервером как исполняемый скрипт, а виделись ему как обычный текст. Давайте посмотрим, как функция htmlentities изменяет данные.

//Пользователь отправляет нам данные и надеется перенаправить нам на свой сайт
$userInput = "Смотрите, сейчас я перенаправлю вас на example.com! Хахаха!
        <script type='text/javascript'>
        window.location = 'http://www.example.com/'
        </script>'";
        
//Но мы это предусмотрели и использовали htmlentities
$userInputEntities = htmlentities($userInput);

//И теперь без опасений используем присланные данные
echo $userInputEntities;

В результате, ничего страшного не произойдет, а все присланные пользователем данные преобразованы в безопасные:

Смотрите, сейчас я перенаправлю вас на example.com! Хахаха!
        &lt;script type='text/javascript'&gt;
        window.location = 'http://www.example.com/'
        &lt;/script&gt;'

Обломали нашего юного хакера 

Когда нужно использовать htmlentities?

Всегда, когда вы позволяете пользователям отправлять контент на ваш сайт. Да, лучше ограничить пользователей в возможности использования HTML тегов, зато не рисковать безопасностью своего сайта. Иногда все таки требуется предоставить им некоторые теги для форматирования своего текста, например, выделение жирным шрифтом и так далее, но это выходит за рамки данного урока, может быть поговорим об этом позже.

Помните, что когда вы позволяете посетителям отправлять данные на ваш сайт, вы также предоставляете им доступ к нему. Так что убедитесь, что вы приняли соответствующие меры предосторожности.



#20 OFFLINE   Diselx

Diselx

    Продвинутый

  • Модераторы
  • 634 сообщений
  • 43 благодарностей
  • Город: Амурск

  • Мат. плата: ASUS Z170-WS
  • CPU: Intel Core i7-6700K
  • RAM: A-Data XPG Z1 [AX4U3000W4G16-QGZ] 16 Гб
  • Видео: Asus GeForce GTX 980 Ti STRIX III [STRIX-GTX980TI-DC3OC-6GD5-GAMING]
  • HDD: Seagate ST8000AS0002
  • OS: Windows 7 Максимальная x64

Награды

           

Отправлено 24 Февраль 2016 - 02:37

Урок 18. PHP — Файлы

А сейчас будет достаточно большой, но не сложный урок о работе с файлами в php. Для начала, для чего нужны файлы? Ведь можно все хранить в базе данных MySQL или PostgreSQL или любой другой. Но иногда бывают такие задачи, когда использование БД, со всеми обработками и заботой о безопасности соединения, не целесообразно. Например нужно сделать обычный счетчик, а до этого в проекте у нас БД не использовалась. Так что нам, ради одного малюсенького счетчика заводить базу данных и хранить в ней всего пару строк? тут гораздо проще воспользоваться файлами. К тому же, иногда на хостинге вообще нет поддержки баз данных, тогда файлы вообще остаются единственным выходом.

Ну, допустим я вас убедил, что файлы необходимы simple-smile.png Теперь давайте разбираться, как же с ними работать. Как создавать, открывать, записывать, перезаписывать, читать и так далее. Обо всем по порядку.

Создаем файл

В PHP для открытия файлов используется функция fopen. Тем не менее, она также может и создавать файлы. Если передать fopen имя файла, которого не существует, то она создаст его.

Сама функция fopen принимает два параметра, оба они обязательны. Во-первых, мы должны указать имя файла, который хотим открыть. Во-вторых, передать параметр, который объясняет функции, что мы планируем делать с этим файлом (например, чтение из файла, запись и так далее).

Если нужно создать файл, то указываем его имя и передаем параметр, что мы хотим записать в него данные. Обратите внимание: Мы должны обязательно сказать PHP, что мы пишем в файл, в противном случае она не будет создавать новый файл.
Пример:

$ourFileName = "testFile.txt";
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
fclose($ourFileHandle);

Первая строчка $ourFileName = testFile.txt создает строковую переменную, в которой мы будем хранить имя файла.
Вторая строчка $ourFileHandle = fopen($ourFileName, ‘w’) or die(«can’t open file») соответственно создает или открывает уже существующий файл на запись. Или же возвращает сообщение, что не может открыть файл.
Третья строчка fclose($ourFileHandle) закрывает файл. На самом деле все просто.

Параметры открытия файла в php
  • Первый параметр ‘r’ (read) — открывает файл только на чтение, записывать в него будет нельзя.
  • Второй параметр ‘w’ (write) — открывает для записи. При этом всегда запись будет идти с начала файла. Если там уже есть какая то информация — то она будет перезаписана.
  • Третий параметр ‘a’ (append) — открывает файл на запись, но при этом будет дописывать в конец файла, в отличие от w.

Расширенные параметры:

  • Параметр ‘r+’ — открывает и на чтение и на запись. Указатель будет в начале файла.
  • Параметр ‘w+’ — открывает и на чтение и на запись, НО удаляет всю информацию, которая была в файле!!!
  • араметр ‘a+’ — открывает на чтение и запись, но указатель будет в конце файла.

Естественно, что функции можно передать только один из этих параметров, а не несколько. Их нужно подставлять вместо ‘X’:

fopen($ourFileName, 'X')
Запись в файл

Ну, вот мы открыли файл, подобрали нужный нам параметр, что же дальше? Нужно в него что-то записать. Как это сделать? С помощью функции fwrite, которая принимает в качестве параметров указатель на файл и строку текста, которую хотим записать. Пример:

$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "Первая строчка\n";
fwrite($fh, $stringData);
$stringData = "Вторая строчка\n";
fwrite($fh, $stringData);
fclose($fh);

Создали файл testFile.txt, указатель на него хранится в переменной $fn. Записали в него строчку «Первая строчка» (в конце применили символ конца строки \n), а затем и «Вторая строчка». После чего закрыли файл.

ВНИМАНИЕ! Никогда не забывайте закрывать ваши файлы! Иначе в случае аварийного завершения выполнения скрипта — данные в файлах не сохранятся! Всегда после работы используйте fclose!!!

Чтение из файла

Записать записали, теперь давайте прочитаем! Это тоже не так сложно. Используем функцию fread. На вход ей подаем указатель на файл и количество байт, которое хотим прочитать. Например, один символ равен одному байту (зависит от кодировки), мы хотим прочитать 5 символов: $theData = fread($fh, 5).
Но если нужно получить всю информацию, которая есть в файле, то тут нам понадобится функция filesize, которая возвращает количество байт в файле, следовательно, если результат функции filesize передать в fread, то мы получим полностью всю информацию из файла:

$myFile = "testFile.txt";
$fh = fopen($myFile, 'r');
$theData = fread($fh, filesize($myFile));
fclose($fh);
echo $theData;

Надеюсь понятно объяснил.
Иногда же полезно читать файл построчно, а не по количеству байт. Для этого вместо fread нужно просто использовать fgets:

$myFile = "testFile.txt";
$fh = fopen($myFile, 'r');
$theData = fgets($fh);
fclose($fh);
echo $theData;

В результате получим первую строчку из файла testFile.txt. Соответственно, чтобы пройтись по всем строчкам нужно использовать цикл foreach:

<?php
    $lines = file('testFile.txt');
    foreach($lines as $single_line)
        echo $single_line . "<br />\n";
?>

Теперь вы научились открывать файлы на чтение, запись или на то и другое. Записывать в них данные или же дописывать сверху, с помощью Append, а также читать из них информацию.






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных