PHP Obsługa upload'


YGREG.COM - Obsługa upload'u plików w PHP http://www.ygreg.com/druk.php?upload
Obsługa upload'u plików w PHP
W PHP mo\na w dość prosty sposób obsłu\yć formularz zawierający pole do
upload'owania plików. Pola te są obsługiwane przez większość przeglądarek (IE 4.0, lub 3.0 z
odpowiednią łatą, oraz Netscape 3.0).
Zaczniemy od stworzenia odpowiedniego formularza:
METHOD=POST
ENCTYPE="multipart/form-data">
NAME=MAX_FILE_SIZE VALUE=50000>



Kod ten spowoduje wyświetlenie na stronie pola na wpisanie nazwy pliku, oraz przycisku
pozwalającego na wygodne wybranie pliku. Ukryte pole MAX_FILE_SIZE określa, jaka jest
maksymalna wielkość pliku, który u\ytkownik mo\e wysłać (w bajtach). Nie mo\e on być
jednak większy od maksymalnego rozmiaru ustawionego w konfiguracji serwera.
Skoro mamy ju\ formularz wysyłający plik, wypadałoby jeszcze coś z nim zrobić w
skrypcie upload.php3. W skrypcie będziemy mieli do dyspozycji kilka zmiennych zawierających
ró\ne informacje o przysłanym pliku:
$pliczek - tymczasowa nazwa pod jaką został zapisany plik. Plik ten zostanie usunięty po
zakończeniu działania skryptu.
$pliczek_name - nazwa pod jaką plik był zapisany na komputerze z którego go wysłano.
$pliczek_size - rozmiar pliku (w bajtach).
$pliczek_type - typ pliku (np. text/html, image/gif itp.), ale tylko je\eli przeglądarka przyśle taką
informację.
Zanim zaczniemy coś robić z otrzymanym plikiem nale\y dla bezpieczeństwa sprawdzić,
czy rzeczywiście pochodzi on z formularza. Mo\na to zrobić funkcją is_uploaded_file:
if(is_uploaded_file($pliczek))
{
// ten plik rzeczywiście
// przyszedł z formularza
}
else
{
// ten plik nie pochodzi
z formularza
}
Jest to dość wa\ne, poniewa\ bez tego mo\na bardzo łatwo oszukać taki skrypt, aby
zrobił coś z dowolnym plikiem na serwerze (np. wywołując upload.php3?pliczek=/etc/passwd).
Je\eli chcemy przenieść gdzieś przysłany plik, mo\na u\yć funkcji move_uploaded_file:
1 z 2 2010-02-14 21:13
YGREG.COM - Obsługa upload'u plików w PHP http://www.ygreg.com/druk.php?upload
move_uploaded_file($pliczek,
"uploady/$pliczek_name");
Nie trzeba wtedy sprawdzać, czy plik rzeczywiście pochodzi z formularza - funkcja
move_uploaded_file robi to automatycznie.
Jak zwykle zapraszam do wpisywania pytań i komentarzy na (http://ygreg.and.pl/forum)
forum.
Grzegorz 'Ygreg' Plebański
ygreg@ygreg.com
http://www.ygreg.com
http://www.ygreg.com
2 z 2 2010-02-14 21:13


Wyszukiwarka

Podobne podstrony:
php upload
php upload i ograniczenia
obsługa pojazdu Egzamin
php 2
DNS ObslugaNazw
obsluga wiertarki stolowej
Rozdział 04 System obsługi przerwań sprzętowych
Instrukcja obsługi bankomatu 1
INSTRUKCJA JAK ZARABIAĆ NA UPLOADZIE
Instrukcja obsługi Przenośna uniwersalna ładowarka USB Nokia DC 18
Biblioteka PHP Wysyłanie pliku na serwer
k php
instrukcja obslugi Sagemcom DSI83
Instrukcja obsługi alarm Logic CAN LC 5 wyd 1 (2)

więcej podobnych podstron