WordPress nie wgrywa plików PDF – jak naprawić błąd uploadu?

Spis treści

Wprowadzenie – Problem z uploadem plików PDF w WordPress

Nie możesz wgrać pliku PDF do WordPress? To jeden z najczęstszych problemów, z jakim borykają się właściciele stron. Próbujesz dodać dokument, prezentację lub instrukcję w formacie PDF, ale system odmawia współpracy wyświetlając tajemnicze komunikaty błędów.

Problem może mieć wiele źródeł – od ograniczeń serwera, przez nieprawidłową konfigurację WordPress, po konflikty wtyczek bezpieczeństwa. W tym przewodniku przeprowadzę Cię przez systematyczną diagnostykę i rozwiązanie wszystkich najczęstszych przyczyn błędów uploadu PDF.

Najważniejsze jest metodyczne podejście – zacznij od podstawowych sprawdzeń limitów, a następnie przejdź do bardziej zaawansowanych konfiguracji. W większości przypadków problem można rozwiązać w kilka minut bez potrzeby kontaktu z hostingiem.

Krok 1: Sprawdzenie limitów upload_max_filesize i post_max_size

Pierwszą i najczęstszą przyczyną problemów z uploadem PDF są zbyt niskie limity rozmiaru plików ustawione na serwerze. WordPress sam w sobie nie ogranicza typów plików, ale serwer PHP ma swoje limity.

Sprawdzenie aktualnych limitów

Przejdź do panelu WordPress:

  • Narzędzia → Zdrowie strony → Informacje
  • Rozwiń sekcję Serwer
  • Znajdź wartości dla upload_max_filesize i post_max_size
  • Sprawdź także memory_limit i max_execution_time

Typowe wartości domyślne i rekomendowane

  • Domyślnie: upload_max_filesize = 2M, post_max_size = 8M
  • Rekomendowane: upload_max_filesize = 64M, post_max_size = 128M
  • Dla dużych plików: upload_max_filesize = 256M, post_max_size = 512M

Metoda 1: Edycja pliku php.ini

Jeśli masz dostęp do pliku php.ini, dodaj lub zmodyfikuj następujące linie:

Ustaw wartość upload_max_filesize na 64M, post_max_size na 128M, memory_limit na 256M oraz max_execution_time na 300. Te parametry określają maksymalny rozmiar przesyłanego pliku, maksymalny rozmiar danych POST, limit pamięci PHP oraz maksymalny czas wykonywania skryptu.

Metoda 2: Edycja pliku .htaccess

Dodaj na końcu pliku .htaccess w głównym katalogu WordPress:

W sekcji php_value możesz ustawić upload_max_filesize, post_max_size, memory_limit oraz max_execution_time. Upewnij się, że Twój serwer obsługuje dyrektywy PHP w pliku .htaccess.

Metoda 3: Modyfikacja wp-config.php

Dodaj przed linią "That's all, stop editing!":

Możesz użyć funkcji ini_set aby ustawić limity bezpośrednio w WordPress. Określ maksymalny rozmiar przesyłanych plików, rozmiar POST oraz limit pamięci.

Po zastosowaniu zmian przeładuj stronę i sprawdź ponownie w Zdrowie strony czy limity się zaktualizowały. Jeśli nie, skontaktuj się z hostingiem – mogą mieć własne ograniczenia na poziomie serwera.

Krok 2: Analiza konfiguracji MIME types dla PDF

WordPress domyślnie obsługuje pliki PDF, ale serwer lub wtyczki mogą blokować ich upload ze względu na nieprawidłową konfigurację typów MIME. MIME type dla PDF to "application/pdf".

Sprawdzenie czy PDF jest w dozwolonych typach

Dodaj tymczasowo do functions.php motywu child (lub przez Code Snippets):

Możesz użyć funkcji wp_check_filetype aby sprawdzić czy WordPress rozpoznaje typ pliku PDF. Funkcja zwróci informacje o typie MIME i rozszerzeniu pliku.

Wynik powinien pokazać type: "application/pdf" oraz ext: "pdf". Jeśli widzisz false lub błąd, oznacza to że PDF nie jest prawidłowo rozpoznawany.

Dodanie PDF do dozwolonych typów MIME

Dodaj do functions.php:

Użyj hooka upload_mimes aby dodać typ MIME dla plików PDF. Określ rozszerzenie pliku oraz jego typ MIME. Ta metoda zapewni że WordPress będzie akceptował pliki PDF przy uploadzie.

Konfiguracja .htaccess dla MIME types

Dodaj na końcu pliku .htaccess:

W sekcji AddType możesz jawnie zdefiniować typ MIME dla rozszerzenia PDF. Upewnij się że serwer Apache obsługuje moduł mod_mime.

Jeśli interesuje Cię dodawanie innych typów plików do WordPress, polecam przeczytać artykuł: WordPress nie ładuje obrazków SVG mimo włączonej obsługi – jak to naprawić?, gdzie znajdziesz podobne techniki dla plików graficznych.

Krok 3: Testowanie uprawnień do katalogu uploads

Nieprawidłowe uprawnienia do katalogu wp-content/uploads to kolejna częsta przyczyna problemów z uploadem. WordPress musi mieć możliwość zapisu w tym katalogu.

Sprawdzenie uprawnień przez FTP

  1. Połącz się z serwerem przez FTP/SFTP (np. FileZilla)
  2. Przejdź do katalogu wp-content/uploads
  3. Kliknij prawym przyciskiem myszy → Atrybuty pliku/Uprawnienia
  4. Sprawdź aktualne uprawnienia

Rekomendowane uprawnienia

  • Foldery: 755 (rwxr-xr-x)
  • Pliki: 644 (rw-r--r--)
  • Właściciel: użytkownik serwera WWW (np. www-data, apache, nginx)

Zmiana uprawnień przez FTP

  1. Zaznacz katalog uploads
  2. Kliknij prawym → Atrybuty pliku
  3. Ustaw wartość numeryczną: 755
  4. Zaznacz opcję "Rekursywnie do podkatalogów"
  5. Zatwierdź zmiany

Zmiana uprawnień przez SSH

Jeśli masz dostęp SSH, wykonaj następujące komendy:

Przejdź do katalogu WordPress i użyj polecenia find aby ustawić uprawnienia rekursywnie. Dla katalogów ustaw 755, a dla plików 644. To zapewni odpowiednie prawa dostępu dla serwera WWW.

Sprawdzenie właściciela plików

Właścicielem plików powinien być użytkownik serwera WWW. Sprawdź przez SSH kto jest właścicielem katalogu uploads. W razie potrzeby zmień właściciela korzystając z polecenia chown.

Jeśli nie masz dostępu SSH lub FTP, skontaktuj się z hostingiem – administratorzy serwera mogą szybko naprawić uprawnienia.

Krok 4: Rozwiązanie konfliktów z wtyczkami bezpieczeństwa

Wtyczki bezpieczeństwa jak Wordfence, iThemes Security czy Sucuri często blokują upload plików PDF ze względów bezpieczeństwa. Mogą wykrywać pliki PDF jako potencjalnie niebezpieczne.

Najpopularniejsze wtyczki i ich konfiguracja

Wordfence Security

  1. Przejdź do Wordfence → Firewall → All Firewall Options
  2. Znajdź sekcję Rate Limiting Rules
  3. Sprawdź czy PDF nie jest na czarnej liście
  4. W Advanced Firewall Options wyłącz "Block fake Google crawlers"
  5. Dodaj swój IP do białej listy w Whitelisted IP addresses

iThemes Security

  1. Przejdź do Security → Settings → Site Types
  2. Znajdź File Upload Protection
  3. Dodaj "pdf" do listy dozwolonych rozszerzeń
  4. Zapisz zmiany

Sucuri Security

  1. Przejdź do Sucuri Security → Settings
  2. W zakładce Hardening sprawdź opcje uploadów
  3. Upewnij się że PDF nie jest blokowany
  4. Sprawdź logi w zakładce Audit Logs

Metoda diagnostyczna – wyłączanie wtyczek

  1. Wyłącz wszystkie wtyczki bezpieczeństwa
  2. Spróbuj wgrać plik PDF
  3. Jeśli działa – włączaj wtyczki pojedynczo
  4. Po włączeniu każdej testuj upload PDF
  5. Gdy znajdziesz winowajcę – skonfiguruj jego ustawienia

Sprawdzenie logów bezpieczeństwa

Większość wtyczek bezpieczeństwa prowadzi logi zablokowanych akcji. Sprawdź czy w logach nie ma wpisów o zablokowanym uploadzie PDF. To pomoże zidentyfikować dokładną przyczynę blokady.

Krok 5: Weryfikacja konfiguracji serwera

Czasami problem leży po stronie serwera – mod_security, firewall aplikacyjny lub specyficzne reguły hostingu mogą blokować upload plików PDF.

Sprawdzenie mod_security

Mod_security to moduł Apache blokujący podejrzane żądania. Może mylnie identyfikować pliki PDF jako zagrożenie. Sprawdź logi mod_security w panelu hostingowym lub skontaktuj się z supportem.

Wyłączenie mod_security dla uploadu (tymczasowo)

Dodaj do .htaccess przed regułami WordPress:

Możesz tymczasowo wyłączyć mod_security dla katalogu wp-admin używając dyrektywy SecRuleEngine Off. To pozwoli zdiagnozować czy mod_security jest przyczyną problemu. Pamiętaj aby włączyć go z powrotem po testach.

Sprawdzenie logów błędów PHP

Logi błędów PHP mogą ujawnić dokładną przyczynę błędu uploadu. Znajdź je w panelu hostingowym (często w sekcji "Error logs" lub "PHP error log").

Typowe błędy w logach i ich znaczenie

  • File upload error: przekroczony limit rozmiaru
  • No such file or directory: brak katalogu tymczasowego
  • Permission denied: brak uprawnień do zapisu
  • Failed to write to disk: pełny dysk lub brak miejsca

Kontakt z hostingiem

Jeśli wszystkie powyższe metody zawiodły, problem może być na poziomie konfiguracji serwera której nie masz kontrolować. Skontaktuj się z hostingiem i przekaż:

  • Dokładny komunikat błędu
  • Rozmiar pliku PDF który próbujesz wgrać
  • Wynik sprawdzenia limitów z Zdrowie strony
  • Informację czy problem dotyczy wszystkich PDF czy tylko niektórych

Krok 6: Alternatywne metody dodawania PDF

Jeśli standardowy upload nie działa mimo wszystkich prób naprawy, istnieją alternatywne metody dodawania plików PDF do WordPress.

Metoda 1: Upload przez FTP

  1. Połącz się z serwerem przez FTP
  2. Przejdź do wp-content/uploads/2025/09/
  3. Wgraj plik PDF bezpośrednio
  4. W WordPress wklej link do pliku ręcznie

Metoda 2: Użycie wtyczki do zarządzania mediami

Popularne wtyczki umożliwiające zaawansowane zarządzanie mediami:

  • Enable Media Replace – zamiana i upload plików
  • FileBird – organizacja i zarządzanie biblioteką mediów
  • Media Library Assistant – zaawansowane funkcje biblioteki

Metoda 3: Zewnętrzne hostowanie PDF

Możesz hostować pliki PDF na zewnętrznych serwisach:

  • Google Drive – darmowy hosting z możliwością udostępniania
  • Dropbox – łatwe udostępnianie przez link
  • CloudConvert – konwersja i hosting plików

Metoda 4: Użycie wtyczki PDF Embedder

Wtyczka PDF Embedder pozwala na osadzanie dokumentów PDF bezpośrednio na stronie bez konieczności uploadu przez standardową bibliotekę mediów. Obsługuje także zewnętrzne linki do PDF.

Podsumowanie – Bezproblemowy upload dokumentów PDF

Problem z uploadem plików PDF w WordPress najczęściej wynika z ograniczeń serwera, nieprawidłowych uprawnień lub konfliktów z wtyczkami bezpieczeństwa. Systematyczne przejście przez wszystkie kroki diagnostyczne pozwoli zidentyfikować i rozwiązać problem.

Checklista rozwiązywania problemu

Podstawowe sprawdzenia:

  • Sprawdź aktualne limity w Narzędzia → Zdrowie strony
  • Zwiększ upload_max_filesize i post_max_size do minimum 64M
  • Zweryfikuj czy PDF jest w dozwolonych typach MIME
  • Sprawdź uprawnienia katalogu wp-content/uploads (755)

Zaawansowana diagnostyka:

  • Wyłącz wtyczki bezpieczeństwa i testuj upload
  • Sprawdź logi błędów PHP i mod_security
  • Skontaktuj się z hostingiem w sprawie limitów serwera
  • Rozważ alternatywne metody uploadu (FTP, zewnętrzne hostowanie)

Najczęstsze błędy i szybkie rozwiązania

Błąd: "The uploaded file exceeds the upload_max_filesize directive"

Rozwiązanie: Zwiększ limit w php.ini, .htaccess lub wp-config.php

Błąd: "HTTP error" podczas uploadu

Rozwiązanie: Zwiększ memory_limit i max_execution_time, sprawdź konflikty wtyczek

Błąd: "Missing a temporary folder"

Rozwiązanie: Sprawdź upload_tmp_dir w php.ini, skontaktuj się z hostingiem

Błąd: "Failed to write file to disk"

Rozwiązanie: Sprawdź uprawnienia katalogu uploads i dostępne miejsce na dysku

Podsumowanie

W większości przypadków problem z uploadem PDF można rozwiązać w kilka minut przez zwiększenie limitów PHP lub poprawę uprawnień. Jeśli problem się utrzymuje mimo wszystkich prób, skontaktuj się z hostingiem – mogą mieć specyficzne ograniczenia wymagające interwencji administratora.

Pamiętaj aby po rozwiązaniu problemu przetestować upload kilku różnych plików PDF o różnych rozmiarach, aby upewnić się że rozwiązanie działa stabilnie.

Masz problemy z uploadem plików w WordPress? Chętnie pomożemy Ci zdiagnozować i naprawić konfigurację serwera, aby upload działał bez zakłóceń. Skontaktuj się z nami po profesjonalne wsparcie techniczne.