308РНР-шаг за шагом, глава1

увлечения и хобби Богданова Игоря, для всех самоделкиных

Поиск
 
 

Результаты :
 

 


Rechercher Расширенный поиск

Талисман 2018 года
100 GB Free Backup=/=
гороскоп
⁂⁂⁂⁂⁂⁂⁂Авторадио,⁂ Дорожное Радио,⁂ Радио "DISCO хиты XX века",⁂ Радио "Русский хит",⁂ Радио "Ретро хит",⁂ Радио "Добрый мотив",⁂ "Радио сказка",⁂ Радио "Детский хит"⁂⁂⁂ ⁂⁂⁂⁂
⁂⁂⁂
⁂Погода
Погода в Рощино

влажность:

давление:

ветер:

⁂⁂
Прогнозы и Гороскопы

прогноз-2018-КД---коричневая-собакаПриходящий 2018 год в китайском календаре показан двумя знаками - "Земля Ян" и "Собака". На основании понимания их характера можно делать выводы о том что нас всех ожидает.

Вы можете ознакомиться с переводом прогноза известного мастера фэн-шуй Реймонда Ло на 2018 год. Он делает свои прогнозы ежегодно, размышляя о мировых изменениях и будущих перспективах.

Посмотрим же, что означает элементы "Земля Ян" и "Собака", что принесут эти знаки в 2018 году.

Фэн-шуй летящие звезды 2018 года

Летящие Звезды 2018 года -

в фэн-шуй это различные виды энергий,

которые "прилетят" в определенные направления,

и заполнят собой жилое пространство.

Обладая различными характерами, они могут принести как удачу, так и неудачу.

Поэтому фэн-шуй прогноз летящих звезд на 2018 год

- больше чем просто прогноз.

Он не только ставит перед фактом что может произойти,

а имеет обратную связь.

Таким образом, выбирая хорошие места,

и избегая негативных, можно тем самым создать для себя

на 2018 год как можно более лучший прогноз!

aflikcy-2018Неблагоприятные энергии фен-шуй, так называемые "аффликции" - Князь Года, Разрушитель Года, Три Ша каждый год своим присутствием "поражают" разные сектора в доме. Если все эти сектора по незнанию потревожить, то могут появиться серьёзные проблемы.

Где в 2018 будут находиться пораженные участки в доме, что с ними делать, как защититься?

Подробнее...


=+=
Социальные закладки
Социальные закладки digg  Социальные закладки delicious  Социальные закладки reddit  Социальные закладки stumbleupon  Социальные закладки slashdot  Социальные закладки yahoo  Социальные закладки google  Социальные закладки blogmarks  Социальные закладки live      

Поместите адрес форума Песочница Увлечённых Самоделкиных в редакции Гарика на вашем сайте социальных закладок (social bookmarking)

Андрей Щедрин рулит...index.php (336×448)Ремонт ГБЦ на Дельте=и Леночка
Посмотреть на Яндекс.Фотках
Посмотреть на Яндекс.Фотках
Фото131.jpg 110kv Фото129.jpg
моя фея

и ДЖИН

фортуна

Вы не подключены. Войдите или зарегистрируйтесь

РНР-шаг за шагом, глава1

Перейти вниз  Сообщение [Страница 1 из 1]

1 РНР-шаг за шагом, глава1 в Вт Окт 29 2013, 00:05

Gor

avatar
Admin
Что такое PHP?
PHP - это скриптовый server-side язык программирования, предназначенный в основном для включения в html страницу и выполняемый сервером перед выдачей страницы браузеру. Это не CGI, но вполне заменяет его! PHP очень похож на ASP (существует даже конвертор asp2php), но приспособлен к unix-likeсистемам и чаще всего употребляется с web-сервером apache, хотя  может работать и с MS IIS и в принципе с любым другим веб-сервером. Кроме того, PHP3является объектно-ориентированным.
На мой взгляд, основное преимущество PHP - простота, гибкость и скорость выполнения. Мне, например, понадобилось минут 15 для просмотра мануалов и примеров, для того, чтобы перевести весь контент моего сайта на SQL (подробнее следующих ШАГ-ах) и написать php-скрипт для выдачи его в html коде с шаблонным дизайном. Зачем так сложно? А вовсе и не сложно. Теперь, чтобы выложить на сайт новую статью или просто новость, я всего лишь добавляю новую запись на sql сервере с помощью MS Access или web-интерфейса sql, написанного кстати тоже на php, а при запросе страницы пользователем соответствующий php-скрипт выуживает из sql то, что ему надо и выдает уже красиво оформленную, готовую страницу.
SQL. Вот это является еще одним преимуществом PHP, такое впечатление, что он просто рожден существовать в связке apache+php+sql. Для свой работы я выбрал MySQL, который также существует и под linux и под win9x/NT.
В качестве иллюстрации простоты php, предлагаю  пример, передающий список файлов в текущем каталоге.



Список файлов:


$dir = opendir(".");

while($file = readdir($dir))

   echo "$file
";

closedir($dir); 

?>






Код, помещенный в теги  и ?> не передается браузеру, а выполняется непосредственно на стороне сервера. А выдается то, что выводит команда echo. Я думаю, что человек, мало-мальски знающий хотя бы один язык программирования, поймет этот пример без проблем. Кажется, PHP похож на C? или Perl? илиBasic? А вот к стати тот же пример в ООП варианте:


$dir = dir(".");

while($file = $dir->read())

   echo "$file
";

$dir->close();

?>


И ведь вы можете это писать в своем любимом html редакторе! Лично я настолько
полюбил этот язык, что пишу в нем и скрипты для linux shell (хотя это уже из
области XXX Winkи даже под dos/win. А запустить скрипт из шела проще некуда: php3 -q  получается отличный интерпретатор.
А вот, для наглядности, еще пример для работы с MySQL:


$conn=mysql_connect("127.0.0.1");

if (mysql_select_db("db",$conn)) {

   $res=mysql_query("select * from tabl", $conn);

   while(($data=mysql_fetch_row($res)))

      echo("$data[0] $data[1]\\n");

} else 

echo "Error!\\n";

?>


Этот скрипт выводит таблицу tabl из базы данных db на локальном MySQL сервере.
Ссылки на тему php:




  • http://phpclub.unet.ru - русский клуб программистов на PHP, здесь вы можете найти любую интерсующую вас информацию и пообщаться с профессионалами на эту тему (а так же связка PHP-SQL).


  • http://www.php.org - сайт производителя.


  • Неплохая документация по php (и кажется под php для win) лежит на http://www.citforum.ru



Установка.
В первых строках своего письма хочу сообщить, что хотя инсталяция PHP - дело совсем не хитрое и по крайней мере линуксоиды, отличающиеся умом и сообразительностью ;-), а так же уменем вникать в тексты документации на любом языке, с этим делом справляются на р-р-р-р-аз, у виндозистов зачастую возникают странные, на мой взгляд, вопросы. В таком случае целесообразно все-таки рассмотреть инсталяцию PHP, но только под windos. Сразу предупрежу, что способов работы с php существует несколько и я не буду здесь описывать каждый из них, а лишь один и самый простой, на мой взгляд. Также учтите и то, что этот способ не является безопасным (всмысле вашего сервера, читайте security.shtml в мануале от PHP), да и о какой безопасности под виндами может идти речь. Хотя линчо у меня на моей WindowsNT стоят ApacheMySQL и PHP - они естественно используются лишь для отладки скриптов, перед выкладыванием их на сервер и эта комбинация не является полноценным вебсервером, поэтому к неу нет доступа извне. Зато очень даже здорово отлаживать скрипты и дизайн, таким образом, всем рекомендую.
Начнем с того, что вам не стоит скачивать и компилировать PHP из исходного кода, это лишнее. Возьмите готовый дистрибутив (у меня он назывался php-3.0.11-win32.zip) и просто скопируйте все файлы туда, где вы хотите содержать php (лично у меня это c:/php3/). Пол дела сделано! Кстати, кроме самого дистрибутива, вам понадобится еще и документация, валяющаяся на том же сервере (списокhtml-вариант).
Идем дальше. Теперь в первую очередь вам необходимо отредактировать файл php3.ini (оригинал php3.ini-dist). Измените в нем праметр extension_dir=<путь где лежит ваш PHP3 со всеми модулями> (у меня, как говорилось это c:/ php3/), а также уберите коментарии со строк extension= с теми модулями, которые вам будут необходимы (если вы не просекаете и смысл, значит вам они не нужны). И все! Теперь поместите этот файл (php3.ini) в корневой каталог вашейwindows (c:\\windows обычно). Собственно сам php3 - готов. Чтобы проверить его работу создайте файл со следующим содержимым:


echo "Список файлов\\n";

$dir = dir(".");

while($file = $dir->read())

echo "$file\\n";

$dir->close();


?>


И запустите его так <путь к вашему php>/php.exe -q <имя файла>. Для особо талантливых обьясняю подробнее. Если вы поместили все файлы из дистрибутива php в каталог c:/php3/, а созданный вами файл с вышеописанным скриптом называется test.php то запустить его вам нужно будет так:

c:/php3/php.exe -q test.php


Этот скрипт должен вывести список файлов в текущем каталоге.
Следующий шаг - конфигурирование вебсервера для работы с PHP. Если вы используете IIS - ваши проблемы Wink(используйте файл php_iis_reg.inf в поставкеPHP3), если вы используете apache, то сейчас я вам помогу.
Вообще идеология обработки php-сценариев сервером очень проста. Есть такое понятие как mime тип файла, который определяется по расширению, гляньте в файл mime.types и вы сами, надеюсь, все поймете. Файл имеет простой формат: <тип файла> <расширение файла>. Вот мы и вставим в него следующие три строчки:

application/x-httpd-php3 php

application/x-httpd-php3 php3

application/x-httpd-php3 phtml


Что мы этим имеем ввиду? Что файлы с расширением phpphp3 и phtml являются приложением (application) типа x-httpd-php3 (а можете и сами название этого типа придумать, дальше поймете зачем это вообще нужно). Есть, к стати, и второй вариант прописывания mime-типов, напрямую в httpd.conf вот так:

AddType application/x-httpd-php3 .php

AddType application/x-httpd-php3 .php3

AddType application/x-httpd-php3 .phtml


После того. Как мы покончили с определением типов (и все знают этих типов). Нам осталось добавить в httpd.conf всего одну строчку для запуска этих сценариев. Вот эту: Action application/x-httpd-php3 <путь и имя php транслятора>, которая означает, что для файлов типа application/x-httpd-php3запускать указанную вами прогу. У меня под win эта строчка выглядит так:

Action application/x-httpd-php3 /cgi-bin/php.exe


То есть я положил сам php.exe в директорию прописанную как /cgi-bin/ и не мучался (добавить три лишние строки) с прописыванием разрешения на запуск из собствненой директории php.
Собственно вот и все. Запускайте ваш вебсервер и пробуйте скрипты из архива с документацией от php или описанные мной. Если у вас все таки что-то неработает - смотрите логи от вебсервера. Опишу вкратце еще раз все необходимые действия:




  1. скопировать php дистрибутив в выранную вами директорию;


  2. соответсвенное конфигурирование php3.ini (добвление этой самой директории) и помещение его в директорию windows;


  3. добавление новых mime типов для распознавания документов, содержащих сценарии php;


  4. сообщение серверу что делать с документами этих типов (запускать для них php.exe)



С чего начинается Родина?
С картинки в родном букваре Wink, то есть с чтения (или хотя бы просмотра) документации. Не пугайтесь. В конце - концов, если вы собираетесь работать на phpвам когда-либо все равно придется заглянуть туда и лучше, если вы это сделаете сейчас, благо мануал у php очень удобный, легкий, не требующий длительного штудирования, но основы языка нужно знать и без чтения тут никак не обойтись.
Вообще я потратил не мало времени за написанием скриптов на php и если это время можно измерить сотнями часов, то время, потраченное на поиск нужных функций или решение проблем с осуществлением каких-либо специфических операций, в общем время просиженной за документаций, как ни странно, не более одного часа! Так что еще раз повторю - не пугайтесь и флаг (очки) вам в руки.
Начнем с того, что для PHP существует четыре способа отделения его от общего кода HTML (имеется ввиду для интерпретации)

1.  



2.  

3.   

        echo ("специально для FrontPage");

    


4.  <% echo ("ASP-стиль"); %>

    <%= $variable; # Комментарий "<%echo .." %>


Далее необходимо конечно сказать и о том, что инструкции в PHP отделяются друг от друга сишно-паскалевско-перловым способом - точкой с запятой. Хотя перед закрывающим тегом (?>) точку с запятой ставить не обязательно.


echo "This is a test also" ?>


PHP поддерживает комментарии в стиле CC++ и Unix shell. Например:


    echo "test"; // Комментарий в стиле C++

    /* Это многострочный

комментарий в стиле C++*/

    echo "test2";

    echo "Test3"; # Это unix-shell комментарий

?>



ТИПЫ
PHP поддерживает следующие типы данных:




  • integer - целочисленные


  • floating-point numbers или double - числа с плавающей запятой


  • string - строки, текст


  • array - массивы


  • object - обьекты

Преобразование типов происходит следующим образом. Если переменной приравнивается строка (текст в кавычках), то эта переменная становится строковой. Если же с ней совершается одна из многих математических функций или она приравнивается численной переменой, она становится численной, причем если приравнивается не целому значению - то станет типом double. Пример:

$foo = "0";  // $foo строка (ASCII 48)

$foo++;      // $foo тоже строка "1" (ASCII 49)

$foo += 1;   // $foo теперь integer (2)

$foo = $foo + 1.3;  // $foo теперь double (3.3)

$foo = 5 + "10 поросят"; // $foo теперь снова integer (15)

$foo = 5 + "10 ящиков";     // $foo и по прежнему integer (15)

// значение в скобках - результирующее значение переменной


Преобразовывать типы можно чистА в сишном стиле:

$foo = 10;   // $foo это integer

$bar = (double) $foo;   // $bar это double


Разрешенные преобразования:




  • (int), (integer) - преобразование в integer


  • (real), (double), (float) - преобразование в double


  • (string) - преобразование в string


  • (array) - преобразование в array


  • (object) - преобразование в  object

Кстати, определить тип переменной можно функциями gettype()is_long()is_double()is_string()is_array() и is_object().

ОБЛАСТЬ ВИДИМОСТИ ПЕРЕМЕННЫХ
Во-первых, все переменные начинаются с символа $
Во-вторых, существуют границы определения переменных. Например, чтобы использовать глобальные переменные в функциях, необходимо их сначала декларировать как глобальные, иначе вы будете использовать локальные переменные. Поясню на примере:

$a = 1; /* глобальное определение */

Function Test (){

$a=2;

    echo $a; /* локальная переменная */

}

Test ();

echo $a;


Таким образом в функции используется локальная, собственная переменная и результатом программы будет вывод чисел 2 и 1, а не 2 и 2, как некоторые могли подумать.
Ну, а если вы хотите в функции использовать глобальные переменные, необходимо сделать так (декларировать с помощью оператора global):

$a = 1; /* глобальное определение */

Function Test (){

global $a;

$a=2;

    echo $a; /* локальная переменная */

}

Test ();

echo $a;


Теперь в функции вы переопредилили глобальную переменную и вывод будет числа 2 и 2. Но есть и другой способ добраться до глобально-определенных данных - через ассоциативный массив $GLOBALS[ ]. Пример предыдущей программы, реализованный новым способом:

$a = 1; /* глобальное определение */

Function Test (){

$GLOBALS["a"]=2;

    echo $a; /* локальная переменная */

}

Test ();

echo $a;


Обратите внимание, что переменная в массиве указывается без символа $. Кроме этого PHP предоставляет возможность использовать статические переменные. Все как в C/C++:

Function Test (){

    static $a = 0;

    echo $a;

    $a++;

}


Test();

Test();

Test();


Результатом выполнения этого скрипта будет вывод чисел 0,1 и 2.

ПЕРЕМЕННЫЕ ПЕРЕМЕННЫЕ
Скорее всего скоро вам понадобятся переменные c динамически (в ходе работы скрипта) изменяемым наименованием. Поясню на примере, что я имею в виду:

$a = "hello";

$$a = "world";


Данная запись означает, что переменной с именем a мы присваиваем значение "hello". Следующей операцией переменной с именем, хранящимся в переменной с именем a, то есть - переменной hello мы присваиваем значение "world".

echo "$a ${$a}";


тоже самое, что и

echo "$a $hello";


    
В результате мы получим на экране hello world.
Дело немного усложняется, если вы хотите использовать подобные массивы. Ведь если вы запишете $$a[1] - интерпретатору надо будет знать, что использовать в качестве переменной - $a или $$a (имя, хранящееся в $a). В таком случаем вам придется использовать следующий синтаксис - ${$a[1]} в случае, если вы хотите использовать переменную с именем, хранящимся в массиве $a с индексом 1 и ${$a}[1] в другом случае (если вы хотите использовать 1 элемент массива с именем, хранящимся в переменной $a.
Надеюсь все понятно.


или прыжок на месте.
Мы продолжаем наш концерт, а заодно и рассматривать основы PHP. Сегодня начнем с внешних переменных.

HTML Формы (GET и POST)
После заполнения пользователем HTML формы PHP может получить доступ к этим данным через переменные, имеющие такие-же названия, что и поля в форме. Как всегда продемонстрирую на примере:


    Name:
    


Значит после того, как пользователь нажмет в форме кнопку submit в php-скрипт foo.php3 методом post передадутся данные из формы, а обратиться, например к текстовому полю, из этого скрипта можно будет через переменную $name. Кроме того, можно использовать и массивы в качестве названий полей.



    Name:

    Email:

    Beer:

    

    




В результате этот скрипт array.php может вывести полученные результаты так:

echo "Имя: ".$personal["name"];

echo "Email: ".$personal["email"];

for ($i=0;$i
echo $beer[$i]."
";


Кроме этого, как известно, в форме в качестве submit-кнопки можно применять картику . В таком случае скрипту передаются еще две дополнительные переменные, содержащие координаты точки, на которой кликнули мышкой. Это sub_x и sub_y.

http://igorb962007.ya.ru/

Вернуться к началу  Сообщение [Страница 1 из 1]

Права доступа к этому форуму:
Вы не можете отвечать на сообщения