Wykład 3, 4: PHP: Obsługa plików. Daty. Operacje na łańcuchach. Umieszczenie strony na serwerze (skorzystanie z usługi hostingowej WWW)

Podobne dokumenty
Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

4. Pliki Informacje ogólne o dostępie do plików w PHP Sprawdzanie istnienia pliku file_exists()

Wykład 5: PHP: praca z bazą danych MySQL

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

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

Pomoc dla r.

Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android.

Poradnik korzystania z usługi FTP

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

Dokumentacja SMS przez FTP

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

Wysyłanie pliku na serwer. Plik na serwerze.

VinCent Administrator

Obsługa strony www konferencji

1. Proszę wejść na stronę: poczta.home.pl i zalogować się do nowej skrzynki za pomocą otrzymanych danych.

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

epuap Zakładanie konta organizacji

Podstawy technologii WWW

Tomasz Greszata - Koszalin

APEK MeasureInWeb program komunikacyjny do systemów pomiarowych.

Publikowanie strony WWW

Języki programowania wysokiego poziomu. PHP cz.3. Formularze

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015

SZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4

Instrukcja konfiguracji funkcji skanowania

Jak skorzystać z aplikacji do tworzenia kursów WBT Express

Joomla! Instalacja. Pobierz pakiet instalacyjny. instalacji XAMPP

Wykład 6: PHP: praca z bazą danych MySQL, cz.2

12. OPERACJE NA PLIKACH

Klient poczty elektronicznej - Thunderbird

epuap Zakładanie konta organizacji

Instrukcja obsługi serwera FTP v

Instrukcja obsługi aplikacji MobileRaks 1.0

Instrukcja użytkownika

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

IIIIIIIIIIIIIIIMMIMMIII

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Instrukcja portalu TuTej24.pl

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Rozpoczęcie pracy z programem.

Jak zamieścić moją stronę w Internecie

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015


Krótka instrukcja instalacji


Instrukcja logowania do systemu e-bank EBS

Problemy techniczne. Jak udostępnić dane na potrzeby wykonania usługi serwisowej lub wdrożeniowej? Zabezpieczanie plików hasłem

Konfiguracja konta pocztowego w Thunderbird

Zmienne i stałe w PHP

1 Moduł Konfigurowanie Modułu

Usługi sieciowe systemu Linux

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl

1. Pobieranie i instalacja FotoSendera

Zakładanie konta

Océ Podręcznik użytkownika

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp.

KONFIGURACJA INTERFEJSU SIECIOWEGO

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

Instalacja i konfiguracja serwera IIS z FTP

Poczta elektroniczna ( ) służy do przesyłania i odbierania listów elektronicznych np.: wiadomości tekstowych, multimedialnych itp.

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

INSTRUKCJA OBSŁUGI KLIENTA POCZTY WWW

Ćwiczenie 1 (28) Zakładanie darmowego konta pocztowego.

Przewodnik... Budowanie listy Odbiorców

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Windows W celu dostępu do i konfiguracji firewall idź do Panelu sterowania -> System i zabezpieczenia -> Zapora systemu Windows.

Budowanie listy Odbiorców

INSTRUKCJE WIKAMP Dotyczy wersji systemu z dnia

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Funkcje wbudowane PHP

Instalacja systemu zarządzania treścią (CMS): Joomla

Lab3 - Zastosowania protokołów przesyłania plików

Jak zamówić zdjęcia przez FotoSender?

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości

Odczyty 2.0 Spis treści

Skrócona instrukcja pracy z Generatorem Wniosków

Internetowe bazy danych

Zamawianie Taxi Aktywator Instrukcja użytkownika

Internetowy System Składania Wniosków PISF wersja 2.2. Instrukcja dla Wnioskodawców

Instrukcja użytkownika

INFORMACJA DLA WYKONAWCÓW PRAC GEODEZYJNYCH

System zdalnego dostępu (VPN) do sieci Wydziału Elektrycznego PW

Instalacja i obsługa aplikacji MAC Diagnoza EP w celu wykonania Diagnozy rozszerzonej

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Zakładanie konta w serwisie

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

INSTALACJA SERWERA LOKALNEGO TYPU WAMP NA PRZYKŁADZIE PAKIETU KRASNAL SERV 2.7

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

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

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Włączanie/wyłączanie paska menu

Program dla praktyki lekarskiej

Kancelaria rozpoczęcie pracy z programem

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

Fiery Remote Scan. Uruchamianie programu Fiery Remote Scan. Skrzynki pocztowe

Transkrypt:

Wykład 3, 4: PHP: Obsługa plików. Daty. Operacje na łańcuchach. Umieszczenie strony na serwerze (skorzystanie z usługi hostingowej WWW)

Odczyt z pliku (cz. 1) Przykład: plik_odczyt.php i dane.txt W dane.txt są zapisane jedno pod drugim nazwy miast plik_odczyt.php odczytuje i wypisuje dane z dane.txt 1. fopen() - funkcja otwierająca plik, drugi argument to tryb otwarcia pliku: "r" (tryb odczytu), "w" (tryb zapisu). Jeśli pliku nie ma to zostanie utworzony. Jeśli jest to zostanie usunięta dotychczasowa zawartość. "a" (tryb dopisania). Jeśli pliku nie ma to zostanie utworzony. Jeśli jest to dane zostaną dopisane na końcu. 2. die() - przerywa pracę skryptu i wypisuje informacje w oknie przeglądarki (funkcja exit() - to samo) 3. feof() - zwraca true jeśli został osiągnięty koniec pliku, zwraca false jeśli nie został 4. fgets() - odczytuje linię tekstu czyli ciąg znaków aż do znaku końca linii 5. fclose() - zamknięcie pliku

Odczyt z pliku (cz. 2) Przykład: plik_odczyt2.php i dane2.txt W dane2.txt są zapisane miasta i ich liczba ludności w tysiącach. Liczba ludności jest wpisana po przecinku po nazwie miasta plik_odczyt2.php odczytuje i wypisuje dane z dane2.txt w postaci tabeli Użyta funkcja: explode(wzór,łańcuch) - dzielenie łańcucha łańcuch wg wzoru wzór Funkcja zwraca tablicę, której elementami są fragmenty łańcuch otrzymane w wyniku dzielenia względem wzór. Wzór to ciąg znaków. Np. explode('---','ala---bolek') podzieli tekst ala---bolek względem --- czyli otrzymamy tablicę dwuelementową: ala (pierwszy element), bolek (drugi element).

Zapis do pliku Przykład: plik_zapis.php po wysłaniu danych formularza plik_zapis.php zapisuje do pliku dane3.txt nazwę miasta i ludność w jednej linii rozdzielając przecinkiem. Kolejne miasta są dopisywane od nowej linii. 1. fputs() - zapis do pliku (funkcja fwrite - to samo) 2. flock() - blokowanie dostępu do pliku dla innych procesów, aby w tym samym czasie nie mogły wykonywać operacji na tym pliku, co mogłoby spowodować uszkodzenie pliku. Drugi argument: LOCK_SH - blokowanie zapisu (odczyt możliwy) dla innych, używane przy odczycie LOCK_EX - blokowanie odczytu i zapisu dla innych, używane przy zapisie LOCK_UN - odblokowanie Zapisanie znaku końca linii: \n - Linux, Mac OS X (znak LF, kod ASCII: 10) \r\n - Windows (znaki CR LF, kody ASCII: 10 i 13) Stała predefiniowana PHP_EOL zapisze właściwy znak końca linii w zależności od systemu operacyjnego. Stała DIRECTORY_SEPARATOR właściwy separator w ścieżce. Użyteczne funkcje związane z obsługą plików (szczegółowe informacje: http://php.net/): file_exists(), filesize(), fgetcsv(), mkdir(), rmdir(), is_dir(), is_file(), fseek()

Wysyłanie pliku na serwer przez formularz (cz. 1) Przykład: plik_wyslanie.php W plik_wyslanie.php jest formularz do wysyłania plików na serwer. Po wysłaniu, plik docelowo jest umieszczamy w katalogu pliki. Aby sprawdzić przykład należy utworzyć ręcznie katalog pliki w katalogu, w którym jest plik_wyslanie.php 1. Atrybut ENCTYPE elementu form: informacja dla przeglądarki jak ma wysyłać dane fomularza: kodując znaki czy nie. Aby przesłać plik ustawiamy "multipart/form-data". Więcej: http://www.w3schools.com/tags/att_form_enctype.asp 2. Należy użyć metody POST do wysłania danych 3. Pole formularza do wskazywanie plików do wysłania tworzymy jako element <input> z atrybutem type="file" 4. Naciśnięcie w "Wyślij plik" zapisuje plik w katalogu tymczasowym na serwerze 5. Informacje o wysłanym pliku są zapisane w zmiennej superglobalnej $_FILES. Jest to tablica asocjacyjna dwuwymiarowa, której pierwszy wymiar jest indeksowany wartościami atrybutu name pól do wskazywania plików. Czyli jeśli pole do wskazania pliku ma atrybut name="plik", to dane o wysłanym pliku są zapisane w tablicy $_FILES['plik '].

Wysyłanie pliku na serwer przez formularz (cz. 2) 6. Z tablicy asocjacyjnej $_FILES['plik'] możemy odczytać informację o pliku $_FILES['plik']['name'] - oryginalna nazwa wysłanego pliku $_FILES['plik']['tmp_name'] - nazwa (wraz ze ścieżką) pod którą wysłany plik zostanie zapisany na serwerze w katalogu tymczasowym 7. is_uploaded_file() - sprawdzenie czy plik został przesłany na serwer (użytkownik wysłał, ale sprawdzamy czy plik jest już zapisany na serwerze i dopiero wtedy możemy go przetwarzać) 8. move_uploaded_file() - przeniesienie pliku z katalogu tymczasowego do wskazanego przez nas katalogu i zapisanie pod wskazaną przez nas nazwą

Wysyłanie pliku na serwer przez formularz (cz. 3) Uwagi: 1. Możemy umieścić w formularzu więcej niż jedno pole do wskazania plików do wysłania np.: <input type="file" name="plik1"> <input type="file" name="plik2"> <input type="file" name="plik3"> Wtedy po naciśnięciu submit zostaną wysłane wszystkie pliki wskazane przez te pola. Informacja o poszczególnych plikach będzie do odczytania z tablic: $_FILES['plik1'], $_FILES['plik2'], $_FILES['plik3'] 2. Można też użyć jednego pola do wskazania więcej niż jednego pliku: <input type="plik" name="file[]" multiple>. Wtedy w $_FILES['file']['name'][0] jest zapisana nazwa pierwszego pliku, w $_FILES['file']['name'][1] drugiego itd. 3. Jeśli na serwerze jest już plik (wysłany wcześniej) o tej samej nazwie co wysłany teraz to zostanie on nadpisany. Np. dwóch użytkowników wysłało plik o tej samej nazwie, a skrypt zapisuje na serwerze pliki w tym samym katalogu i pod oryginalną nazwą. Plik użytkownika, który wysłał wcześniej zostanie nadpisany. Wniosek: należy zmieniać oryginalną nazwę pliku albo sprawdzać czy taki plik istnieje i wtedy zmienić nazwę. 4. Jeśli plik nie zostanie przeniesiony z katalogu tymczasowego lub nie będzie zmieniona jego nazwa to po zakończeniu programu zostanie z katalogu tymczasowego usunięty automatycznie

Wysyłanie pliku na serwer przez formularz (cz. 4) Plik konfiguracyjny php.ini php.ini - plik konfiguracyjny z ustawieniami dla PHP, jest odczytywany przy uruchomieniu serwera Jeśli serwer Apache instalowaliśmy poprzez pakiet XAMPP to php.ini otwieramy: Panel sterowania XAMPP - Config (dla service Apache) - Wybieramy php.ini W pliku konfiguracyjnym php.ini są m.in. informacje: Czy można wysyłać pliki na serwer: file_uploads=on; Katalog tymczasowy w którym jest umieszczany plik na serwerze: upload_tmp_dir="..."; Dopuszczalny rozmiar wysyłanego pliku: upload_max_filesize=2m;

Funkcja print_r() Funkcja print_r() - wyświetlenie informacji o zmiennej w przyjazny sposób. Przydatne np. gdy chcemy zobaczyć jaka jest wartość zmiennych globalnych będących tablicami: print_r($_files) - wypisze zawartość tablicy $_FILES wraz z indeksami print_r($_get) - wypisze zawartość tablicy $_GET wraz z indeksami print_r($_post) - wypisze zawartość tablicy $_POST wraz z indeksami

Daty, czas - wybrane funkcje http://www.php.net/manual/en/ref.datetime.php http://php.net/manual/en/function.date.php Przykład: daty.php time(); // zwróci tzw. stempel czasu (timestamp), tj. ile sekund upłynęło od 1 stycznia 1970r. mktime(); // zwraca tzw. stempel czasu dla daty podanej jako argument np. mktime(1,2,3,4,5,2006); // zwróci stempel czasu dla daty 2006-04-05 godz. 01:02:03 getdate(); // zwraca tablicę asocjacyjną z informacją o bieżącej dacie. Np. getdate()["weekday"] to nazwa bieżącego dnia tygodnia getdate(mktime(1,2,3,4,5,2006)) ; // zwróci tablicę asocjacyjną z informacją o podanej dacie date("y-m-d H:i:s"); // zwróci bieżącą datę w formacie 2016-03-13 9:27:18 date("y"); // zwróci bieżący rok date("y",mktime(1,2,3,4,5,2006)); // zwróci rok podanej daty filemtime(); // zwróci czas ostatniej modyfikacji pliku w postaci stempla czasu. Argumentem jest nazwa pliku. date("y-m-d H:i:s",filemtime('nazwa_pliku')); // zwróci datę ostatniej modyfikacji we wskazanym formacie

Wysłanie pliku na serwer przez formularz - dodanie do nazwy pliku bieżącej daty w postaci stempla czasu i imienia użytkownika Aby zapobiec przy wysyłaniu, nadpisywaniu plików o tej samej nazwie, do nazwy plików dodaję za pomocą funkcji time() bieżącą datę i nazwę użytkownika Przykład: plik_wyslanie_nazwa_pliku.php

Wysłanie pliku na serwer przez formularz - dodanie kolejnego numeru do nazwy pliku Przykład: plik_zaladowanie_nazwa_pliku_numer.php Zamówienie jest składane poprzez wysłanie pliku. Po wysłaniu zmieniamy nazwę pliku na zamowienie1.txt, zamowienie2.txt itd. dla kolejnych zamówień Do zliczania, które to jest zamówienie służy plik licznik.txt Plik 'licznik.txt' zostanie automatycznie utworzony przy pierwszym zamówieniu. Po każdym wysłaniu pliku z zamówieniem do licznik.txt jest dopisywana liczba 1. Po rozmiarze pliku sprawdzamy ile było złożonych zamówień (ile bajtów to tyle jedynek czyli złożonych zamówień). Funkcja filesize() służy do sprawdzenia rozmiaru pliku. Wykorzystujemy ją, aby nadać właściwy numer wysłanemu plikowi z zamówieniem.

Odczyt zawartości folderu Przykład: odczyt_folderu.php Wypisze zawartość podanego w zmiennej $dirname folderu. Poda czy element jest folderem czy plikiem Uwaga: Aby przykład działał musi być założony folder o nazwie pliki z dowolną zawartością Użyte funkcje: opendir() - otwarcie folderu readdir() - odczytuje zawartość folderu. Zwraca nazwę odczytanego pliku lub folderu. Gdy zostanie osiągnięty koniec folderu zwraca false. Uwaga: Nazwa pliku może być 0 dlatego użyty operator porównania typów === zamiast wartości == is_dir() - zwraca true, gdy nazwa podana jako argument jest nazwą folderu closedir() - zamknięcie folderu nazwa (jedna kropka). reprezentuje folder bieżący nazwa (dwie kropki).. reprezentuje folder nadrzędny

Inne operacje na plikach i folderach 1. touch() - utworzenie pliku. Jeśli plik istnieje to będzie zmieniona data jego modyfikacji na bieżącą, ale aktualna zawartość pliku nie będzie usunięta 2. unlink() - usunięcie pliku 3. rename() - zmiana nazwy pliku lub folderu (pierwszy argument to stara nazwa, drugi to nowa) 4. mkdir() - utworzenie folderu 5. rmdir() - usunięcie folderu, folder musi być pusty 6. scandir($dir) - zwróci tablicę z zawartością folderu (z nazwami plików i folderów) gdzie $dir to nazwa tego folderu scandir($dir,1) - posortowane wg nazw od Z do A

Operacje na łańcuchach - przykłady plik lancuchy.php Bogaty zestaw funkcji bibliotecznych do przetwarzania łańcuchów znaków strlen() - długość łańcucha strstr() - czy istnieje łańcuch, zwraca część łańcucha od znalezionego miejsca, wielkość liter ma znaczenie, substr() - wielkość liter nie ma znaczenia strpos() - odszukanie pozycji substr() - wycinanie łańcucha trim(), ltrim(), rtrim() - usuwanie białych znaków (whitespaces) strip_tags() usuwanie tagów HTML zamiana: substr_replace(), str_replace(), strtolower(), strtoupper(), nl2br(), wordwrap(), htmlspecialchars(), htmlentities() explode() - dzielenie łańcucha i zapisanie w tablicy implode() - łączenie elementów tablicy w łańcuch Obsługa wyrażeń regularnych: preg_match() - odszukanie wg wzorca preg_replace() - zamiana, rozszerzenie możliwości str_replace() preg_split() - dzielenie łańcucha i zapisanie w tablicy (czyli rozszerzenie explode) Szczegóły: http://www.php.net/manual/en/ref.strings.php

Umieszczenie strony na serwerze (skorzystanie z usługi hostingowej WWW)

Oferta hostingowa WWW Firma jest właścicielem hosta, na którym działa serwer WWW. Firma oferuje na tym hoście miejsce na stronę internetową (przestrzeń dyskową - miejsce na dysku) - tzw. konto WWW. W zależności jaki wybierzemy wariant tj. rozmiar konta, jak duży transfer, czy będą reklamy itp. oferta jest darmowa lub nie Aby skorzystać z oferty należy wypełnić formularz podobnie jak przy zakładaniu konta pocztowego (email) Atrakcyjną i bezpłatną ofertę ma firma ABC Hosting Ltd. Z oferty można skorzystać przez stronę cba.pl Warto przeczytać: Rozdział 3: Matthew MacDonald. Tworzenie stron WWW. Nieoficjalny podręcznik.

Hosting na cba.pl - stan na 2017.03.06 Aby skorzystać z oferty tego hostingu to na początku trzeba wybrać adres strony internetowej. Adres bezpłatny będzie w domenie cba.pl tj. np. mariusz.cba.pl (Można także wybrać adres w innej domenie, ale nie bezpłatnie, np. w domenie.pl czyli np. mariusz.pl) Dalej wybieramy ofertę FREE I następnie wypełniamy formularz dla utworzenia konta WWW, ważniejsze pola: nazwa profilu: może być taka sama jak wybraliśmy przy tworzeniu adresu naszej strony internetowej, tzn. jeśli wybraliśmy adres mariusz.cba.pl to nazwa profilu może być mariusz adres email: podać adres na który przyjdzie kod z potwierdzeniem założenia konta kod potwierdzenia: naciśnij "Wyślij", na podany adres email przyjdzie kod potwierdzenia, należy go wpisać w ciągu 20s zatwierdzić regulamin zakończyć naciśnięciem "Utwórz konto" Na adres email przyjdą dwa emaile (NIE USUWAĆ!): potwierdzający utworzenie adresu strony internetowej potwierdzający założenie konta WWW

Przesyłanie plików na serwer WWW: usługa FTP - File Transfer Protocol - cz. 1 Mamy założone konto WWW. Teraz należy tam przesłać pliki. Pliki przesyła się korzystając z usługi FTP. Moża to zrobić dwoma sposobami: z poziomu przeglądarki: http://www.cbahosting.pl/ftp (ten adres przyjdzie w emailu jako Adres menedżera plików) albo skorzystać ze specjalistycznego programu, tzw. klienta FTP np. FileZilla lub WinSCP

Przesyłanie plików na serwer WWW: usługa FTP - File Transfer Protocol - cz. 2 W programie FileZilla i w przypadku skorzystania z hostingu cba.pl, połączenie FTP konfigurujemy następująco: Plik - Menadżer stron - Nowy adres: podajemy przyjazną nazwę naszego połączenia np. nasze inicjały Serwer: nazwa_twojej_domeny (odczytaj z maila, który przyszedł przy rejestracji) Port: nic nie wpisujemy (będzie użyty domyślny) Protokół: FTP Szyfrowanie: Użyj zwykłego szyfrowania Typ logowania: Pytaj o hasło Użytkownik: odczytaj z maila, który przyszedł przy rejestracji jako login Hasło: nic nie wpisywać, dla bezpieczeństwa będziemy wpisywali dopiero przy połączeniu naciskamy OK Aby się połączyć z serwerem FTP: zaznaczamy z lewej strony nasze połączenie i naciskamy na dole Połącz Po lewej stronie pokaże się zawartość dysku lokalnego, po prawej dysku zdalnego (dysku serwera). Folder, w którym umieszczamy pliki nazwany jest tutaj nie htdocs ale tak jak nazwa naszej domeny np. mariusz.cba.pl Przesyłanie odbywa się przez przeciągnięcie plików/folderów z lewej strony na prawą

Nazwa pliku ze stroną główną (tzw. plik domyślny - default) Nazwa pliku musi być (w przypadku gdy korzystamy z hostingu cba.pl): index.html albo index.php Wyjaśnienie: następny slajd

Adres URL bez podanego zasobu - cz. 1 Gdy w adresie URL nie podamy zasobu, a jedynie katalog np. http://logika.uwb.edu.pl/mg/zajecia/ http://logika.uwb.edu.pl/ wtedy serwer w odpowiedzi wyśle zawartość pliku domyślnego. Który plik jest plikiem domyślnym? To zależy od konfiguracji serwera, ale zazwyczaj jest to plik o nazwie index.html lub dynamiczny np. index.php Zaobserwuj, że otworzy się ta sama strona, niezależnie, który adres wpiszesz: http://logika.uwb.edu.pl/mg/zajecia/ http://logika.uwb.edu.pl/mg/zajecia/index.html Dzięki temu, że nie musimy w adresie podawać nazwy zasobu, adres do wpisania jest krótszy. Konsekwencją tego jest także to, że plik ze stronę główną należy nazywać index.html Co, gdy pliku index.html nie będzie?

Adres URL bez podanego zasobu - cz. 2 Co się dzieje, gdy w adresie nie podaliśmy nazwy zasobu, a pliku domyślnego (np. index.html) nie ma na serwerze? To co się stanie zależy od konfiguracji serwera. Dwie możliwości: 1. w przeglądarce wyświetli się zawartość katalogu Sprawdź: localhost/twoj_katalog 2. w przeglądarce wyświetli się informacja, że nie masz dostępu do obejrzenia danego katalogu Sprawdź: logika.uwb.edu.pl/mg/ W przypadku hostingu cba.pl wyświetlanie zawartości katalogu jest zablokowane

Konfiguracja serwera Apache - domyślny plik i domyślny folder Jeśli serwer Apache instalowaliśmy poprzez pakiet XAMPP plik konfiguracyjny serwera otwieramy: Panel sterowania XAMPP - Config (dla service Apache) - Wybieramy httpd.conf Uwaga: jeśli modyfikujemy plik konfiguracyjny to serwer należy zrestartować, aby zmiany przyniosły efekt Tam pod hasłem DirectoryIndex są podane jakie mogą być nazwy plików domyślnych (serwer wyśle zawartość pierwszego znalezionego, jeśli nie znajdzie żadnego to będzie sytuacja omówiona na poprzednim slajdzie) Zaś pod hasłem DocumentRoot jest podany katalog od którego serwer zaczyna poszukiwania zasobu. W przypadku localhost z s. 407 jest katalog htdocs Od czego zależy czy w przypadku braku pliku domyślnego ma być wyświetlana zawartość katalogu: W pliku konfiguracyjnym odszukujemy dyrektywy: <Directory "sciezka_do_katalogu_htdocs"> Jeśli jest opcja Indexes to będzie wyświetlana zawartość katalogu, jeśli nie ma to nie będzie wyświetlana. Ustawienie przenosi się też na podkatalogi htdocs