Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
PHP i MySQL.
Dynamiczne strony
WWW. Szybki start
Autor: Larry Ullman
Tumaczenie: Micha Dadan (rozdz. 1 7),
Piotr Pilch (rozdz. 8 13, dod. A D)
ISBN: 83-7361-157-6
Tytu oryginau: PHP and MySQL for Dynamic Web Sites VQPG
Format: B5, stron: 580
Przykady na ftp: 352 kB
Coraz wicej serwisw internetowych skada si nie tylko z atrakcyjnego interfejsu
uytkownika, ale take z rozbudowanych aplikacji dziaajcych na serwerze. S one
najczciej oparte o bazy danych, ktre przechowuj dane i zapewniaj szybki do nich
dostp. Jeli chcesz w krtkim czasie nauczy si tworzy takie aplikacje, znalaze
waciw ksik.
PHP i MySQL. Dynamiczne strony WWW nauczy Ci tworzenia dynamicznych
serwisw internetowych z wykorzystaniem PHP i MySQL-a. Ksika przekae Ci wiedz
niezbdn dla projektantw rozwiza internetowych. Wszystkie zagadnienia opisane
s krok po kroku, kademu z nich towarzyszy te odpowiedni rysunek. Przykady
odzwierciedlaj problemy, z ktrymi projektanci stron internetowych spotykaj si
na co dzie.
Ksika opisuje:
Podstawy programowania w PHP
Tworzenie dynamicznych stron internetowych z uyciem PHP
Zasady projektowanie baz danych
Jzyk SQL
Korzystanie z systemu zarzdzania bazami danych MySQL
czenie PHP z systemem MySQL
Uycie sesji
Zabezpieczanie stron internetowych przed dostpem nieuprawnionych osb
Przykadowe aplikacje: rejestracja uytkownikw i sklep internetowy
Tre ksiki uzupeniaj dodatki opisujce sposb instalacji omawianych w niej
narzdzi oraz dodatkowe, przydatne aplikacje.
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Spis treci
Wprowadzenie
9
Czym s dynamiczne strony WWW?........................................................10
Czym jest PHP?.........................................................................................11
Co to jest MySQL?....................................................................................14
Co bdzie Ci potrzebne .............................................................................16
O tej ksice ..............................................................................................16
Wprowadzenie do PHP
19
Podstawy skadni.......................................................................................20
Przesyanie danych do przegldarki internetowej .....................................23
PHP, HTML i biae odstpy ..................................................................26
Wstawianie komentarzy ............................................................................31
Co to s zmienne? .....................................................................................34
acuchy ...................................................................................................37
Liczby........................................................................................................41
Stae...........................................................................................................45
Apostrof kontra cudzysw .......................................................................48
Rozdzia 2.
Programowanie w PHP
51
Tworzenie formularza w jzyku HTML ..................................................52
Obsuga formularza HTML.......................................................................56
Zarzdzanie opcj Magic Quotes ................................................................59
Wyraenia warunkowe i operatory............................................................61
Weryfikacja danych pochodzcych z formularza......................................65
Rczne przesyanie wartoci do skryptu ...................................................69
Co to s tablice? ........................................................................................74
Ptle for i while .........................................................................................92
Spis treci
Rozdzia 1.
Spis treci
Rozdzia 4.
Rozdzia 5.
Rozdzia 6.
PHP i MySQL
205
Tworzenie szablonu.................................................................................206
czenie si z MySQL-em i wybieranie bazy.........................................211
Obsuga bdw.......................................................................................215
Wykonywanie prostych zapyta ................................................................218
Odczytywanie wynikw zapytania..........................................................228
Bezpieczestwo.......................................................................................232
Korzystanie z funkcji mysql_num_rows() ..............................................238
Uaktualnianie rekordw w PHP ................................................................244
Spis treci
Rozdzia 3.
Spis treci
Rozdzia 7.
Sesje i ciasteczka
251
Posugiwanie si ciasteczkami ................................................................252
Sesje ........................................................................................................271
Sesje a ciasteczka.................................................................................287
Rozdzia 8.
Zabezpieczenia
295
Autoryzacja HTTP ..................................................................................296
Walidacja formularza przy uyciu skryptu JavaScript .............................302
Wyraenia regularne ...............................................................................309
Zabezpieczenia bazy danych ...................................................................321
Rozdzia 9.
Spis treci
Spis treci
Spis treci
Instalacja
515
Instalacja pod systemem Windows............................................................516
Definiowanie uprawnie serwera MySQL..............................................522
Sprawdzanie poprawnoci instalacji ......................................................528
Dodatek B
Aplikacje dodatkowe
531
Narzdzie phpMyAdmin .........................................................................532
Systemy szablonw .................................................................................533
Oprogramowanie obsugujce fora dyskusyjne.......................................534
Zarzdzanie zawartoci..........................................................................535
Handel elektroniczny...............................................................................536
Wyszukiwarki..........................................................................................537
Biblioteki kodw rdowych .................................................................538
Dodatek C
Odsyacz
539
Jzyk PHP ...............................................................................................540
Serwer MySQL .......................................................................................547
Dodatek D
Zasoby internetowe
553
Jzyk PHP ...............................................................................................554
Serwer MySQL .......................................................................................557
Jzyk SQL ...............................................................................................559
Zabezpieczenia ........................................................................................560
Inne strony internetowe ...........................................................................561
Skorowidz
565
Zarzdzanie zawartoci
strony przykad
377
Rozdzia 11.
Tworzenie szablonu
W pierwszym etapie projektowania aplikacji
zostanie utworzony systemowy szablon,
ktrego zadaniem bdzie wspomaganie procesu
przygotowywania strony HTML. Strona
w ostatecznej postaci (rysunek 11.1)
bdzie korzystaa z tabel i kilku arkuszy
stylw CSS (ang. Cascading Style Sheets).
Tworzenie szablonu
%&''''#()*
) + **,
1
%123"4/5# 1 6%1
5# 1 /
1+
7
5!1/"!#8890*
.
"1.:%%
15#
;%(1<"17
:."1.
=5?(#3 -5##&
@A9A9A97
%--" (#%&
%+7
%--" ("(&
%+7
(" #%&
%+7
(" "(&
%+7
378
379
Tworzenie szablonu
!""# $
*
+
!/%&''''#(000+
+
& (/1
(/1 .
C
1-.
9
1
%123"4/5# 1 6%1
5# 1 /1+
7
5!1/"!#8890*
.
,
"1.:%%
15#
;%(1<"17
:."1.
D
!61
6%1/1+5!!
1-"/!511 .
8
=#-6
>
=5?(#3 -5##&
@AAAAAA7
B
0
5# 1
>
=5?(#3 -5##&
@A9A9A97
%--" (#%&
%+7
%--" ("(&
%+7
%--" (=##
&
%+7
%--" (1A&
%+7
*
(" #%&
%+7
(" "(&
%+7
(" =##
&
%+7
(" 1A&
%+7
B
C
4" ?&" ?
>
5##&
@,,7
1+-15#"# &
# 17
B
9
4" ?&4"!"1-
>
5##&
@,,7
1+-15#"# &
# 17
B
,
-
>
8
A# A
"6&
E1- F
G"F
141"5F
! !!1"A7
A# !"H1&
%+7
0
B
*
"1
>
**
A# !"H1&
*C%+7
A# '1"(&
#
7
5##&
@AAAAAA7
*
(" #%&
9%+7
(" =##
&
9%+7
(" 1A&
*%+7
*C
%--" (#%&
9%+7
%--" (=##
&
9%+7
%--" (1A&
*%+7
*9
B
*,
!61.
*D
1-.
*8
=#-6.
*0
=1
'"-/0I
=#-1/
51!%5" (/
51%--" (/
.
*
-
5#!% /*
=(5##/@,,.%
5!!/"1.JHK-H "1
H'#L5"K
!# %.-.
.
C
.
9
-
4"( /#%
#'%/ #'%.
,
=.
1A/" -1+%%
5!!/ 4" ?.M#
(NO' .=
.
D
1A/4"1'<3!%%
5!!/ 4" ?.H1(K-P
-1!6
).=
.
8
1A/--<3%%
5!!/ 4" ?.#-P
-1!
).=
.
0
1A/4"1'<A"1!%%
5!!/ 4" ?.H1(K-P
%"?".=
.
C
1A/--<A"1%%
5!!/ 4" ?.#-P
%"?.=.
C
-.
C*
C
-
4"( /#%
5!!/5# 1 .
CC
"!" (
(#'1?
.
Rozdzia 11.
Tworzenie szablonu
4" ?&" ?
>
5##&
@,,7
1+-15#"# &
# 17
B
4" ?&4"!"1-
>
5##&
@,,7
1+-15#"# &
# 17
B
4" ?)
>
5##&
@5555557
1+-15#"# &
# 17
B
-
>
A# A
"6&
E1- F
G"F
141"5F
! !!1"A7
A# !"H1&
%+7
A# !"H1&
*C%+7
A# '1"(&
#
7
5##&
@AAAAAA7
(" #%&
9%+7
(" =##
&
9%+7
%--" (#%&
9%+7
%--" (=##
&
9%+7
.
-
5#!% /*
=(5##/@,,.
%
5!!/"1.JHK-H "1
H'#L5"K
!# %.-.
.
.
380
381
Tworzenie szablonu
Rozdzia 11.
-.
.
Tworzenie szablonu
.
-.Q =!%7-.
-
"( /51 1.Q5#%67
*
6
-
!"(!F
5-.
.
=1.
=#-6.
.
382
"!" (
*
!#%?
.
*
R# "15
H'#L5"
!# 6
.
-.
C
.
9
,
.
D
-.Q =!%7-.
8
-
"( /51 1.Q5#%67
*
6
-
!"(!F
5-.
0
.
=1.
*
=#-6.
.
(listing 11.3).
:%%
@
"!" (
" -1+%%
nagwka HTML.
;%(1<"1
/
TJHK-H "1
H'#L5"K
!# T7
" 53-1<# 51
UT" 53-1! (#'1?
TV7
:.
%.M%
!%
!%
!%
!%
!%
!%
!%
!%
!%
%.
%.M%
!%
!%
!%
!%
!%
!%
!%
!%
!%
%.
:%%
@
"!" (
" -1+%%
*
SNO'
!#
!1'1
!'"1 "1
63N3
!# 6
"
-#NK5H1 "1
(NO'?
C
;%(1<"1
/
TJHK-H "1
H'#L5"K
!# T7
9
" 53-1<# 51
:.
D
%.M%
!%
!%
!%
!%
!%
!%
!%
!%
!%
%.
8
%.M%
!%
!%
!%
!%
!%
!%
!%
!%
!%
%.
0
:%%
#NK5H1 "1
!#%?"
" 53-1<# 51
UT" 53-1!!#%?
TV7
:.
Tworzenie zwykych
stron internetowych
Rozdzia 11.
(listing 11.4).
:%%
@
"!" (
C
6!2<5# 15%%
staych.
-1A"
-1A"
-1A"
-1A"
1
UT<M )TF
T3!1
1TV7
1
UT<GMM)TF
T%!!'#-TV7
1
UT<MTF
T#5#!TV7
1
UT<$G TF
T5# 1 TV7
:%%
@
"!" (
C
6!2<5# 15%%
*
%"?3
H'#
%
16
'6
( 1
-#
3H6!? "
-#!W%3
-#
=H6
- 65
"?
P1!
3X6' 6
?X1
%H6
NK5H1 "3
!"W
H
!1'11
6MY
"
'6="1 "1
=H6
- 65
C
!'"1 "1
P?#
!N65
%
1O'
3-H"1PK565
-#!W%3
-#
=H6
- 65
9
-1A" 1
UT<M )TF
T3!1
1TV7
,
-1A" 1
UT<GMM)TF
T%!!'#-TV7
D
-1A" 1
UT<MTF
T#5#!TV7
8
-1A" 1
UT<$G TF
T5# 1 TV7
0
$'"KH "1
%#NK5H1 "
H
!1'11
"
'6= "1
=H6
- 65
;-=5
/
Z
6!2<5# 15
U<MF
<M )F
<GMM)V
)
-"1
UT$"1
=6N#
#X"'1
%#NK5H1 "1
H
!1'11
6MY&
T
6!2<1#UV
V7
6!2<!115<-=
U<$G V
)
-"1
UT$"1
=6N#
#X"'1
'6= "1
=H6
- 65&
T
6!2<1#UV
V7
*
:.
baz danych.
;-=5
/
Z
6!2<5# 15
U<MF
<M )F
<GMM)V
)
-"1
UT$"1
=6N#
#X"'1
%#NK5H1 "1
H
!1'11
6MY&
T
6!2<1#UV
V7
6!2<!115<-=
U<$G V
)
-"1
UT$"1
=6N#
#X"'1
'6= "1
=H6
- 65&
T
6!2<1#UV
V7
. Wicej
informacji na ten temat zawarto w rozdziale 6.
4. Zakoczy skrypt PHP.
:.
Wskazwki
W nastpnym rozdziale zostanie omwiony
385
Rozdzia 11.
) G
G
3%#-!
U3%#-<"-
"
UV
$MS$
$
$
G<$) $F
A"1<
1
EG)G)UV
$
$F
A"1<!"H1
$U,V
$MS$
$
$F
A"1<6%1
EG)G)UV
$
$F
-1!5"%"#
EG)G)UV
[G
$F
3%#-<-1
G
$
$F
)G)
R
U3%#-<"-VF
R
A"1<
1
UA"1<
1VV7
) G
G
3<"1!
U"1<"-
MG$UCV
$MS$
$
$
G<$) $F
3
EG)G)U,V
$
$F
"1
EG)G)U,V
$
$F
-1!5"%"#
$
$
$F
)G)
R
U"1<"-VF
$Y
R
3
U3VV7
) G
G
3<6%1!
U6%1<"-
$$UV
$MS$
$
$
G<$) $F
6%1
EG)G)U*V
$
$F
)G)
R
U6%1<"-VF
$Y
R
6%1
U6%1VV7
) G
G
3!
U3<"-
MG$UCV
$MS$
$
$
G<$) $F
"1<"-
MG$UCV
$MS$
$
$F
6%1<"-
$$UV
$MS$
$
$F
%%#41-
G)UV
[G
T$TF
-1<!3=
"1-
MGUCV
$
$F
)G)
R
U3<"-VF
R
"1<"-
U"1<"-VF
R
6%1<"-
U6%1<"-VF
R
-1<!3=
"1-
U-1<!3=
"1-VV7
W celu sprawdzenia struktury bazy danych zawsze mona uy poniszych polece jzyka SQL
(rysunek 11.5).
M
G M7
M)
nazwa_tabeli7
386
"A
U1
%6U;<M\T3T]VV
>
;3
/
1!5%1<-U;<M\T3T]V7
B
1!1
>
;3
/
[GM 7
15#
T%.A#
5##/1-.#!HW
%#-^
-1!
)A# .%.T7
"A
U1
%6U;<M\T"1T]VV
>
;
/
1!5%1<-U;<M\T"1T]V7
B
1!1
>
;
/
[GM 7
15#
T%.A#
5##/1-.
#!HW
%#-^
H'W
-1!3
Listing 11.5. Skrypt pozwala uytkownikom przesya adresy URL do bazy danych
:%%
@
"!" (
9
--<3%%
*
M#
%#H'
3X6?#' "?#
-#-^
-1!6
)
-#
=H6
- 65
!'"1 "1
63N3
!# 6
"
-#NK5H1 "1
(NO'?
C
;%(1<"1
/
T#-' "1
-1!O'
)T7
9
" 53-1
UT" 53-1! (#'1?
TV7
,
123"1<# 51
UT
6!2<5# 15%%TV7
#NK5H1 "1
H
=HK
- 65
D
"A
U"!!1U;<M\T!3=
"T]VV
>
=!N3(
A#
3H
8
[3 ?5P
3!3'PK5
H ?
TT
"
#=5" PK5
- 1
'%#'-H# 1
'
A#
3H3
0
A3 5"#
1!5%1<-
U;-V
>
(#=
;-=57
"A
U" "<(1UT
("5<23#1!<(%5TVV
>
*
;-
/
!"%!!1!U;-V7
B
C
13
6!2<1<1!5%1<!" (
U"
U;-VF
;-=5V7
9
B
R# "15
!1?5P"
A3 ?5P"
1!5%1<-UV
387
"A
U"!!1U;<M\T!3=
"T]VV
>
=!N3(
A#
3H
A3 5"#
1!5%1<-
U;-V
>
(#=
;-=57
"A
U" "<(1UT
("5<23#1!<(%5TVV
>
;-
/
!"%!!1!U;-V7
13
6!2<1<1!5%1<!" (
U"
U;-VF
;-=5V7
Rozdzia 11.
W tym przykadzie zostanie dokonane
sprawdzenie, czy wprowadzono wartoci.
W celu zwikszenia dokadnoci mona
oczywicie zastosowa wyraenia proste
(tak naprawd w rozdziale 8. zawarto skrypt
przeprowadzajcy walidacj adresw URL).
Jeli jakie pole nie zostanie wypenione,
pojawi si komunikat bdu widoczny
na rysunku 11.6.
4. Sprawdzi, czy w polu
podano warto.
"A
U1
%6U;<M\T-1!5"%"# T]VV
>
;-
/
1!5%1<-
B
1!1
>
;-
/
TT7
B
M%'-H1 "1
-1!3
)
D
"A
U1
%6U;<M\T3T]VV
>
8
;3
/
1!5%1<-U;<M\T3T]V7
0
B
1!1
>
*
;3
/
[GM 7
*
15#
T%.A#
5##/1-.#!HW
%#-^
-1!
)A# .%.T7
B
**
M%'-H1 "1
H'6
-1!3
)
*
"A
U1
%6U;<M\T"1T]VV
>
*C
;
/
1!5%1<-U;<M\T"1T]V7
*9
B
1!1
>
*,
;
/
[GM 7
*D
15#
T%.A#
5##/1-.#!HW
%#-^
H'W
-1!3
)"1A# .%.T7
B
*8
M%'-H1 "1
'#L5"
%#
-1!5"%"#
U "1
P1!
'6
( 1V
*0
"A
U1
%6U;<M\T-1!5"%"# T]VV
>
;-
/
1!5%1<-U;<M\T-1!5"%"# T]V7
B
1!1
>
;-
/
TT7
B
388
"A
UU;<M\T6%1T]
.
V
)
U;<M\T6%1*T]
.
V
)
U;<M\T6%1T]V
.
V
>
;6%1
/
) 7
B
1!1
>
;6%1
/
[GM 7
15#
T%.A#
5##/1-.
#!HW
%#-^
5#
P
"1P
P1- K
?1(#"WA# .%.T7
Listing 11.5. Skrypt pozwala uytkownikom przesya adresy URL do bazy danych cig dalszy
*
M%'-H1 "1
?1(#""
"A
UU;<M\T6%1T]
.
V
)
U;<M\T6%1*T]
.
V
)
U;<M\T6%1T]V
.V
>
C
;6%1
/
) 7
9
B
1!1
>
,
;6%1
/
[GM 7
D
15#
T%.A#
5##/1-.#!HW
%#-^
5#
P
"1P
P1- K
?1(#"WA# .%.T7
B
8
"A
U;3
QQ
;
QQ
;6%1V
>
_1L"
'!H6!?#
P1!
'
%#HK-?3
0
#-' "1
-1!3
)
-#
=1"
3<"1!
C
;2316
/
$M )
$
3<"1!
U3F
"1F
-1!5"%"# V
EG M
UT;3TFT;TF
T;-TV7
C
;1!3
/
Z
6!2<2316
U;2316V7
6?# "1
H%6 "
C*
;"-
/
Z
6!2<" !1<"-UV7
#= "1
"-1 6A"?#
63N3
C
CC
"A
U;"-
.
V
>
_1L"
H#!N#
'6?# 1
%'"-N#'#
C9
'#H1 "1
H%6 "
C,
;2316
/
T$M )
$
3!
U"1<"-F
6%1<"-F
%%#41-F
-1<!3=
"1-V
EG M
T7
CD
"A
U;<M\T6%1T]
.
V
>
C8
;2316
/
U;"-F
>;<M\T6%1T]BF
TTF
$UVVF
7
B
389
Rozdzia 11.
6. Doda adres URL do tabeli
.
"A
U;3
QQ
;
QQ
;6%1V
>
#-' "1
-1!3
)
-#
=1"
;2316
/
$M )
$
3<"1!
U3F
"1F
-1!5"%"# V
EG M
UT;3TF
T;TF
T;-TV7
;1!3
/
Z
6!2<2316
U;2316V7
;"-
/
Z
6!2<" !1<"-UV7
"A
U;"-
.
V
>
;2316
/
T$M )
$
3!
U"1<"-F
6%1<"-F
%%#41-F
"A
U;<M\T6%1T]
.
V
>
;2316
/
U;"-F
>;<M\T6%1T]BF
TTF
$UVVF
7
"A
U;<M\T6%1*T]
.
V
>
;2316
/
U;"-F
>;<M
\T6%1*T]BF
TTF
$UVVF
7
"A
U;<M\T6%1T]
.
V
>
;2316
/
U;"-F
>;<M\T6%1T]BF
TTF
$UVVF
7
;2316
/
!3=!
U;2316F
F
*V7
Listing 11.5. Skrypt pozwala uytkownikom przesya adresy URL do bazy danych cig dalszy
C0
"A
U;<M\T6%1*T]
.
V
>
9
;2316
/
U;"-F
>;<M\T6%1*T]BF
TTF
$UVVF
7
B
9
"A
U;<M\T6%1T]
.
V
>
9*
;2316
/
U;"-F
>;<M\T6%1T]BF
TTF
$UVVF
7
9
B
9C
;2316
/
!3=!
U;2316F
F
*V7
!3 "W5"1
#! "1(#
%H15" ?
"
!%5P"
99
6?# "1
H%6 "
9,
;1!3
/
Z
6!2<2316
U;2316V7
9D
"A
U;1!3V
>
98
15#
T%.=.H"W?3P1
6
H
%H1!N "1
- 65=.%.T7
90
;<M
/
6UV7
,
B
1!1
>
_1L"
'6!K%"K
%#=1
6
,
15#
T%.A#
5##/1-.$
!?31?
=NW-3
!6!1
#'1(#
'6!N 1
H%6 "1
"1
#(N#
H#!^
%H1'#H# 1
H1%!H
6
H
H"! "NK
"1-#(#- #L^A# .%.T7
,*
B
,
B
1!1
>
_1L"
'6!K%"K
%#=1
6
,C
15#
T%.A#
5##/1-.$
!?31?
=NW-3
!6!1
#'1(#
'6!N 1
H%6 "1
"1
#(N#
H#!^
%H1'#H# 1
H1%!H
6
H
H"! "NK
"1-#(#- #L^A# .%.T7
,9
390
;1!3
/
Z
6!2<2316
U;2316V7
"A
U;1!3V
>
15#
T%.=.H"W?3P1
6
H
%H1!N "1
- 65=.%.T7
B
1!1
>
_1L"
'6!K%"K
%#=1
6
15#
T%.A#
5##/1-.
$
!?31?
=NW-3
!6!1
#'1(#
'6!N 1
H%6 "1
"1
#(N#
H#!^
%H1'#H# 1
H1%!H
6
H
H"! "NK
Listing 11.5. Skrypt pozwala uytkownikom przesya adresy URL do bazy danych cig dalszy
,,
B
1!1
>
_1L"
P1-
H
#%15P"
!%'-H1 "
- 65
!"W
"1
%#'"1-H"1
,D
15#
T%.A#
5##/1-.#!HW
!%O=#'^
%# #' "1A# .%.T7
,8
B
,0
B
R# "15
" !3?5P"
'3 ?#'1P
#=!N3(3PK51P
- 1
'%#'-H 1
'
A#
3H3
D
[#
3H
'6L'"1PK56
- 1
D
'#H1 "1
1 3
#H'"P 1(#
D*
;2316
/
M
`
[)
3<6%1!
) )
6%1
GM7
D
;1!3
/
Z
6!2<2316
U;2316V7
DC
;%3-#'
/
T#%"# .6="1H
P1- K
%#H65PW#%"# .T7
D9
'"1
U;#'
/
6!2<A15<6
U;1!3F
MY<GMMVV
>
D,
;%3-#'
/
#%"#
431/a>;#'\T6%1<"-T]Ba.>;#'\T6%1T]B#%"# .a 7
DD
B
D8
:.
D0
A#
5"# /:%%
15#
;<M )E )\T<M [T]7
:.
1#-/%#!.
8
U
#X
'6=^
?!6
"1
?1(#"1V&1(1 -.
8
%.=.G-1!
)&=.
" %3
6%1/1+
1/3
!"H1/,
+1 (/,
431/:%%
"A
U"!!1U;<M\T3T]VV
15#
;<M\T3T]7
:.
.=
8*
.!
.$"1
-#NK5HP
"-1 6A"?#
".%&".!
.%.
8
B
1!1
>
8C
15#
T%.A#
5##/1-.$
!?31?
=NW-3
!6!1
#'1(#
'6!N 1
H%6 "1
"1
#(N#
H#!^
%H1'#H# 1
H1%!H
6
H
H"! "NK
"1-#(#- #L^A# .%.T7
89
B
8,
B
1!1
>
8D
15#
T%.A#
5##/1-.#!HW
!%O=#'^
%# #' "1A# .%.T7
88
B
80
391
Rozdzia 11.
9. Utworzy stron HTML, na ktrej zostan
;%3-#'
/
#%"#
431/a>;#'\T6%1<"-T]Ba.>;#'
\T6%1T]B#%"# .a 7
B
Listing 11.5. Skrypt pozwala uytkownikom przesya adresy URL do bazy danych cig dalszy
0
%.=.$H'63N
-1!3
)&=.
" %3
6%1/1+
1/"1
!"H1/,
+1 (/,
431/:%%
"A
U"!!1U;<M\T"1T]VV
15#
;<M\T"1T]7
:.
.%.
0
0*
%.=.%"!&=.
1+1
1/-1!5"%"#
5#!/C
#'!/9.:%%
"A
%.=.R1(#"
&=.
!115
1/6%1.
09
:%%
15#
;%3-#' 7
:.
0,
!115.%.
0D
08
%.=.R1(#"
*&=.
!115
1/6%1*.
00
:%%
15#
;%3-#' 7
:.
!115.%.
*
%.=.R1(#"
&=.
!115
1/6%1.
:%%
15#
;%3-#' 7
:.
C
!115.%.
9
,
A"1-!1.
D
8
-"4
"( /51 1." %3
6%1/!3=
"
1/!3=
"
431/6L"P
.-"4.
0
A#
.
R# "15
A#
3H.
:%%
*
6!2<5#!1UV7
J
? "W5"1
%#NK5H1 "
H
=HK
- 65
" 53-1
UT" 53-1!!#%?
TV7
#NK5H1 "1
!#%?"
C
:.
392
%.=.$H'63N
-1!3
)&=.
" %3
6%1/1+
1/"1
!"H1/,
+1 (/,
431/:%%
"A
U"!!1U;<M\T"1T]VV
15#
;<M\T"1T]7
:.
.%.
%.=.%"!&=.
1+1
1/-1!5"%"#
5#!/C
#'!/9.:%%
"A
U"!!1U;<M\T-1!5"%"# T]VV
15#
;<M\T-1!5"%"# T]7
:.1+1.%.
%.=.R1(#"
&=.
!115
1/6%1.
:%%
15#
;%3-#' 7
:.
!115.%.
%.=.R1(#"
*&=.
!115
1/6%1*.
:%%
15#
;%3-#' 7
:.
!115.%.
%.=.R1(#"
&=.
!115
1/6%1.
:%%
15#
;%3-#' 7
:.
!115.%.
A"1-!1.
-"4
"( /51 1." %3
6%1/!3=
"
1/!3=
"
431/6L"P
.-"4.
A#
.
393
%.=.G-1!
)&=.
" %3
6%1/1+
1/3
!"H1/,
+1 (/,
431/:%%
"A
U"!!1U;<M\T3T]VV
15#
;<M\T3T]7
:.
.=
.!
.$"1
-#NK5HP
"-1 6A"?#
".%&".!
.%.
Rozdzia 11.
Formularz (rysunek 11.9) pozwala wprowadzi
do pl tekstowych kilka wartoci i zapamita je.
11. Zakoczy skrypt PHP.
:%%
6!2<5#!1UV7
" 53-1
UT" 53-1!!#%?
TV7
:.
394
395
Rozdzia 11.
;4
/
7
6%
Nb535#'6
;4
/
U" V;47
6%
5N?#'"#"5H=#'6
,
",
;4
/
6
U_ F
$#'?V7
"!
U;A"!F
;!V
/
;47
396
(listing 11.6).
:%%
@
"!" (
,
4"1'<3!%%
;%(1<"1
/
TH1(K- "1
-1!O'
)T7
" 53-1<# 51
UT" 53-1! (#'1?
TV7
123"1<# 51
UT
6!2<5# 15%%TV7
Listing 11.6. Skrypt view_urls.php wywietla zarwno menu z kategoriami adresw URL,
jak i z adresami dla konkretnej kategorii
:%%
@
"!" (
,
4"1'<3!%%
*
M#
%#H'
'6L'"1"^
-1!6
)
H%"! 1
'
=H"1
- 65
!'"1 "1
63N3
!# 6
"
-#NK5H1 "1
(NO'?
C
;%(1<"1
/
TH1(K- "1
-1!O'
)T7
9
" 53-1<# 51
UT" 53-1! (#'1?
TV7
,
123"1<# 51
UT
6!2<5# 15%%TV7
#NK5H1 "1
H
=HK
- 65
D
'#H1 "1
A#
3H
%#H'PK51(#
3X6?#' "?#'"
'6= "1
-1!3
)F
?O6
H#! "1
'6L'"1# 6
8
0
! "#
$%&
*'
397
Rozdzia 11.
3. Pobra wszystkie dostpne typy adresw URL
15#
T#%"#
431/TF
;#'\]F
T.TF
!"%!!1!U;#'\]VF
T#%"# .
T7
B
Listing 11.6. Skrypt view_urls.php wywietla zarwno menu z kategoriami adresw URL,
jak i z adresami dla konkretnej kategorii cig dalszy
&&(! ) $*
C+,-../012345436.3789-/'
9+,,:+,;'
, :+,:+<58-=5;;>
D
<+?@A<< :+?BA;<&
8'
0C
*
*&&D#E" "
**&
* ! !
) FG
*C&
*9&
*,'
*D
*8
#= "1
-1!O'
)
#?1L# 1(#
6%3
UP1L"
(#
%#- #V
*0
"A
U"!!1U;<S \T6%1T]VV
>
;
/
" 4U;<S \T6%1T]V7
M%'-H1 "1F
5H6
6%
P1!
5N?#'"#"5H=#'6
*
#= "1
H'6
?3 "1
'6= 1(#
6%3
C
;2316
/
M
6%1
[)
3<6%1!
)
6%1<"-/;7
9
;1!3
/
6!2<2316
U;2316V7
,
"!
U;6%1V
/
6!2<A15<6
U;1!3F
MY<$V7
D
8
15#
.-"4
"( /a51 1a.=.;6%1
#- #L "?O'=.=
.
0
!
.U!H6!?"1
#- #L "?"
=W-K
?#H6!N6
H
'N! 1(#
#?
$P%"1'
H#! K
'6L'"1# 1
#! "#
-#- 1
#- #L "?"V!
.-"4.a 7
398
;
/
" 4U;<S \T6%1T]V7
15#
.-"4
#- #L "?O'=.=
.
!
.U!H6!?"1
#- #L "?"
=W-K
?#H6!N6
H
'N! 1(#
#?
$P%"1'
H#! K
'6L'"1# 1
#! "#
-#- 1
#- #L "?"V!
.-"4.a 7
Listing 11.6. Skrypt view_urls.php wywietla zarwno menu z kategoriami adresw URL,
jak i z adresami dla konkretnej kategorii cig dalszy
C
;A"!
/
) 7
"5P"H5P
H
"1 1P
C
6?# "1
H%6 "
=H"1
- 65
C*
;2316
/
M
3F
"1F
-1!5"%"#
[)
3!
GM
3F
3<"1!
GM
3
)
3"1<"-
/
3"1<"-
G$
36%1<"-/;
G$
3%%#41-
/
TT
) )
-1<!3=
"1-
-1!57
C
;1!3
/
6!2<2316
U;2316V7
CC&& ) "# *3
C9 :+,:+<58-=9--4/;;>
C,&&H) F "#<" "!
CD :+ ;>
C8!!@ B@@I
J
J
C0
9
K@I "LB4) #&&
9
K@I "LB4 &&
9*&'
9C&&M $ #F"" N+
399
;2316
/
M
6%1
[)
3<6%1!
)
6%1<"-/;7
;1!3
/
6!2<2316
U;2316V7
"!
U;6%1V
/
6!2<A15<6
U;1!3F
MY<$V7
Rozdzia 11.
Zmienna '
zostanie wykorzystana
na dwa sposoby. Pierwszy z nich bdzie
polega na tym, e zmienna wskae, e przed
wywietleniem pierwszego rekordu na stronie
HTML powinna zosta utworzona tabela.
W drugim przypadku zmienna posuy
do sprawdzenia, czy w wyniku wykonanego
zapytania zostay zwrcone jakiekolwiek
adresy URL.
7. Wywietli wszystkie zwrcone rekordy.
'"1
U;#'
/
6!2<A15<6
U;1!3F
MY<GMMVV
>
"A
U;A"!V
>
15#
T=1
=#-1/
'"-/I
51!%5" (/
51%--" (/
.
-
"( /"(
'"-/9I.A#
-
"( /1A
'"-/9I.A#
!"H1/c.%"!A# .-.
.T7
B
15#
.
-
"( /a"(a.
1A/a%&>;#'\T3T]Ba
-
"( /a1Aa.>;#'
.a 7
;A"!
/
[GM 7
Listing 11.6. Skrypt view_urls.php wywietla zarwno menu z kategoriami adresw URL,
jak i z adresami dla konkretnej kategorii cig dalszy
9C&& ) "# #
99
9,
O
OO%&&>+?ACO
OO
9D :+? A;&&
98
OO>+? AC&
90&O'
,+ 29-.'&&D*F#
,C&&M $
,*
_1L"
"1
'6L'"1# #
X- 1(#
1?#-3
,
"A
U;A"!V
>
,C
15#
T-"4
"( /51 1.G?3 "1
-
'6= 1P
?1(#""
"1
"! "1P1
X-1
#- #L "?-"4.T7
,9
B
1!1
>
,,
15#
T=1.T7
J
? "W5"1
=1"
,D
B
,8
B
R# "15
" !3?5P"
'3 ?#'1P
;<S \T6%1T]
,0
6!2<5#!1UV7
J
? "W5"1
%#NK5H1 "
H
=HK
- 65
D
" 53-1<# 51
UT" 53-1!!#%?
TV7
#NK5H1 "1
!#%?"
D
:.
400
"A
U;A"!V
>
15#
T-"4
"( /51 1.G?3 "1
-
'6= 1P
?1(#""
"1
"! "1P1
X-1
#- #L "?-"4.T7
B
1!1
>
15#
T=1.T7
B
B
Rozdzia 11.
Zarzdzanie plikami
Ostatnia cz omawianej aplikacji internetowej
suy do zarzdzania plikami dowolnego typu.
Odpowiednie skrypty pozwol uytkownikom
przy uyciu przegldarki internetowej umieci
na serwerze pliki przechowywane na ich
komputerach (rysunek 11.15). Dodatkowo
do bazy danych zostanie dodany rekord
powizany z wykonan operacj.
Zarzdzanie plikami
402
Znaczenie
Oryginalna nazwa pliku (przechowywanego
na komputerze uytkownika).
6%1
!"H1
%< 1
403
Zarzdzanie plikami
Rozdzia 11.
3. Zapisa plik i ponownie uruchomi
Zarzdzanie plikami
A"1<3%#-!
/
3%#-<
%<-"
/
%
3%#-<
+<A"1!"H1
/
*
404
Wskazwki
Warto pola 23,4 ogranicza
Zarzdzanie plikami
Rozdzia 11.
(listing 11.7).
:%%
@
"!" (
D
--<A"1%%
;%(1<"1
/
T
"1!H5H "1
%"?3
!1'1H1T7
" 53-1
UT" 53-1! (#'1?
TV7
Zarzdzanie plikami
123"1<# 51
UT
6!2<5# 15%%TV7
A3 5"#
1!5%1<-
U;-V
>
(#=
;-=57
"A
U" "<(1UT
("5<23#1!<(%5TVV
>
;-
/
!"%!!1!U;-V7
13
6!2<1<1!5%1<!" (
U"
U;-VF
;-=5V7
"A
U1
%6U;<M\T-1!5"%"# T]VV
>
;-
/
1!5%1<-
B
1!1
>
;-
/
TT7
:%%
@
"!" (
D
--<A"1%%
*
M#
%#H'
3X6?#' "?#
3
"1L5"^
%"?"
!1'1H1
!'"1 "1
63N3
!# 6
"
-#NK5H1 "1
(NO'?
C
;%(1<"1
/
T
"1!H5H "1
%"?3
!1'1H1T7
9
" 53-1
UT" 53-1! (#'1?
TV7
,
"A
U"!!1U;<M\T!3=
"T]VV
>
=!N3(
A#
3H
D
123"1<# 51
UT
6!2<5# 15%%TV7
#NK5H1 "1
H
=HK
- 65
8
[3 ?5P
3!3'PK5
H ?
TT
"
#=5" PK5
- 1
'%#'-H# 1
'
A#
3H3
0
A3 5"#
1!5%1<-
U;-V
>
(#=
;-=57
"A
U" "<(1UT
("5<23#1!<(%5TVV
>
*
;-
/
!"%!!1!U;-V7
B
C
13
6!2<1<1!5%1<!" (
U"
U;-VF
;-=5V7
9
B
R# "15
!1?5P"
A3 ?5P"
1!5%1<-UV
406
"A
U;1!3V
>
;1+1 !"#
/
1+%#-1
UTTF
;3"-
/
6!2<" !1<"-UV7
;A"1
1
/
;3"-
TT
;1+1 !"# \]7
Zarzdzanie plikami
Listing 11.7. Skrypt pozwala uytkownikowi umieci plik na serwerze cig dalszy
,
M%'-H1 "1
#=15 #L5"
#%"!3
U "1
P1!
'6
( 1V
D
"A
U1
%6U;<M\T-1!5"%"# T]VV
>
8
;-
/
1!5%1<-U;<M\T-1!5"%"# T]V7
0
B
1!1
>
*
;-
/
TT7
*
B
**
*&&6 #!"
*C+,P-.30P04: < "< <
<;Q9.-:>+2P.-?A?AC<
>+2P.-?A? "AC<>+2P.-?A?AC<+<4 :;;'
*9+R,,:+,;'
*,
*D :+;>
*8
*0&&" " #
+S S:<+2P.-?A?A;'
+ , :;'&&P # # ""
"
*+ + +S ?BA'
C&&("" #
9 :
:+2P.-?A?A<
&&+ ;;>
,
15#
T%."?
H#!N
3
"1!H5H# 6
!1'1H1%.T7
407
Rozdzia 11.
5. Skopiowa plik w docelowe miejsce
na serwerze.
Zarzdzanie plikami
"A
U
#41<3%#-1-<A"1U;<[ M
;A"1
1VV
>
15#
T%."?
H#!N
3
"1!H5H# 6
!1'1H1%.T7
B
1!1
>
15#
T%.A#
5##/1-.
#X"'1A# .%.T7
;2316
/
[)
3%#-!
)
3%#-<"-
/
;3"-7
;1!3
/
Z
6!2<2316
U;2316V7
B
1!1
>
15#
T%.A#
5##/1-.$
!?31?
=NW-3
!6!1
#'1(#
'6!N 1
H%6 "1
"1
#(N#
H#!^
%H1'#H# 1
H1%!H
6
H
H"! "NK
6!2<5#!1UV7
B
:.
Listing 11.7. Skrypt pozwala uytkownikowi umieci plik na serwerze cig dalszy
D
B
1!1
>
8
15#
T%.A#
5##/1-.H1 "1!"1 "1
%"?3
"1
=6N#
#X"'1A# .%.T7
0
C
!3 "W5"1
1?#-3
H
=H6
- 65
C
;2316
/
[)
3%#-!
)
3%#-<"-
/
;3"-7
C*
;1!3
/
Z
6!2<2316
U;2316V7
C
B
CC
C9
B
1!1
>
_1L"
H%6 "1
=H"1
- 65
"1
H#! "1
'6?# 1
%'"-N#'#
C,
15#
T%.A#
5##/1-.$
!?31?
=NW-3
!6!1
#'1(#
'6!N 1
H%6 "1
"1
#(N#
H#!^
%H1'#H# 1
H1%!H
6
H
H"! "NK
"1-#(#- #L^A# .%.T7
CD
B
C8
C0
6!2<5#!1UV7
J
? "W5"1
%#NK5H1 "
H
=HK
- 65
9
9
B
R# "15
" !3?5P"
'3 ?#'1P
#=!N3(3PK51P
- 1
'%#'-H 1
'
A#
3H3
9*
:.
9
9C &T U+-.3Q.3?(V(-.2A'U
99
9, 59W2P.-PD.
KXYXZZ
408
na stronie HTML.
A#
1 56%1/
3"%A#
-
5"# /:%%
15#
;<M )E )\T<M [T]7
:.
1#-/%#!.
" %3
6%1/"--1
1/G<[ <MJ
431/9*C*88.
A"1-!1.1(1 -.
513
3
"1!H5H1 "
%"?3
!1'1H1
1X6
'6%1N "^
A#
3H&1(1 -.
%.=."?&=.
" %3
6%1/A"1
1/3%#-
.%.
%.=.%"!&=.
1+1
1/-1!5"%"#
5#!/C
#'!/9.1+1.%.
A"1-!1.
A# .
Listing 11.7. Skrypt pozwala uytkownikowi umieci plik na serwerze cig dalszy
9D
%.=.%"!&=.
1+1
1/-1!5"%"#
5#!/C
#'!/9.1+1.%.
,*
,
A"1-!1.
,C
,9
-"4
"( /51 1." %3
6%1/!3=
"
1/!3=
"
431/6L"P
.-"4.
,,
,D
A#
.
R# "15
A#
3H.
,8
,0
:%%
D
" 53-1
UT" 53-1!!#%?
TV7
#NK5H1 "1
!#%?"
D
:.
409
Zarzdzanie plikami
-"4
"( /51 1." %3
6%1/!3=
"
1/!3=
"
431/6L"P
.-"4.
Rozdzia 11.
9. Zapisa plik pod nazw add_file.php,
Zarzdzanie plikami
410
(listing 11.8).
:%%
@
"!" (
8
4"1'<A"1!%%
;%(1<"1
/
TH1(K- "1
%"?O'T7
" 53-1<# 51
UT" 53-1! (#'1?
TV7
123"1<# 51
UT
6!2<5# 15%%TV7
;A"!
/
) 7
Zmienna '
spenia tak sam rol jak
w skrypcie view_urls.php. Zmienna zostanie
wykorzystana przy tworzeniu nagwka
i w celu okrelenia, czy bdzie moliwe
przegldanie niektrych plikw.
2. Pobra z bazy danych informacje
o wszystkich plikach.
;2316
/
M
3%#-<"-F
A"1<
1F
)$UA"1<!"H1*CV
GM
A!F
-1!5"%"# F
G <[)GU3%#-<-1F
TI
I1F
ITV
GM
[)
3%#-!
) )
3%#-<-1
M7
;1!3
/
6!2<2316
U;2316V7
411
Zarzdzanie plikami
Rozdzia 11.
Zarzdzanie plikami
Listing 11.8. Skrypt view_files.php wywietla pliki umieszczone na serwerze wraz z ich opisem,
wielkoci i dat wykonania operacji
:%%
@
"!" (
8
4"1'<A"1!%%
*
M#
%#H'
3X6?#' "?#
%H1(K-^
%"?"
3
"1!H5H# 1
!1'1H1
!'"1 "1
63N3
!# 6
"
-#NK5H1 "1
(NO'?
C
;%(1<"1
/
TH1(K- "1
%"?O'T7
9
" 53-1<# 51
UT" 53-1! (#'1?
TV7
,
D
123"1<# 51
UT
6!2<5# 15%%TV7
#NK5H1 "1
H
=HK
- 65
8
0
;A"!
/
) 7
"5P"H5P
H
"1 1P
6!N "1
H%6 "
-#
=H6
- 65
+,-../0 < <346: "&B@XY;9-<
<690.243590:<I5I<I8;9-2345436.3786.-/'
*+,,:+,;'
&& ) "# *3
C :+,:+<58-=9--4/;;>
9&&H) F "#<" "!
, :+ ;>
D!!@ B@@I
J
J
8
0
X@I "LB" #&&
*
Y@I "LB4 &&
*
X@I "LB3" #&&
**
X@I "LB6 "" #
"&&
*&'
*CC&&M $ #F"" N+
*9&& ) "# #
*,
*D
OOO U >+? AC
O>+? AC&&
*8
OO :+? A;&
*0
OO>+?AC#!&
OO>+?AC&
&O'
*+ 29-.'&&D*F#
C&&M $
C
_1L"
"1
'6L'"1# #
X- 1(#
1?#-3
9
"A
U;A"!V
>
,
15#
T-"4
"( /51 1.G?3 "1
"1
X- 1(#
%"?3-"4.T7
D
B
1!1
>
8
15#
T=1.T7
J
? "W5"1
=1"
0
B
C
6!2<5#!1UV7
J
? "W5"1
%#NK5H1 "
H
=HK
- 65
C
" 53-1<# 51
UT" 53-1!!#%?
TV7
#NK5H1 "1
!#%?"
C*
:.
412
15#
T-"4
"( /51 1.G?3 "1
"1
X- 1(#
%"?3-"4.T7
B
1!1
>
15#
T=1.T7
B
:.
jest stosowana staa 2;<&,
np. w celu wywietlenia wartoci
naley uy instrukcji
$=>'>?.
Rysunek 11.23. Strona wywietlona po uruchomieniu
skryptu view_files.php
413
Zarzdzanie plikami
'"1
U;#'
/
6!2<A15<6
U;1!3F
MY<GMMVV
>
"A
U;A"!V
>
15#
T=1
=#-1/
'"-/I
51!%5" (/
51%--" (/
.
-
"( /1A
'"-/*I.A#
!"H1/c.$H'
%"?3A# .-.
-
"( /1A
'"-/CI.A#
!"H1/c.%"!A# .-.
-
"( /51 1
'"-/*I.A#
!"H1/c.)#H
"
%"?3A# .-.
-
"( /1A
'"-/*I.A#
!"H1/c.
3
"1!H5H1 "
%"?3
!1'1H1A# .-.
.T7
15#
.
-
"( /a1Aa.
1A/
>;#'\T3%#-<"-T]Ba.>;#'
\TA"1< 1T]B.-.
-
"( /a1Aa.
-.
-
"( /a51 1a.
>;#'\TA!T]B?=-.
-
"( /a1Aa.>;#'\T-T]B-.
.a 7
;A"!
/
[GM 7
B
Rozdzia 11.
(listing 11.9).
:%%
@
"!" (
0
-#' #-<A"1%%
Zarzdzanie plikami
123"1<# 51
UT
6!2<5# 15%%TV7
;2316
/
M
A"1<
1F
A"1<6%1F
A"1<!"H1
[)
3%#-!
)
3%#-<"/
>;<S \T3"-T]B7
;1!3
/
6!2<2316
U;2316V7
"!
U;A F
;AF
;A!V
/
6!2<A15<6
U;1!3F
MY<$V7
6!2<5#!1UV7
:%%
@
"!" (
0
-#' #-<A"1%%
*
M#
%#H'
%#= "1
%"?3
H
!1'1
%H6
3X65"3
A3 ?5P"
1-1UV
C
"A
U"!< 3
1"5
U;<S \T3"-T]VV
>
-1 6A"?#
%"?3
3
"1!H5H# 1(#
!1'1H1
9
,
123"1<# 51
UT
6!2<5# 15%%TV7
#NK5H1 "1
H
=HK
- 65
D
8
#= "1
" A#
5P"
1
%"?3
0
;2316
/
M
A"1<
1F
A"1<6%1F
A"1<!"H1
[)
3%#-!
)
3%#-<"-
/
>;<S \T3"-T]B7
;1!3
/
6!2<2316
U;2316V7
"!
U;A F
;AF
;A!V
/
6!2<A15<6
U;1!3F
MY<$V7
*
6!2<5#!1UV7
J
? "W5"1
%#NK5H1 "
H
=HK
- 65
?1L1 "1
H'6
%"?3
3
"1!H5H# 1(#
!1'1H1
C
;1+1 !"#
/
1+%#-1
UTTF
;A V7
9
;1<A"1
/
T3%#-!T
;<S \T3"-T]
TT
;1+1 !"# \]7
,
D
M%'-H1 "1F
5H6
%"?
"! "1P1
8
"A
UA"1<1+"!!
U;1<A"1VV
>
414
Wywoania funkcji #
powoduj
przesanie do przegldarki pliku i utworzenie
okna dialogowego (rysunek 11.24). W oparciu
o typ MIME (zapisany w bazie danych po
umieszczeniu pliku na serwerze) pierwszy wiersz
ma za zadanie przygotowanie przegldarki
do odebrania pliku. Drugi wiersz przy uyciu
oryginalnej nazwy pliku przechowywanego
na komputerze uytkownika okrela nazw
pobieranego pliku. Ostatnia funkcja #
informuje o iloci przesyanych danych.
Rwnie ta informacja zostaa ustalona
po umieszczeniu pliku na serwerze. Zawarto
pliku jest przesyana przy uyciu funkcji
Zarzdzanie plikami
6!N "1
%"?3
*
1-1
U# 1 6%1&
%%"5"# ;AV7
*
1-1
U# 1 -"!%#!""# &
5
1 7
A"1
1/;A V7
**
1-1
U# 1 1 (&
;A!V7
*
1-A"1
U;1<A"1V7
*C
*9
;
1!!(1
/
T%."?
H#!N
'6!N 6%.T7
*,
*D
B
1!1
>
"?
"1
"! "1P1
*8
;
1!!(1
/
T%.A#
5##/1-.- 1H"1 "1
%"?3
!1'1H1
"1
=6N#
#X"'1
H1%!H
6
H
H"! "NK
"1-#(#- #L^A# .%.T7
*0
B
B
1!1
>
$"1%'"-N#'6
"-1 6A"?#
%"?3
3
"1!H5H# 1(#
!1'1H1
*
;
1!!(1
/
T%.A#
5##/1-.#!HW
'6=^
%#%' 6
%"?
H P-3PK56
!"W
!1'1H1A# .%.T7
C
9
B
,
D
!'"1 "1
63N3
!# 6
"
-#NK5H1 "1
(NO'?
8
;%(1<"1
/
T#="1 "1
%"?3T7
0
" 53-1<# 51
UT" 53-1! (#'1?
TV7
C
C
15#
;
1!!(17
C*
C
" 53-1<# 51
UT" 53-1!!#%?
TV7
CC
:.
415
Rozdzia 11.
7. Zakoczy instrukcje warunkowe.
B
1!1
>
;
1!!(1
/
T%.A#
5##/
"1
=6N#
#X"'1
H1%!H
6
H
H"! "NK
"1-#(#- #L^A# .%.T7
B
B
1!1
>
;
1!!(1
/
T%.A#
5##/1-.#!HW
'6=^
%#%' 6
%"?
H P-3PK56
!"W
!1'1H1A# .%.T7
B
Zarzdzanie plikami
;%(1<"1
/
T#="1 "1
%"?3T7
" 53-1<# 51
UT" 53-1! (#'1?
TV7
15#
;
1!!(17
" 53-1<# 51
UT" 53-1!!#%?
TV7
:.
416