144 PHP i MySQL dla każdego
if($_FILES['plikl'][,error'] — UPL0A0_ERR_0K){ $new_name = Suploaddir.$_FILES['plikr]['name’]: Stempjiame = *_FILESE1 pl 1kl ’ 3 [' tinp_nane * ]: i f (move_upl oaded_fi 1 e( $temp_name, $new_narne)) { echo "Plik został załadowany.\n":
else{
echo "Nieprawidłowy plik\n";
}
else{
echo<"Wystąpił błąd: ”): switch($_FILES['plikr]['error']){ case UPLOAD_ERR INI SIZE : case UPLOAD_ERR~FORM_SIZE : echo("Przekroczony maksymalny rozmiar pliku!\n”): break;
case UPLOAD_ERR_PARTIAL : echo("Odebrano tylko część płiku!\n“): break:
case UPL0AD_ERR_N0_FILE : echoCPlik nie został pobrany!\n"): break: default :
echo("Nieznany typ błędu!\n"):
</body>
</html>
Zmienna uploaddir wskazuje na katalog, w którym będą umieszczane otrzymane pliki, a jej zawartość można dowolnie modyfikować. Trzeba jedynie pamiętać, aby wskazywany przez nią katalog miał odpowiednio ustawione prawa dostępu. Pierwszą czynnością wykonywaną w skrypcie jest sprawdzenie, czy pole error tablicy $_FILES zawiera wartość UPL0AD_ERR_0K, a zatem czy plik został odebrany bez problemów. Jeśli tak, z tablicy $_FILES odczytywana jest oryginalna nazwa pliku oraz nazwa tymczasowa, pod którą został zapisany na serwerze. Do nazwy oryginalnej jest dołączana nazwa katalogu zawarta w zmiennej uploaddir i całość jest zapisywana w zmiennej new_name. Nazwa tymczasowa jest z kolei zapisywana w zmiennej tempjiame. Zmienne te (zostały one wprowadzone do skryptu w celu zwiększenia przejrzystości kodu) są następnie wykorzystywane jako parametry funkcji move_uploaded_file. Jeśli wykonanie tej flink-cji zakończy się sukcesem i plik zostanie przeniesiony pod oryginalną nazwą do katalogu wskazywanego przez uploaddir, funkcja zwróci wartość true, a w przypadku przeciwnym — wartość false. W zależności od wartości zwróconej przez funkcję jest również wyświetlany odpowiedni komunikat na ekranie.
Jeżeli jednak wartość pola error tablicy $_FILES jest różna od UPL0AD_ERR_0K, jest wykonywana instrukcja switch, pozwalająca na stwierdzenie, jakiego typu wystąpił błąd. Badane są wszystkie pozostałe możliwości stanu pola error i jest wyświetlany odpowiedni komunikat. Sprawdzane jest, czy plik w ogóle został wysłany, czy wielkość pliku nie przekroczyła maksymalnego rozmiaru oraz czy plik został załadowany w całości.