Język PHP PHP: Preprocesor Hypertext to język skryptowy. Program wykonywany po stronie serwera tzn. komendy zawarte pomiędzy i będą wykonywane na serwerze a nie na komputerze klienta (uŝytkownika) w przeglądarce. Jest to język osadzony w HTML i słuŝy do tworzenia dynamicznych stron www. Przykład (1_1.php): <TITLE> pierwszy skrypt PHP </TITLE> </HEAD> echo "witaj pierwszy programie PHP" ; KaŜda instrukcja musi być zakończona średnikiem ;!!!
Komentarze umieszczamy: Za znakami // w przypadku gdy komentarz znajduje się w jednej linii Za znakiem # w przypadku gdy komentarz znajduje się w jednej linii Wewnątrz znaków /* */ w przypadku gdy komentarz będzie znajdować się w jednej lub większej ilości linii Dla kodu HTML komentarz zaznaczamy przez uŝycie znaczników <!!> Przykład (1_2.php): <META name="author" content="roch Kowalski" > <TITLE> drugi skrypt PHP </TITLE> </HEAD> <P align="center" > Jan Roch Kowalski </P> <! to jest komentarz HTML > <PHP // mamy pierwsza linie /* mamy druga i trzecia linie */
Typy zmiennych W skryptach nazwy zmiennych zawsze zaczynają się od znaku $. Aby utworzyć zmienną wystarczy nadać jej wartość uŝywając tzw. instrukcji przypisania (=) Zawierające wartości liczb całkowitych $liczbac=123 ; # wartość dziesiętna $liczbac=-123 ; # wartość ujemna Zawierające wartości liczb rzeczywistych $liczbar=4.321 ; $liczbar=-4.3e2 ; Łańcuchy zawarte w pojedynczym cudzysłowiu lub podwójnym. JeŜeli łańcuch zostanie zawarty W podwójnym cudzysłowiu to wartości zmiennych zawartych wewnątrz łańcucha będą wyświetlone, Zaś w przypadku pojedynczego cudzysłowia, nie będą $a= tekst ; // pod zmienną $a podstawiamy tekst
Przykład (1_3.php): <TITLE> trzeci skrypt php </TITLE> </HEAD> $liczba=5 ; $lancuch1="<p> liczba to $liczba </p>" ; $lancuch2='<p> liczba to $liczba </p>' ; echo $lancuch1 ; // wyswietli sie (liczba to 5) echo $lancuch2 ; //wyswietli sie (liczba to $liczba)
Łączenie się dwóch łańcuchów odbywa się za pomocą operatora. Przykład (1_4.php): <TITLE> czwarty skrypt PHP </TITLE> </HEAD> $lancuch="ten lancuch" ; $lancuch.=" zawiera jeszcze ten tekst" ; /* rownowazne: $lancuch=$lancuch."zawiera jeszcze ten tekst" */ echo $lancuch ; echo "<br>" ;
Funkcje: To wydzielone części algorytmu, opatrzone pewnym identyfikatorem (nazwą funkcji). Do funkcji moŝemy przekazywać argumenty, a po wykonaniu odebrać wartość funkcji. Weźmy jako przykład funkcję date. Funkcja date przetwarza datę w postać tekstową. Jako pierwszy argument pobiera format w którym ma być zwrócona data. Kolejny argument to data do przetworzenia. JeŜeli nie wymienimy argumentu domyślnie będzie przyjęta aktualna data. Format daty: D - dzień tygodnia w skróconym zapisie tekstowym, na przykład "Fri" l - dzień tygodnia w zapisie tekstowym, na przykład "Monday" w - dzień tygodnia w postaci numerycznej od "O" (Niedziela) do "6" (Sobota) z - dzień w roku od "O" do "365" d - dzień miesiąca w zapisie numerycznym od "01" do "31" F - miesiąc w zapisie tekstowym np.: "January" M - miesiąc w skróconym zapisie tekstowym, na przykład "Jan" m - miesiąc w zapisie numerycznym od "01" do "12" t - liczba dni w miesiącu od "28" do "31" h - godzina, format 12-godzinowy od "01" do "12" H - godzina, format 24-godzinowy od "00" do "23" "am", czy "pm" A-"AM", czy "PM" i - minuty, od "00" do "59" s - sekundy od "00" do "59" Y - rok w zapisie 4-cyfrowym, na przykład "2001"
Przykład (1_5.php): <TITLE> piaty skrypt PHP </TITLE> echo "mamy dzisiaj <br>" ; $data=date('l d m Y H:i:s') ; echo $data ; $a= Pankracy' ; echo "<br>" ; echo "Imie to $a" ; /* zostanie wyswietlony tekst: imie to pankracy */
Przykład (1_6.php): <html> <head> <title> szosty skrypt php </title> <head> <body> <?php echo "<br>" ; echo "moje imie to Pankracy" ; echo "<br>" ; $imieniny='12.05' ; if($imieniny==date('d.m')) echo "dzis sa Twoje imienniny!!!" ; else echo "dzis nie twoje imieniny!" ; </html>
Obsługa plików w PHP: Podstawowe znaczenie dla obsługi plików ma funkcja fopen. Za jej pomocą moŝemy otworzyć istniejący lub utworzyć nowy plik na dysku. $plik=fopen('plik.txt', 'r'); jako pierwszy parametr -ścieŝka wraz z nazwą pliku jako drugi parametr - jedna z poniŝszych opcji: " r" - otwiera plik tylko do odczytu i ustawia wskaźnik na początku pliku " r+" - otwiera plik do odczytu i zapisu i ustawia wskaźnik na początku pliku " w" - otwiera plik tylko do zapisu i jeŝeli plik nie jest pusty, opróźnia go; jeŝeli taki plik nie istnieje, zostanie utworzony " a" - otwiera plik tylko do odczytu i ustawia wskaźnik na końcu pliku " a+" - otwiera plik do odczytu i zapisu oraz ustawia wskaźnik na końcu pliku.
Aby odczytać lub zapisać do pliku treść, musimy po uprzednim otwarciu pliku (fopen) skorzystać z jednej z poniŝszych funkcji: fgets odczytuje z podanego pliku jedną linię nie dłuŝszą niŝ podana liczba znaków $linia=fgets($plik,4096) ; fputs za pomocą tej funkcji moŝemy zapisać do otwartego pliku ciąg znaków, pod warunkiem, Ŝe plik nie jest otwarty tylko do odczytu Przykład (1_7.php): <TITLE> siodme PHP </TITLE> $plik1=fopen("plik.txt","r") ; $linia1=fgets($plik1) ; echo $linia1 ; $linia2=fgets($plik1) ; echo "<br>"; echo $linia2 ;
Przykład (1_8.php): <TITLE> siodme PHP </TITLE> $plik1=fopen("plik.dat","r+") ; fputs($plik1,"tekst\r\n tekst\r\n") ;
file podobna do fopen ale wraz z otwarciem pliku odczytuje takŝe całą jego zawartość i zwraca ją w formie tablicy readfile wyświetla całą zawartość pliku na ekranie file_exists sprawdza czy podany plik istnieje przykład (1_9.php): <TITLE> dziewiate PHP </TITLE> if(file_exists("plik.txt")) { echo "plik o nazwie plik.txt istnieje" ; echo "<BR> i zawiera nastepujaca tresc <BR>" ; echo "w linii czwartej:<br>" ; $plik=file("plik.txt") ; $linie=$plik[3] ; echo "$linie" ; } else { echo "plik o nazwie plik.txt nie istnieje" ; }
copy funkcja słuŝąca do kopiowania plików copy( plik.txt, kopia_pliku.txt ) ; rename funkcja słuŝąca do zmiany nazwy pliku rename( plik.txt, ten_sam_plik.txt ) ; filesize sprawdza wielkość pliku w bajtach $rozmiar=filesize( plik.txt ) ; echo $rozmiar rozmiar pliku ) ;
feof zwraca wartość true jeŝeli zostanie osiągnięty koniec pliku (w przeciwnym wypadku wartość false) Przykład (1_10.php): <TITLE> dziesiate PHP </TITLE> </HEAD> $ft=fopen("plik.txt","r") ; while(!feof($ft)) { } echo "<BR>"; $s=fgets($ft,4096) ; echo $s ; fclose($ft) ;
Instrukcje sterujące If(warunek) { /* Ciąg instrukcji wykonywany gdy warunek jest spełniony */ } else { /* Ciąg instrukcji wykonywany gdy warunek nie jest spełniony */ } warunki: $a==$b ; $a>$b ; $a<$b ; $a>=$b ; $a<=$b ; $a!=$b i to samo $a<>$b alternatywa (lub) && koniunkcja (i)! Negacja for(wyr1; wyr2; wyr3) instrukcja Pętla for: wartość wyraŝenia wyr1 jest obliczana raz na początku pętli wartość wyraŝenia wyr2 jest obliczana na początku kaŝdego przebiegu pętli pętla będzie wykonywana dopóki wartość true Wartość wyraŝenia wyr3 obliczana na końcu
Przykład (1_11.php): <TITLE> jedenasty PHP </TITLE> </HEAD> $a="a" ; $b="c" ; if($a=="a" $b=="b") { echo $a ; echo "<BR>" ; echo $b ; } else echo "ani a ani b" ; for($i=0; $i<10; $i++) { echo "<BR>" ; echo $i ; }
// 1_13.php <TITLE> trzynasty PHP </TITLE> </HEAD> $datka=date('l') ; $zmienna=dzientygodnia($datka) ; echo "nie " ; echo $datka ; echo " tylko " ; echo $zmienna ; echo " analfabeto!" ; function DzienTygodnia($data) { $dzien=$data ; switch($dzien) { case 'Sunday' : return 'Niedziela' ; case 'Monday' : return 'Poniedzialek' ; case 'Tuesday' : return 'Wtorek' ; case 'Wednesday' : return 'Sroda' ; case 'Thursday' : return 'Czwartek' ; case 'Friday' : return 'Piatek' ; case 'Saturday' : return 'Sobota' ; default: return 'Nierozpoznana nazwa tygodnia' ; break; }}
//1_14.php <TITLE> czternasty PHP </TITLE> </HEAD> $rybka="leszcz" ; $zmienna=ryba_lubi($rybka) ; echo $rybka ; echo " lubi tylko: " ; echo $zmienna ; function ryba_lubi($data) { $ryba=$data ; switch($ryba) { case 'pstrag' : return 'blystka lub sztuczna muszka' ; case 'szczupak' : return 'blystka lub zywiec' ; case 'lipien' : return 'sztuczna muszka' ; case 'leszcz' : return 'przynety roslinne, wszelakie robactwo' ; default: return 'nieznana ryba' ; break; }}
zadanie1 <html> <head> <title> 16 skrypt php </title> </head> <body> <?php for($i=0;$i<5;$i++) { echo "<br>" ; echo $i+5 ; } echo "<br>" ; //koniec skryptu </html>
Zadanie 2 <TITLE> slowo po slowie PHP </TITLE> </HEAD> $a="testowy" ; $lancuch="to jest przyklad $a\n" ; $n=0 ; while($lancuch[$n]!="\n") $n++ ; for($i=0; $i<=$n ; $i++) { if($lancuch[$i]!=" ") echo $lancuch[$i] ; else echo "<br>" ; }
Zadanie 3 <TITLE> osme PHP </TITLE> $plik1=fopen("pln.txt","r+") ; $i=0 ; while(!feof($plik1)) { $dd=fgets($plik1) ; $i=$i+1 ; } fclose($plik1) ; $plik1=fopen("pln.txt","r+") ; echo "<br>" ; $n=$i-1 ; for($k=1;$k<=$n;$k++) { echo "<br>" ; echo "to jest linia $k" ; echo "<br>" ; $dd=fgets($plik1) ; echo $dd ; }