PHP
Wyszukiwarka
Wprowadzenie do PHP
Instalacja i konfiguracja środowiska
- Jak zainstalować PHP na lokalnym serwerze (XAMPP)
- Podstawowa konfiguracja w pliku php.ini
- Ustawienia błędów (display_errors, error_reporting)
Operatory
- Operatory arytmetyczne w PHP
- Operatory porównania i logiczne
- Skrócone operatory przypisania (+=, -=, .=)
Instrukcje warunkowe i pętle
- Instrukcja if/else w PHP
- Instrukcja switch/case w PHP
- Pętla for w PHP
- Pętla while w PHP
- Pętla do...while w PHP
- Pętla foreach w PHP (tablice i obiekty)
Funkcje
- Tworzenie i wywoływanie funkcji
- Parametry domyślne i typowanie argumentów
- Funkcje anonimowe i strzałkowe w PHP
Tablice
- Tablice indeksowane i asocjacyjne
- Przegląd najważniejszych funkcji tablicowych
- Iteracja po tablicach: foreach, array_map, array_filter
Obsługa formularzy
Obsługa baz danych
- Połączenie z MySQL: rozszerzenie MySQLi
- Zapytania SELECT, INSERT, UPDATE w praktyce
- Bezpieczne zapytania (prepared statements)
Praca z plikami
- Odczyt i zapis plików tekstowych
- Tworzenie i usuwanie katalogów, prawa dostępu
- Obsługa plików CSV do importu i eksportu danych
Obsługa uploadu plików w PHP
Upload plików w PHP umożliwia użytkownikom przesyłanie np. zdjęć czy dokumentów do Twojej aplikacji. Wykorzystuje tablicę superglobalną $_FILES i wymaga odpowiednich ustawień w php.ini (np. upload_max_filesize, post_max_size) oraz ostrożności, by uniknąć zagrożeń bezpieczeństwa.
Kluczowe elementy obsługi uploadu plików
- Formularz z typem enctype
- Do przesyłania plików wymagane jest
enctype="multipart/form-data"
. - Metoda formularza powinna być POST.
- Do przesyłania plików wymagane jest
- Tablica $_FILES
- Zawiera informacje o przesłanym pliku:
$_FILES['nazwaPliku']['name']
,type
,tmp_name
,error
,size
. - Plik jest najpierw zapisywany w katalogu tymczasowym (tmp_name).
- Zawiera informacje o przesłanym pliku:
- move_uploaded_file
- Służy do przeniesienia pliku z folderu tymczasowego w docelowe miejsce, np.
move_uploaded_file($_FILES['plik']['tmp_name'], "upload/" . $_FILES['plik']['name'])
.
- Służy do przeniesienia pliku z folderu tymczasowego w docelowe miejsce, np.
- Bezpieczeństwo
- Sprawdzaj rozszerzenie i typ MIME, używaj nazw unikalnych, chroniąc się przed nadpisaniem plików lub atakami.
Przykład
<h3>Formularz uploadu</h3>
<form action="" method="post" enctype="multipart/form-data">
<label>Wybierz plik: <input type="file" name="mojPlik"></label><br><br>
<button type="submit">Wyślij</button>
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_FILES['mojPlik']) && $_FILES['mojPlik']['error'] === 0) {
$tmp = $_FILES['mojPlik']['tmp_name'];
$name = basename($_FILES['mojPlik']['name']);
// Prosty przykład przeniesienia pliku do folderu "upload/"
if (move_uploaded_file($tmp, "upload/" . $name)) {
echo "<p>Plik przesłany pomyślnie jako: $name</p>";
} else {
echo "<p>Wystąpił problem z zapisem pliku.</p>";
}
} else {
echo "<p>Nie wybrano pliku lub wystąpił błąd.</p>";
}
}
?>
Zwrócona zawartość
Formularz z przyciskiem do wgrywania pliku
Po przesłaniu – komunikat „Plik przesłany pomyślnie” lub błąd
Przykładowe zastosowania uploadu plików
- Dodawanie zdjęć użytkowników
- Profile w portalu społecznościowym lub w systemie CMS.
- Formularze kontaktowe z załącznikiem
- Możliwość dołączania np. CV lub dokumentów ofertowych.
- Systemy galerii
- Użytkownik może wrzucać zdjęcia, a skrypt zapisuje je na serwerze i wyświetla miniatury.
Podsumowanie
- Do wgrywania plików używaj enctype="multipart/form-data" i metody POST w formularzu.
- Plik tymczasowo trafia do katalogu tmp, skąd możesz go przenieść funkcją move_uploaded_file.
- Pamiętaj o bezpieczeństwie – weryfikuj rozszerzenia, typy MIME i nazwy plików.
- Zwiększ parametry upload_max_filesize i post_max_size w php.ini, jeśli potrzebujesz obsługi większych plików.