Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Kurs WWW – wykład 9 Paweł Rajba pawel@ii.uni.wroc.pl http://www.ii.uni.wroc.pl/~pawel/
2
PHP – wysyłanie plików z formularza Kilka różnic między zwykłym formularzem, a takim do wysłania pliku: należy obowiązkowo umieścić w znaczniku form atrybut enctype="multipart/form-data" powinien się również pojawić element input z type="file" możemy też umieścić element taki jak określi on maksymalny akceptowany rozmiar pliku; musi być przed input...file
3
PHP – wysyłanie plików z formularza Dyrektywy w pliku php.ini file_uploads = On | Off włącza/wyłącza możliwość uploadowania plików upload_tmp_dir = ścieżka określa tymczasowy katalog w którym będą składowane pobrane pliki; domyślnie nie jest to ustawione – rolę takiego katalogu pełni tymczasowy katalog w systemie (np. C:\Windows\Temp )
4
PHP – wysyłanie plików z formularza Dyrektywy... c.d. upload_max_filesize = rozmiar maksymalny akceptowany rozmiar uploadowanego pliku (domyślnie 2MB) post_max_size = rozmiar maksymalny akceptowany rozmiar przesyłanego formularza (domyślnie 8M)
5
PHP – wysyłanie plików z formularza Po wysłaniu, dostępne są następujące zmienne: $_FILES["plik"]["name"] – oryginalna nazwa pliku po stronie klienta $_FILES["thefile"]["type"] – typ zawartości wysłanego pliku $_FILES["thefile"]["size"] – rozmiar wysłanego pliku $_FILES["thefile"]["tmp_name"] – nazwa pliku przesłanego na serwer $_FILES["thefile"]["error"] – kod błędu
6
PHP – wysyłanie plików z formularza Kody błędów, które mogą się pojawić przy wysyłaniu plików z formularza: UPLOAD_ERR_OK (kod 0) – operacja zakończyła się sukcesem UPLOAD_ERR_INI_SIZE (kod 1) – plik przekracza rozmiar określony dyrektywą upload_max_filesize w pliku php.ini
7
PHP – wysyłanie plików z formularza Kody błędów... c.d. UPLOAD_ERR_FORM_SIZE (kod 2) – plik przekracza rozmiar określony dyrektywą z formularza MAX_FILE_SIZE UPLOAD_ERR_PARTIAL (kod 3) – plik pobrany częściowo UPLOAD_ERR_NO_FILE (kod 4) – nie pobrano żadnego pliku
8
PHP – wysyłanie plików z formularza Funkcje przydatne przy wysyłaniu plików z formularza bool is_uploaded_file(string nazwa_pliku) – upewnia nas, że plik faktycznie został przysłany metodą POST, a skrypt nie będzie pracował na plikach których nie powinien bool move_uploaded_file(string plik, string destination) – po sprawdzeniu, że plik został przysłany metodą POST jest on przenoszony do nowej lokalizacji
9
PHP – wysyłanie plików z formularza Wysyłanie wielu plików Przykład: pliki.php
10
PHP – funkcje do obsługi tablic array array_count_values(array wejście) zwraca tablicę z elementami i ich częstością występowania w tablicy wejście (p) array array_diff(array t1, array t2 [, array...]) zwraca tablicę, której elementami są te elementy t1, które nie występują w pozostałych argumentach (p) array array_fill(int start, int ile, mixed wartość) wypełnia tablicę podanymi wartościami (p)
11
PHP – funkcje do obsługi tablic array array_filter(array wejście [, callback funkcja_zwrotna]) zwraca tablicę elementów z wejście, dla których funkcja_zwrotna zwróci TRUE (p) array array_flip(array trans) dla każdego elementu tablicy wymienia klucz z odpowiadającą mu wartością (p) array array_intersect(array t1, array t2 [, array...]) zwraca elementy z t1, które występuję we wszystkich pozostałych argumentach (p)
12
PHP – funkcje do obsługi tablic bool array_key_exists (mixed szukany, array tablica) sprawdza, czy szukany klucz jest w tablicy (p) array array_map(callback funkcja_zwrotna, array t1 [, array t2...]) wykonuje funkcje zwrotną na każdym elemencie t1; liczba argumentów funkcji zwrotnej powinna być równa ilości tablic (p)
13
PHP – funkcje do obsługi tablic array array_merge(array t1, array t2 [, array...]) łączy kilka tablic w jedną (p) mixed array_pop(array tablica) usuwa i zwraca ostatni element tablicy int array_push ( array tablica, mixed wartosc [, mixed...]) wstawia jeden więcej elementów na koniec tablicy
14
PHP – funkcje do obsługi tablic mixed array_rand(array wejście [, int ilość]) wybiera jeden lub więcej losowo wybranych elementów z tablicy (p) void shuffle(array tablica) tasuje elementy tablicy (p) array array_reverse(array wejście [, bool zachowaj_klucze]) odwraca kolejność elementów w tablicy (p)
15
PHP – funkcje do obsługi tablic mixed array_search(mixed igła, array stóg_siana [, bool ścisły]) szuka wartości w tablicy zwraca klucz znalezionego elementu lub NULL ścisły określa, czy mają być też porównywane typy elementów
16
PHP – funkcje do obsługi tablic mixed array_shift(array tablica) usuwa i zwraca pierwszy element tablicy array array_slice(array tablica, int przesunięcie [, int długość]) zwraca kawałek tablicy od przesunięcie, a długość to ilość zwróconych elementów jeśli przesunięcie jest ujemne, to sekwencja zacznie się o tyle elementów od końca jeśli długość jest ujemna, to sekwencja skończy się o tyle elementów od końca (p)
17
PHP – funkcje do obsługi tablic mixed array_sum(array tablica) oblicza sumę wartości elementów w tablicy array array_unique(array tablica) usuwa duplikaty wartości z tablicy int array_unshift ( array tablica, mixed wartość [, mixed...]) wstaw jeden lub więcej elementów na początek tablicy int count(mixed zmienna) zlicza ilość elementów w tablicy
18
PHP – funkcje do obsługi tablic mixed current(array tablica) zwraca wartość bieżącego elementu mixed next(array tablica) przesuwa wskaźnik o jeden do przodu zwraca element po przesunięciu lub FALSE, jeśli nie ma więcej elementów mixed prev(array tablica) przesuwa wskaźnik o jeden do tyłu zwraca element po przesunięciu lub FALSE, jeśli nie ma więcej elementów
19
PHP – funkcje do obsługi tablic mixed reset(array tablica) ustawia wskaźnik w tablicy na pierwszy element zwraca ten pierwszy element mixed end(array tablica) ustawia wskaźnik w tablicy na ostatni element zwraca ten ostatni element mixed key(array tablica) zwraca klucz bieżącego elementu tablicy asocjacyjnej
20
PHP – funkcje do obsługi tablic int sizeof(mixed zmienna) alias do funkcji count() mixed pos(array tablica) alias do funkcji current() array range(mixed dolny, mixed górny) tworzy tablicę elementów od dolny do górny włącznie jeśli górny<dolny, to sekwencja będzie do górnego do dolnego (p)
21
PHP – funkcje do obsługi tablic array each(array tablica) pobiera parę (klucz, wartość) bieżącego elementu w tablicy void list(mixed...) argumentom przypisuje kolejne elementy z przypisywanej tablicy (p)
22
PHP – funkcje do obsługi tablic void sort(array tablica [, int flagi]) sortuje tablice flagę można ustawić na SORT_REGULAR - porównuj elementy normalnie SORT_NUMERIC - porównuj elementy jako liczby SORT_STRING - porównuj elementy jako stringi (p)
23
PHP – funkcje do obsługi tablic void usort(array tablica, callback funkcja_por) sortuje tablicę porównując elementy funkcją zdefiniowaną przez użytkownika (p) void rsort(array tablica [, int flagi]) sortuje w porządku odwrotnych int ksort (array tablica [, int flagi]) sortuje tablicę względem kluczy zachowuje skojarzenia kluczy z danymi (p)
24
PHP i ciasteczka Co to są ciasteczka (cookie)? Jak to działa? Kwestia buforowania Tablica $_COOKIES[ ]
25
PHP i ciasteczka int setcookie(string nazwa [, string wartość [, int data_ważności [, string ścieżka [, string domena [, int bezpieczne]]]]]) nazwa – nazwa ciasteczka wartość – wartość ciasteczka
26
PHP i ciasteczka data_ważności – do kiedy ciasteczko jest aktualne; liczba zwracana przez time() lub mktime() ścieżka – specyfikuje URLe w domenie dla których ciastko jest dostępne domena – domena dla której ciasteczko będzie dostępne bezpieczne – określa, czy ciasteczko powinno być dostępne tylko za pomocą protokołu HTTPS
27
PHP i ciasteczka Kilka uwag dotyczących funkcji setcookie() niektóre argumenty można pominąć podając napisy puste dwóch ostatnich argumenty w powyższy sposób pominąć nie można ciasteczko może być usunięte tylko z takimi parametrami, z jakimi zostało usunięte ustawione cookie będą widoczne dopiero po przeładowaniu strony
28
PHP i ciasteczka Kilka uwag... c.d. usunięcie ciasteczka odbywa się przez podanie wstecznej daty ważności – przeglądarka uruchamia wtedy mechanizm usunięcia ciastka każda przeglądarka składuje cookies osobno niekiedy przeglądarki różnie obsługują cookies
29
PHP i ciasteczka Tablicowa obsługa ciasteczek setcookie ("cookie[three]", "cookiethree"); setcookie ("cookie[two]", "cookietwo"); setcookie ("cookie[one]", "cookieone"); if (isset($_COOKIE['cookie'])) { while (list($name, $value)=each($cookie)) { echo "$name == $value<br>\n"; }
30
PHP i ciasteczka Przykłady: setcookie ("ciacho", "smaczne",time()+3600, "/~pawel/", ".ii.uni.wroc.pl", 1); ciacho.php odwiedziny.php
31
PHP i nagłówki HTTP int header(string treść_nagłówka) wysyła nagłówek HTTP przykłady: header("Location: http://www.onet.pl/");http://www.onet.pl/ $download_size = filesize($file_server_path); header("Content-type: application/x-download"); header("Content-Disposition: attachment; filename=$file_download_name;"); header("Accept-Ranges: bytes"); header("Content-Length: $download_size"); @readfile($file_server_path);
32
PHP i nagłówki HTTP array headers_list (void) lista nagłówków do wysłania bool headers_sent (void) sprawdza, czy nagłówki zostały już wysłane
33
PHP – buforowanie bool ob_start ( [callback output_callback]) rozpoczęcie buforowania bool ob_end_clean ( void ) kończy buforowanie i czyści bufor wyjściowy bool ob_end_flush ( void ) kończy buforowanie i wypisuje zawartość void ob_clean ( void ) czyści bufor wyjściowy
34
PHP – buforowanie string ob_get_clean (void) zwraca aktualną zawartość bufora i czyści bufor string ob_get_flush(void) wypisuje zawartość bufora zwraca go jako napis kończy buforowanie int ob_get_length(void) zwraca rozmiar bufora wyjściowego
35
PHP – buforowanie Przykład: bufory.php
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.