[ Pobierz całość w formacie PDF ]

$uploaded = "var/www/uploady/". $_FILES['plik']['name'];
if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
if ($_FILES['plik']['size'] > 1024*1024*1024) {
echo 'Plik jest za duży';
} else {
move_uploaded_file($_FILES['plik']['tmp_name'],$uploaded);
echo "Operacja przebiegła pomyślnie";
}
} else {
echo 'Błąd przy przesyłaniu danych!';
}
?>
Najpierw należy sprawdzić, czy plik został na pewno wysłany przez formularz. W przeciwnym
wypadku istnieje możliwość ominięcia zabezpieczeń i uruchomienia np. dowolnego skryptu PHP. Jeśli
plik nie został wysłany, pokazywany jest błąd. Następnie sprawdzana jest wielkość pliku, która na
poniższym przykładzie nie może przekroczyć 1 MB  1073741824 bajtów. Jeśli jego wielkość jest
większa, pokazywany jest błąd. Jeżeli nie, to plik zostaje przeniesiony na właściwe miejsce i
wypisywane jest potwierdzenie, że operacja przebiegła pomyślnie.
Skrypt, który odbiera plik, powinien zawierać kod określający, co stanie się z wysłanym plikiem.
43 z 65 2009-07-24 14:18
Kurs PHP. Wstęp do programowania w popularnym języku skryptowym http://webhosting.pl/print/Kurs.PHP..Wstep.do.programowania.w.po...
Możemy więc usunąć pliki za duże lub za małe. Dla przykładu:
if ($_FILES['plik']['size'] > 1073741824
lub odebrać tylko pliki graficzne:
if ($_FILES['plik']['type']=="image/jpeg"
|| $_FILES['plik']['type']=="image/gif"))
Pamiętajmy, że od PHP 4.2.0 możemy używać funkcji $_FILES['plik']['error'], aby sprawdzić, co
poszło nie tak.
Jeśli podczas uploadu plików odkryjemy, że tablica $_FILES jest pusta, to oznacza, iż wielkość
przesyłanego pliku przekracza wielkość ustawioną w dyrektywie post_max_size pliku php.ini.
13.5. Upload wielu plików
Jeśli potrzebujemy wysłać więcej niż jeden plik z formularza, możemy się posłużyć jedną z dwóch
metod: nadać każdemu komponentowi file inną nazwę lub wykorzystać tablicę. Oto zmodyfikowany
plik formularz.html:
A oto up.php po drobnych przeróbkach:
for ($i=0; $i
if ($_FILES['plik']['size'][$i] !=0) {
$uploaded = "var/www/uploady/". $_FILES['plik']['name'][$i];
if (is_uploaded_file($_FILES['plik']['tmp_name'][$i])) {
if ($_FILES['plik']['size'][$i] > 1024*1024*1024) {
echo "Plik numer $i jest za duży";
} else {
move_uploaded_file($_FILES['plik']['tmp_name'][$i],
$uploaded);
echo "Operacja wysyłania pliku $i
przebiegła pomyślnie";
}
} else {
echo "Błąd przy przesyłaniu danych w pliku $i!";
}
}
}
?>
14. Sesje
14.1. Wstęp do sesji
44 z 65 2009-07-24 14:18
Kurs PHP. Wstęp do programowania w popularnym języku skryptowym http://webhosting.pl/print/Kurs.PHP..Wstep.do.programowania.w.po...
Dzięki sesjom możemy przechowywać pewne dane (takie jak identyfikator użytkownika czy jego
login) podczas następujących po sobie wywołań strony. Działa to podobnie jak ciasteczka bez
ustawionego czasu wygaśnięcia (expire)  przy czym dostęp do danych znika przy wylogowaniu się
(dzięki specjalnemu przyciskowi na stronie) lub zamknięciu wszystkich okien przeglądarki. Sesje od
ciastek odróżnia również to, że wszystkie dane są przechowywane nie u klienta, ale na serwerze. Na
komputerze gościa trzymany jest jedynie identyfikator sesji, który znajduje się w ciasteczku lub
przekazywany jest przez adres strony metodÄ… GET.
Sesje rozpoczynamy, uruchamiajÄ…c na stronie funkcjÄ™ session_start(). Sprawdza ona, czy nie istnieje
już rozpoczęta sesja. Jeśli tak, to pobiera identyfikator sesji z URL lub z ciastka i odtwarza wszystkie
zmienne przechowywane w sesji, a jeżeli nie, to tworzy nową sesję i nadaje unikatowy identyfikator.
Dostęp do zmiennych sesyjnych odbywa się poprzez obecną w PHP w wersji od 4.0.6 tablicę
superglobalną $_SESSION. Dla przykładu:
session_start();
if (isset($_SESSION['licznik']))
$_SESSION['licznik']++;
else
$_SESSION['licznik']=1;
echo "Oglądasz tą stronę już ".$_SESSION['licznik']." raz";
?>
Jeśli nie potrzebujemy już danej zmiennej zapisanej w sesji, używamy funkcji unset(), a zostanie ona
 wymazana z sesji. Dla przykładu:
session_start();
unset($_SESSION['licznik']);
?>
Jak już wspomnieliśmy, ID sesji może być przekazane na dwa sposoby: za pomocą ciastka lub URL-u.
Jako że niektóre przeglądarki mogą nie zaakceptować ciasteczek, nie należy na nich polegać w 100%.
Trzeba wówczas wstawić też ID sesji do adresu strony. PHP może to zrobić sam  jeśli był
kompilowany z opcją--enable-trans-sid  ale jeżeli tak się nie stało, należy ręcznie umieścić ID w
adresie. Dla przykładu:
Idz dalej
Idz dalej
Te dwie metody mają podobne działanie, chociaż pierwsza wydaje się łatwiejsza w zapisie. Tej
pierwszej można jednak użyć tylko wtedy, gdy została włączona możliwość używania krótkich tagów. [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • realwt.xlx.pl