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:
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 uploadphp upload i ograniczeniaobsługa pojazdu Egzaminphp 2DNS ObslugaNazwobsluga wiertarki stolowejRozdział 04 System obsługi przerwań sprzętowychInstrukcja obsługi bankomatu 1INSTRUKCJA JAK ZARABIAĆ NA UPLOADZIEInstrukcja obsługi Przenośna uniwersalna ładowarka USB Nokia DC 18Biblioteka PHP Wysyłanie pliku na serwerk phpinstrukcja obslugi Sagemcom DSI83Instrukcja obsługi alarm Logic CAN LC 5 wyd 1 (2)więcej podobnych podstron