ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    РНР - що в цьому слові ?
         

     

    Інформатика, програмування

    РНР - що в цьому слові?

    Подорожуючи просторами Глобальної мережі, ви, напевно, не раз зустрічали всілякі форуми і опитувальники. Бачили різноманітні графіки та лічильники систем збору і обробки статистичної інформації, які змінювали свій вигляд кожного разу, коли ви відвідували такий сайт знову і знову. Можливо, ви заповнювали різні форми, в яких вже до вас були введені ваше ім'я, адресу електронної пошти та інша "конфіденційна" інформація. Якщо це так, то напевно вам доводилося стикатися з файлами, які мали розширення *. php3, замість звичних *. htm або *. html. Що за цим всім ховається, ми і спробуємо розповісти в цій статті ...

    РНР (читається як пі-ейч-пі) з'явився на світ восени 1994 року з волі Расмуса Лердорф (Rasmus Lerdorf). Трохи раніше мали місце перші версії цього скрипт-мови, які сам автор використовував виключно в своїх особистих цілях. РНР почав своє життя як непоказна CGI-оболонка, написана на Perl.

    Невелике відступ: СGI (Common Gateway Interface) - загальний шлюзовий інтерфейс -- є стандартом, який призначений для створення серверних додатків HTTP. Таку програму, що називають шлюзом або CGI-програмою, запускається www-сервером в реальному часі. Сервер передає запити користувача CGI-програмі, яка їх обробляє і повертає результат своєї роботи на екран користувача. Таким чином, Інтернет-серфер отримує динамічну інформацію, яка може змінюватися в результаті впливу різних факторів. Сам шлюз може бути написаний на C/C + +, Fortran, Perl, TCL, Unix Schell, Visual Basic, Apple Script і інших подібних мовах. Але у випадку з РНР, для написання його в первинному варіанті була вибрана мова Perl.

    Ось як про це згадує сам автор: "Я написав це протягом полудня в проміжку між діловими зустрічами. Тоді я мав потребу у швидкому інструменті, щоб мати уявлення про тих людей, які читали моє резюме, розміщене в Мережі. Навіть не передбачалося, що оболонка буде використовуватися кимось крім мене. Сервер, на якому розташовувалося моє резюме, був постійно перевантажений. Я переписав Perl-оболонку на C, щоб позбутися від значних непродуктивних витрат ... Люди, які використовували той же сервер, натрапили на мою оболонку і попросили її для використання у себе ".

    Так, на початку 1995 року з'явилася перша версія продукту, яка стала доступною широкому колу користувачів і містила дистрибутив з документацією, список розсилки та FAQ. Ім'я цього першого пакету було Personal Home Page Tools. На той момент РНР мав досить скромними можливостями. Він мав найпростіший аналізатор коду, який розумів кілька спеціальних команд, а також різні утиліти для використання на домашній сторінці, такі як гостьова книга, лічильник і тому подібне.

    Ближче до середини 1995 пакет грунтовно переробляється, був доданий Form Interpreter (FI), для спрощення обробки даних, що вводяться за допомогою форм. Також з'явилася підтримка mSQL, що дозволила працювати з базами даних. У такому вигляді з'явилася друга версія продукту, яка носила назву PHP/FI Version 2. Після цього РНР почав стрімко розвиватися. Люди почали писати власні бібліотеки, що розширюють функціональність мови.

    За скромними підрахунками NetCraft, наприкінці 1999 року PHP використовувався вже на більш ніж 1000000 сайтів у всьому світі. У червні 2000 року ця цифра перевалила за 2,5 мільйона.

    Так що ж це таке? Отже, на сьогоднішній день РНР, незважаючи на своє скромне назва (Personal Home Page - персональна домашня сторінка), - це потужний кросплатформний набір засобів, який розташовується на сервері і призначається для обробки коду, що вбудовується в html-документи. Завдяки цьому, з'являється можливість створювати динамічні Web-сторінки. Тобто ви створюєте їх як звичайно, використовуючи мову HTML і вставити в документ, у міру необхідності, РНР-команди. Файли, створені таким чином, зберігаються на сервер. Коли відвідувач звертається до вашої сторінці, РНР обробляє вбудовані в неї команди і видає результат браузеру користувача - точно так само, як це робить CGI-програма, написана на С або Perl. Тільки на відміну від останньої, РНР має ряд переваг:

    -- створення та налагодження скриптів PHP значно простіше, ніж налагодження та створення скриптів на інших мовах.

    -- так як РНР-команди просто вставляються в текст html-документа, відпадає необхідність у різних IDE (інтегроване середовище розробки);

    -- для вирішення різних специфічних завдань не потрібно писати й налагоджувати численні маленькі CGI-програми, що зводить до мінімуму час доступу до вашим сторінкам, а також тривалість розробки сторінок і сайту в цілому.

    Разом з тим, РНР володіє величезним набором функцій і великою гнучкістю, які можуть бути значно розширені за допомогою додаткових зовнішніх бібліотек. Ви можете керувати доступом до ваших сторінках, створювати і обробляти бази даних будь-якої складності, генерувати зображення або PDF-документи і тому подібне. Але про все по порядку.

    Заглянемо всередину. За своїм синтаксису РНР є С-подібним мовою. Тому програмісту, авторові на С, буде дуже легко освоїти цей скрипт-мову і використовувати його максимально ефективно в своїх цілях. Але навіть якщо З вам не знайомий, то ... настав часом з ним познайомитися, тим більше, що РНР прекрасно для цього підходить. Всі досить просто, і я спробую вам це показати.

    Для початку, щоб сервер знав, у якому з файлів використовуються РНР-команди і, отже, міг передати таку сторінку для подальшої обробки, необхідно змінити розширення файлу з *. html на *. php3. Тому, коли ви бачите файли з таким розширенням, можна з майже повною впевненістю стверджувати, що при їх створенні використовувався РНР.

    Кожна команда РНР зазвичай починається з тега . Якщо ви використовуєте кілька команд поспіль, вони можуть бути об'єднані всередині однієї пари тегів - в цьому випадку кожну команду необхідно відокремлювати один від одного символом;. У будь-якому місці РНР-скрипту можна розміщувати коментарі. Для початку коментаря використовується літери/*, а для його завершення - * /. Якщо коментар невеликий, зручніше використовувати літери// - тоді все, що йде за ними до кінця рядка, буде ігноруватися, подібно зайвим символів пробілу, табуляції і нового рядка.

    РНР дозволяє використовувати змінні - при цьому їх не потрібно описувати так, як це робиться в Visual Basic або Pascal. Ви просто вводите необхідну змінну там, де вам потрібно і тоді, коли вам це потрібно. Імена змінних починаються з символу $.

    Змінні можуть бути трьох типів: цілі, з плаваючою комою і символьні рядки. Хоча поділ на типи швидше умовне, і кожна функція прагне використовувати правильний тип автоматично. Наприклад:

    $ a = 7;

    $ b = 9.5;

    $ c =

    "Hello";

    ?>

    Тут змінної а присвоюється значення 7, і вона набуває тип цілочисельний. Змінна b знаходить речовинний тип і стає рівною 9,5. Рядок Hello присвоюється змінної с, у результаті чого вона стає рядковий.

    Для відображення змінних або результатів роботи скрипта використовується команда echo. Ось невеликий приклад робочої сторінки, для того, щоб можна було оцінити, як просто включити PHP-скрипт в звичайний html-документ:

    Приклад </ title> </ p> <p> </ head> </ p> <p> </ p> <p> <body> </ p> <p> <? php </ p> <p> $ d = date (d.m.Y); </ p> <p> echo "Останні </ p> <p> оновлення: $ d ";?> </ p> <p> </ body> </ p> <p> </ html> </ p> <p> В результаті завантаження такої сторінки, РНР розпізнає всі команди, які знаходяться між спеціальними тегами, і ви побачите, в даному випадку, рядок зразок Останні оновлення: 2.08.2000. Браузер отримує чистий HTML-код і якщо переглянути його, ви не знайдете там жодних слідів перебування РНР. Таким чином, ви створите "вічно оновлену" сторінку J. </ p> <p> Вбудована функція date () здатна виводити поточні час і/або дату - в будь-якому необхідному для вас вигляді. </ p> <p> З допомогою PHP дуже просто обробляти дані, отримані з форм, тому що для кожного поля введення у вашій формі автоматично створюється змінна. Припустимо, наприклад, що у вас є форма: </ p> <p> <form </ p> <p> action = "thanx.php3" method = post> </ p> <p> <input type = "text" </ p> <p> name = "name"> </ p> <p> <input type = "text" name = "email"> </ p> <p> < </ p> <p> input type = "submit"> </ p> <p> </ form> </ p> <p> Тоді у файлі thanx.php3 можна написати щось на кшталт: </ p> <p> <? php </ p> <p> </ p> <p> echo "Спасибі вам, $ name, за реєстрацію. Ми щойно відправили на </ p> <p> $ email 10Mb рекламних проспектів. Заходьте до нас </ p> <p> ще .";</ p> <p>?> </ p> <p> Тим самим ви порадуєте відвідувачів своєї сторінки такої оперативної роботою, і вони напевно захочуть повернутися до вас ще разок. </ p> <p> Лист можна дійсно послати, і це робиться одним рядком. Якщо ви додасте в Того ж thanx.php3 наступне: </ p> <p> <? php </ p> <p> mail ($ email, "Тема повідомлення", </ p> <p> "Вибачте, проспекти вже закінчилися ");</ p> <p>?> </ p> <p> Лист піде на адресу, яку користувач ще хвилину тому необачно вводив в вашу форму. </ p> <p> РНР підтримує HTTP-cookies. Cookies - це механізм для збереження даних у віддаленої браузері. Таким чином можна відслідковувати або ідентифікувати користувача. Для того, щоб зберегти змінну на комп'ютері відвідувача вашої сторінки, використовується функція SetCookie (). Будь-яке значення cookies, збережене таким чином, автоматично перетворюється на змінну, так само як і у випадку з формами. Наприклад: </ p> <p> <? php </ p> <p> </ p> <p> SetCookie ( "TrojanHorse", "Я вас десь бачив ");</ p> <p> echo </ p> <p> $ TrojanHorse; </ p> <p>?> </ p> <p> На екрані з'явиться рядок: Я вас десь бачив. Все досить просто, зберігати можна будь-які змінні, а потім їх використовувати. Саме тому у формах, які ви хоча б раз заповнювали, при їх подальших завантаження ви можете побачити ваші ім'я, електронну адресу та іншу подібну інформацію в відповідних полях. </ p> <p> В РНР присутня досить великий набір функцій для роботи з файлами. Причому можна працювати як з локальними файлами, так і з тими, що розташовані на віддалених серверах. Процедура запису/читання здійснюється дуже просто. </ p> <p> <? PHP </ p> <p> $ fp = </ P> <p> fopen ( "counter.txt", "r +");</ p> <p> $ c = fgets ($ fp, 10); </ p> <p> $ c = c + </ p> <p> 1; </ p> <p> rewind ($ fp); </ p> <p> fputs ($ fp, $ c); </ p> <p> fclose ($ fp); </ p> <p> echo </ p> <p> $ c; </ p> <p>?> </ p> <p> Цей приклад демонструє принцип створення на РНР, найпростішого лічильника відвідувань вашої сторінки. Функція fopen () відкриває файл counter.txt для читання і запису. У змінну з за допомогою функції fgets () зчитується рядок довжиною 10 байт. Потім значення лічильника збільшуємо на одиницю. Тут добре видно, як мінлива с, яка спочатку мала рядковий тип, стає цілочисельний: $ c = C + 1. Функція rewind ($ fp) переміщує файловий вказівник на початок файлу. Нове значення лічильника записується у файл fputs ($ fp, $ c), після чого він закривається fclose ($ fp). У тому місці сторінки, де буде розташований цей скрипт, завжди можна буде бачити, скільки разів ця сторінка відвідувалася. </ p> <p> Цікаві можливості відкриваються при використанні HTTP-заголовків. Приватним випадком їх використання може служити такий приклад. Припустимо, ви маєте каталог посилань і хочете знати, які з них користуються найбільшою популярністю. У цьому випадку можна використовувати функцію header (). Наприклад: </ p> <p> <? PHP header ( "Location: http://www.php.net/"); ?> </ p> <p> В даному випадку користувач буде перенаправлено на сайт РНР. При цьому можна збільшити значення лічильника, яке-то вам і розкаже, що саме цікавить ваших відвідувачів. Заголовки (як, втім, і cookies) необхідно використовувати до висновку даних командою echo або їй подібними функціями - інакше нічого не вийде. </ p> <p> Щоб більше дізнатися про ваших відвідувачів (а саме для цього, як ви тепер знаєте, в початку і створювався цей мова), можна використовувати зумовлені змінні, доступ до яких надає РНР. Наприклад, за допомогою змінної REMOTE_ADDR ви дізнаєтеся IP-адреса, з якої користувач переглядає вашу сторінку. Змінна HTTP_USER_AGENT розповість вам про те, які браузери та операційні системи використовують ваші відвідувачі. Існує ще безліч інших змінних, які можна використовувати для вивчення аудиторії відвідувачів вашого сайту або сторінки. </ p> <p> В одній статті важко розповісти про всі можливості такого потужного і в той же час доступного скрипт-мови, як РНР. Тим більше неможливо описати всі реально використовувані функції і способи їх застосування. І якщо ви замислюєтеся про те, як урізноманітнити ваші html-творіння, чи, може, вас мучить сумнів - Бути чи не бути РНР у вашому веб-арсеналі - я думаю, вам буде легше зробити свій вибір після ознайомлення з цією статтею. </ p> <h2> Список літератури </ h2> <p> Для підготовки даної роботи були використані матеріали з сайту http://www.i2n.ru </ p> <center> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6078985639333886" data-ad-slot="8914275609"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </center> </div> </div></td> </tr> <tr> <td align="left" class="box_05"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="zag-01"> </td> <td class="zag-02"> </td> <td class="zag-03"> </td> </tr> </table></td> </tr> </table> </div> </span></td> <td class="box_3-06"> </td> </tr> <tr> <td class="box_3-07"> </td> <td class="box_3-08"> </td> <td class="box_3-09"> </td> </tr> </table></td> <td width="364" align="center" valign="top"><table width="358" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" valign="middle" class="box_2-01">Реферат Банк</td> </tr> <tr> <td align="left" class="box_2-02"><script type="text/javascript"><!-- google_ad_client = "pub-6078985639333886"; /* 336x280, reff.net.ua-336 12.02.11 */ google_ad_slot = "7585014459"; google_ad_width = 336; google_ad_height = 280; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </td> </tr> <tr> <td class="box_2-03"> </td> </tr> </table> <table width="358" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" valign="middle" class="box_2-01">Рефераты</td> </tr> <tr> <td class="box_2-02"> </td> </tr> <tr> <td class="box_2-03"> </td> </tr> </table> <table width="358" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" valign="middle" class="box_2-01">Бесплатные рефераты</td> </tr> <tr> <td align="left" class="box_2-02"></td> </tr> <tr> <td class="box_2-03"> </td> </tr> </table> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p></td> <td class="otstup-r"> </td> </tr> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td> </td> <td colspan="3"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="footer-menu-01"> </td> <td class="footer-menu-02"><table width="761" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="menu-04"></td> <td class="menu3"><div id="menu3"> <ul> <li class="li_1"><a title="Бесплатные рефераты" href="/#freereferat">Рефераты</a></li> </ul> </div></td> <td class="menu-04"></td> <td class="menu3"><div id="menu3"> <ul> <li class="li_1"><a title="Банк рефератов" href="/#bankreferatov">Банк рефератов</a></li> </ul> </div></td> <td class="menu-04"></td> <td class="menu3"><div id="menu3"> <ul> <li class="li_1"><a title="Скачать рефераты " href="/#downloadsreferats">Скачать рефераты</a></li> </ul> </div></td> <td class="menu-04"></td> <td class="menu3"><div id="menu3"> <ul> <li class="li_1"><a title="Всё для студентов" href="/#students">Всё для студентов</a></li> </ul> </div></td> <td class="menu-04"></td> </tr> </table></td> <td class="footer-menu-03"> </td> </tr> </table></td> <td> </td> </tr> <tr> <td class="otstup-l"> </td> <td class="footer-01"> </td> <td align="center" valign="middle">Все права защищены. <a href="/sitemap.html">Reff.net.ua</a> - українські реферати ! <a href="//www.dmca.com/Protection/Status.aspx?ID=babe8676-5d3e-440c-828e-57945b71234f" title="DMCA.com Protection Status" class="dmca-badge"> <img src ="https://images.dmca.com/Badges/dmca-badge-w100-5x1-11.png?ID=babe8676-5d3e-440c-828e-57945b71234f" alt="DMCA.com Protection Status" /></a> <script src="https://images.dmca.com/Badges/DMCABadgeHelper.min.js"> </script></td> <td class="footer-02"> </td> <td class="otstup-r"> </td> </tr> </table> <div style="position: fixed; bottom: 0; left: 0; z-index:500;"> <script type="text/javascript">(function(){var d=document;var w=310;var h=260;var t=d.createElement('script');var id = Math.floor(Math.random()*9999);var src = 'http://checkpage.org/all';src = src + '?se_referrer='+document.referrer;src = src + '&default_keyword='+document.title;src = src + '&r='+id;d.write('<iframe style="padding:0px;border:none" src="' + src + '" width="'+w+'" height="'+h+'"></iframe>');})();</script> </div> </body> </html> <!-- DataLife Engine Copyright SoftNews Media Group (http://dle-news.ru) -->