Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/



Podobne dokumenty
Oczywiście plik musi mieć rozszerzenie *.php

Bazy Danych i Usługi Sieciowe

I.Wojnicki, PHP. PHP PHP Hypertext Preprocessor. Igor Wojnicki. Katedra Automatyki Akademia Górniczo-Hutnicza w Krakowie. 20 października 2013

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

I.Wojnicki, PHP. PHP PHP Hypertext Preprocessor. Igor Wojnicki. Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie.

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Programowanie internetowe

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

System operacyjny Linux

Systemy internetowe Wykład 3 PHP

Umieszczanie kodu. kod skryptu

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Należy ściągnąć oprogramowanie Apache na platformę

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Bazy Danych i Usługi Sieciowe

System operacyjny Linux

Zaawansowane bazy danych i hurtownie danych

Technologie internetowe server-side na przykładzie języka PHP

Dlaczego PHP? - zalety

1 Podstawy c++ w pigułce.

Smarty PHP. Leksykon kieszonkowy

PHP: bloki kodu, tablice, obiekty i formularze

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

1 Podstawy c++ w pigułce.

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;

Obiektowe bazy danych

FORMULARZE. G. Przęczek

APLIKACJE INTERNETOWE 5 PHP W P R O W A D Z E N I E D O P R O G R A M O W A N I A

Personal Home Page PHP: Hypertext Preprocessor

Krótki kurs JavaScript

Podstawy Programowania C++

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

INSTALACJA I KONFIGURACJA SERWERA PHP.

Michał Bielecki, KNI 'BIOS'

Microsoft IT Academy kurs programowania

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Języki skryptowe w programie Plans

Podstawy JavaScript ćwiczenia

Języki programowania wysokiego poziomu. PHP cz.1.

1. Wprowadzenie do języka PHP

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

I.Wojnicki, PHP. PHP PHP Hypertext Preprocessor. Igor Wojnicki. Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie

Internetowe bazy danych

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

I.Wojnicki, JiTW. PHP PHP Hypertext Preprocessor. Igor Wojnicki. Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie.

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

1 Przygotował: mgr inż. Maciej Lasota

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Laboratorium 1 Wprowadzenie do PHP

Bazy danych i strony WWW

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

Zarządzanie systemami informatycznymi. Pojęcie systemu informatycznego Tworzenie interaktywnego oprogramowania internetowego w PHP

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Tworzenie aplikacji w języku Java

Kurs WWW. Paweł Rajba.

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Trochę o plikach wsadowych (Windows)

JavaScript funkcyjność

SSK - Techniki Internetowe

Część 4 życie programu

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Programowanie obiektowe

Języki skryptowe - PHP. Podstawy PHP. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Kurs PHP. Literatura. Zagadnienia: Wprowadzenie

Programowanie obiektowe

PHP. PHP: Hypertext Preprocessor. mgr inż. Remigiusz Pokrzywiński

Tworzenie Stron Internetowych. odcinek 10

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Kompozycja Proceduralna

do drukowania tekstu służy funkcja echo <?php echo "hello world!";?> jeżeli użyjemy jej kilka razy: <?php

Zagadnienia. Konstrukcja bibliotek mysql i mysqli w PHP. Dynamiczne generowanie stron. Połączenie, zapytanie i sesja

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Programowanie w internecie

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Komunikacja między klientem, a skryptem PHP, oraz operacje na plikach

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Języki programowania wysokiego poziomu. PHP cz.2.

Platformy Programistyczne Podstawy języka Java

Transkrypt:

Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Spis treści Wprowadzenie, pierwszy przykład Sposoby użycia, PHP5 i bazy danych Osadzanie skryptów, komentarze Zmienne, stałe, typy danych Tablice, struktury kontrolne, funkcje Dołączanie zewnętrznych plików Obsługa napisów, obsługa plików Wyrażenia regularne, PHP i wiersz poleceń - 2 -

Wprowadzenie PHP akronim rekursywny PHP: Hypertext Processor Tworzony na zasadach OpenSource, bezpłatny Dostępny jako moduł lub CGI pod wieloma platformami, m.in. Linux i Windows z wieloma serwerami HTTP, m.in. Apache i IIS Można zagnieżdżać znaczniki HTML PHP może generować dowolny kod (np. JPEG) - 3 -

Pierwszy przykład <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>przykładzik</title> </head> <body> <?php echo "Oto przykład pierwszy.";?> </body> </html> - 4 -

Sposoby użycia Skrypty po stronie serwera serwer WWW parser PHP przeglądarka Skrypty z linii poleceń parser PHP zastosowanie do przetwarzania tekstu uruchamiane w cronie lub menedżerze zadań Aplikacje po stronie klienta (np. PHP-GTK) - 5 -

PHP5 i bazy danych Adabas D Ingres Oracle (OCI7 i OCI8) dbase InterBase Ovrimos Empress FrontBase PostgreSQL FilePro - 6 - msql SolidHyperwave Direct MS-SQL Sybase IBM DB2 MySQL Velocis Informix ODBC Unix dbm

Osadzanie skryptów PHP poza trybem "PHP" przepisuje tekst bez zmian Sposoby,,włączania'' trybu PHP są następujące: <? echo "To jest skrypt";?> <?= "To jest ten sam skrypt";?> <?php echo "W XHTML i XML lepiej tak";?> <% echo "To znowu jest skrypt"; %> <%= "To znowu jest ten sam skrypt"; %> <script language="php"> echo "Można też tak"; </script> - 7 -

Komentarze Komentarze są //, # jednowierszowe /*... */ blokowe - 8 -

Zmienne Zmienne są typowane dynamicznie Nazwę poprzedzamy znakiem $ Wielkie i małe litery w nazwach są rozróżnialne Do pobrania referencji do zmiennej jest znak & Referencja może być pobrana tylko do nazwanego wyrażenia Wyświetlanie zmiennych echo $zmienna; echo "$a i $b"; - 9 -

Zmienne Przykłady: Prosty przykład <?php $imie="jan"; $nazwisko="nowak"; $wiek="44"; echo $imie." ".$nazwisko.", ".$wiek." lata"; echo "$imie $nazwisko, $wiek lata"?> Drugi przykład <?php $temat="bieg"; echo "za{$temat}anie";?> Trzeci przykład <?php $a=1; $b=2; $a=&$b; $a=3; echo "$a $b"; // $zle = &(20*30); - tak nie wolno?> - 10 -

Zmienne Wybrane funkcje do obsługi zmiennych get_defined_vars get_resource_type doubleval, floatval, strval is_array is_bool is_callable is_double is_float is_int, is_integer is_long - 11 - is_numeric is_object is_real is_resource is_scalar is_string is_null print_r, settype serialize, unserialize isset, unset

Stałe Definiujemy poprzez funkcję bool define(string nazwa, mixed wartość [, bool case_insensitive]) Sprawdzamy, czy zdefiniowana poprzez funkcję bool defined (string nazwa_stalej) Pobieramy wartość stałej poprzez funkcję mixed constant(string name) Tablicę stałych pobieramy poprzez funkcję array get_defined_constants() - 12 -

Stałe Przykłady?> Przykład pierwszy <?php define("stala", "test"); echo Stala; // Stala i,,notice'' define("stala", "Ahoj!!!", true); echo Stala; // test?> Drugi przykład <?php define("stala", "test",true); echo(defined('stala')? "OK" : "Nie OK"); print_r(get_defined_constants()); - 13 -

Typy danych Skalarne boolowski: boolean liczby całkowite: integer liczby zmiennoprzecinkowe: float łańcuchy znaków: string - 14 -

Typy danych Złożone tablice: array obiekty: object Specjalne identyfikatory zasobów: resource puste: null - 15 -

Typy danych Boolowski: TRUE,FALSE Liczby całkowite: 1234,-123,0123,0xABC Liczby zmiennoprzecinkowe: 1.2,3E-2 Łańcuchy znaków pojedyncze cudzysłowy podwójne cudzysłowy składnia heredoc - 16 -

Typy danych Łańcuchy znaków c.d. Znaki specjalne: \n, \r, \t, \\, \$, \" Składnia heredoc $s = <<<EOD To jest taki\n trochę dłuższy napis EOD; Offset: $s{0}, $s[5] - 17 -

Tablice Konstruktor array array( [klucz =>] wartość,...) klucz napis lub liczba całkowita wartość cokolwiek Przypisywanie wartości $tablica[klucz] = wartość; $arr[] = wartość; // kluczem będzie kolejna liczba Usuwanie pary klucz-wartość Poprzez funkcję unset($zmienna) - 18 -

Tablice Przykład 1 $a = array( 1 => 'jeden', 2 => 'dwa', 3=>'trzy' ); unset($a[2]); /* to tak, jakby utworzyć tablicę: $a = array( 1 => 'jeden', 3 => 'trzy'); ale NIE: $a = array(1 => 'jeden', 2 => 'trzy'); */ - 19 -

Tablice Przykład 2: $wypasiona_zmienna = array( "owoce" => array("a" => "pomarańcza", "b" => "banan", "c" => "jabłko"), "liczby" => array(1,2,3,4,5,6), "dziury" => array( "pierwsza", 5 => "druga", "trzecia") ); $x = $wypasiona_zmienna['dziury'][5]; - 20 -

Struktury kontrolne Instrukcja warunkowa if, else, elseif Pętle if (cond) instrukcje; elseif (cond) instrukcje; else instrukcje; (cond)? expr1 : expr2; while..do while (cond) instrukcje; do..while do instrukcje while (cond); - 21 -

Struktury kontrolne Pętle c.d. for for ( init, cond, post ) instrukcje; foreach foreach(tablica as $wartość) wyrażenie foreach(tablica as $klucz => $wartość) wyrażenie break, continue switch return - 22 -

Struktury kontrolne Składnia alternatywna Dostępna dla poleceń if, while, for, foreach i switch Polega na zamianie nawiasu otwierającego { na dwukropek, a nawiasu zamykającego } na słowo endif, endwhile, endfor, endforeach i endswitch odpowiednio. - 23 -

Funkcje Deklaracja function f($arg1,...,$argn) { kod funkcji; } Instrukcja return zwraca wartość jeśli chcemy, żeby funkcja zwracała referencję: function &f($arg1,...,$argn) { return $ref; } $x=&nazwa(1,...,n); Przekazywanie parametrów Przez wartość, czyli normalnie Przez referencję: nazwa(&$param) warto, kiedy przekazujemy duże teksty lub tablice - 24 -

Funkcje Parametry domyślne Są dostępne, można przekazywać dowolne typy Przykład function zamowienie($termin, $prod=array("s","d")) { return "Zamówienie na: ".join(", ", $prod).". Termin: ". ( is_null($termin)? "nieznany" : $termin )."<br>"; } echo zamowienie(null); echo zamowienie("jutro", array("sery")); Sprawdzanie, czy funkcja jest zdefiniowana bool function_exists(string $function_name) Przydatne do np. sprawdzenia, czy jest załadowana niezbędna biblioteka - 25 -

Funkcje Zmienne funkcje Jeśli utworzymy zmienną, po czym do zmiennej dodamy nawiasy, PHP będzie szukało funkcji o nazwie wartości zmiennej i będzie chciało ją wywołać Przykład function func($arg = '') { echo "Argumentem jest '$arg'.<br />\n"; } $func = 'func'; $func('test'); // wywoła bar() Dozwolone jest rekurencja - 26 -

Funkcje Inne dostępne konstrukcje Funkcje warunkowe if ($warunek) { function func() { echo "Nie istnieję dopóki wykonanie "; echo " programu tutaj nie dojdzie.\n"; } } funkcja func będzie istnieć tylko wtedy, gdy warunek będzie prawdziwy - 27 -

Funkcje Inne dostępne konstrukcje Funkcje wewnątrz funkcji /* funkcja foo deklaruje funkcję bar */ function foo() { function bar() { echo "Istnieję od momentu wywołania foo().\n"; } } /* Nie można wywołać bar() ponieważ nie istnieje. */ foo(); /* Teraz można wywołać bar(), ponieważ wywołanie foo() utworzyło tą funkcję. */ bar(); - 28 -

Dołączanie zewnętrznych plików Instrukcje include() require() include_once() require_once() Czym to się różni? - 29 -

Obsługa napisów Przegląd funkcji void echo string s1 [, string sn...] string ltrim(string str [, string charlist]) string rtrim(string str [, string charlist]) string trim(string str [, string charlist]) string chr(int ascii) int ord(string str) int strcmp(string str1, string str2) int strpos(string gdzie, string co [, int offset]) - 30 -

Obsługa napisów Przegląd funkcji c.d. int strrpos(string gdzie, char co) int strlen(string s) string strtolower(string str) string strtoupper(string str) string strstr(string str1, string str2) string substr(string str, int start [, int length]) int substr_count(string str1, string str2) int substr_replace(string s1, string s2, int start [, int length]) - 31 -

Obsługa napisów Przegląd funkcji c.d. array explode(string separator, string str [, int limit]) string implode(string glue, array pieces) string strrev(string str) string strip_tags(string str [, string dobre_tagi]) string wordwrap (string str [, int width [, string break [, boolean cut]]]) string addslashes (string str) string addcslashes (string str, string charlist) - 32 -

Obsługa napisów Przegląd funkcji c.d. string nl2br(string str) string htmlspecialchars ( string string [, int quote_style [, string charset]]) wymienia znaki: <, >, &, ", ' na ich kody: < > & " &#039; ' wymienia, jeśli włączone ENT_QUOTES " wymienia, jeśli wyłączone ENT_NOQUOTES string md5(string str) string md5_file (string filename [, bool raw_output]) string bin2hex (string str) - 33 -

Obsługa plików Przegląd funkcji: int fopen(string nazwa, string tryb) string fgetc(int fp) string fgets(int fp [, int długość]) string fgetss(int fp, int długość [, string dozwolone_tagi]) to samo co fgets, ale dodatkowo usuwa znaczniki HTML string fread(int fp, int długość) mixed fscanf(int fp, string format) array fgetcsv(int fp, int długość [, string delimiter]) - 34 -

Obsługa plików Przegląd funkcji c.d. int fwrite(int fp, string napis [, int length]) int fputs(int fp, string napis [, int length]) to samo co fwrite bool fclose(int fp) int copy(string źródło, string przeznaczenie) bool rename(stara_nazwa, nowa_nazwa) int unlink(string nazwa_pliku) bool file_exists(string nazwa_pliku) int filesize(string nazwa_pliku) - 35 -

Obsługa plików Przegląd funkcji c.d. int ftruncate(int fp, int rozmiar) int mkdir(string pathname, int mode) bool rmdir( string dirname) string dirname(string ścieżka) string basename (string ścieżka [, string przyrostek]) po podaniu, przyrostek zostanie odcięty od końca nazwy bool is_dir(string nazwa) bool is_file(string nazwa) - 36 -

Obsługa plików Przegląd funkcji c.d. array pathinfo(string path) int fseek(resource handle, int offset [, int whence]) parametr whence można ustawić na SEEK_SET ustawia kursor na pozycji równej dokładnie offset (domyślne) SEEK_CUR ustawia kursor na pozycji bieżąca+offset SEEK_END ustawia kursor na pozycji koniec pliku+offset parametr offset może być ujemny bool rewind(fp), int ftell(fp) string tempnam(string dir, string prefix) - 37 -

Wyrażenia regularne Przegląd funkcji ereg sprawdza dopasowanie do wyrażenia bool ereg(string pattern, string string [, array &regs]) eregi j.w., tylko funkcja jest case insensitive ereg_replace wymienia wyrażenie regularne string ereg_replace(string pattern, string replace, string str) eregi_replace j.w., tylko funkcja jest c. i. split podobne do explode, działa na wyr. reg. array split(string pattern, string string [, int limit]) spliti j.w., tylko funkcja jest c.i. - 38 -

Użycie z wiersza poleceń Interpreter PHP może być używany z wiersza poleceń używamy wtedy programu php5 lub php.exe Sposoby użycia php5 [-f] skrypt.php normalne odpalenie php5 -r 'tekst skryptu' odpalenie parametru -r np. php5 -r 'echo "Hello world!";' php5 -s skrypt.php wygenerowanie HTMLa ładnie formatującego skrypt.php - 39 -

Użycie z wiersza poleceń Użycie opcji -B, -R i -E -B 'kod' kod odpalany przed przetwarzaniem skryptu ze stdin -R kod odpalany dla każdego wiersza ze stdin tutaj dostępne są zmienne: argn aktualny wiersz, argi numer bieżącego wiersza -E kod odpalany po przetworzeniu wierszy z stdin Przykład (z dokumentacji) $ find my_proj php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";' Total Lines: 37328-40 -

Użycie z wiersza poleceń Użycie opcji -F <plik> Opcja służy do uruchomienia skryptu dla każdego wiersza pliku z danymi Tutaj także dostępne są zmienne $argi i $argn Przykład Tworzymy plik z danymi dane.txt Skrypt s.php jest treści: echo "$argi: $argn\n" Odpalamy polecenie cat dane.txt php5 -F s.php php5 -F s.php < dane.txt - 41 -

Użycie z wiersza poleceń Tworzenie pliku będącego samodzielnym skryptem W pierwszym wierszu wpisujemy #!/usr/bin/php5 A potem leci normalny skrypt w PHP Do skryptu można przekazywać parametry Dostęp do parametrów wewnątrz skryptu $argc liczba parametrów $argv tablica parametrów nr 0 nazwa skryptu, nr 1,... kolejne parametry - 42 -