Ważna uwaga (Disclaimer): Przed jakąkolwiek edycją plików systemowych serwera, uprawnień katalogów czy pliku wp-config.php, zawsze wykonaj pełną kopię zapasową strony (backup bazy danych oraz plików).
Szybka odpowiedź: W skrócie: Błąd wgrywania plików w WordPressie naprawisz w 3 głównych krokach:
- Zmień uprawnienia folderu wp-content/uploads na 755 (używając klienta FTP).
- Sprawdź, czy nie wyczerpałeś limitu miejsca na dysku w panelu hostingowym.
- Zdefiniuj na nowo ścieżkę do tymczasowego folderu PHP w pliku wp-config.php.
Z mojego doświadczenia wynika, że po przeniesieniu strony na nowy serwer lub wdrożeniu restrykcyjnej wtyczki bezpieczeństwa, użytkownicy często napotykają komunikat: błąd wgrywania plików w WordPressie. System informuje nas, że nie udało się zapisać pliku na dysku. To frustrująca sytuacja, która całkowicie blokuje możliwość publikacji nowych artykułów ze zdjęciami. W naszej praktyce administracyjnej najczęściej spotykamy się z sytuacją, gdzie wina nie leży po stronie samego WordPressa, lecz konfiguracji środowiska serwerowego. Przejdźmy od razu do sprawdzonej diagnostyki i rozwiązań.
Co oznacza błąd „Nie udało się zapisać pliku na dysku”?
Kiedy próbujesz dodać zdjęcie do Biblioteki Mediów, WordPress odbiera plik i próbuje przenieść go do odpowiedniego katalogu na serwerze (najczęściej do folderu ułożonego rocznikami i miesiącami). Jeśli proces ten zostaje przerwany, otrzymujesz błąd. Oznacza to, że skrypt PHP odpowiedzialny za transfer napotkał fizyczną barierę.
Serwer mógł zablokować operację z powodu braku autoryzacji do modyfikacji folderu. Innym powodem bywa po prostu wyczerpanie przydzielonej przestrzeni, przez co fizycznie nie ma możliwości dodania nawet jednego kilobajta danych. Bez względu na przyczynę, WordPress nie potrafi samodzielnie ominąć tych restrykcji.
Rozwiązanie tego problemu wymaga od nas wejścia "pod maskę" strony, czyli skorzystania z panelu hostingowego lub połączenia FTP. Poniżej omawiam trzy główne powody występowania tej usterki oraz metody ich szybkiej eliminacji.
Główna przyczyna 1: Błędne uprawnienia do katalogu wp-content/uploads
Najczęstszą przyczyną błędu zapisu są nieprawidłowe uprawnienia plików WordPress. Systemy z rodziny Linux/Unix (na których działa większość hostingów) używają systemu uprawnień, który decyduje o tym, kto może czytać, modyfikować lub wykonywać dane pliki. Jeśli uprawnienia do katalogu wp-content/uploads zostaną przypadkowo zmienione, WordPress traci prawo do zapisu.
Według oficjalnej dokumentacji WordPress (Codex), prawidłowe uprawnienia dla folderów to bezwzględnie 755, a dla plików 644. Wszelkie odchylenia od tych wartości mogą powodować niestabilność. Zbyt restrykcyjne prawa zablokują upload, a zbyt luźne mogą sprowadzić na stronę ogromne ryzyko włamania.
Warto pamiętać, że na nowoczesnych, mocno zabezpieczonych hostingach, ustawienie niewłaściwych uprawnień (np. dla plików wykonywalnych) może zablokować całą stronę. Jeśli podczas zmiany uprawnień popełnisz błąd i strona przestanie działać, sprawdź poradnik: Jak rozwiązać problem „Wewnętrzny Błąd Serwera 500” w WordPressie? – Ragnos Blog.
Jak zmienić uprawnienia plików przez FTP (np. FileZilla)?

Aby przywrócić domyślne uprawnienia, najlepiej sprawdzi się menedżer plików FTP, taki jak popularna i darmowa FileZilla. Proces ten zajmuje zaledwie kilkanaście sekund.
- Połącz się ze swoim serwerem, podając host, login oraz hasło do konta FTP.
- W oknie zdalnego serwera przejdź do katalogu public_html (lub innej głównej ścieżki Twojej strony).
- Odszukaj folder wp-content, wejdź do niego i znajdź katalog uploads.
- Kliknij na folder uploads prawym przyciskiem myszy i wybierz opcję Prawa pliku… (File Attributes).
- W nowym oknie w polu "Wartość numeryczna" wpisz 755.
- Zaznacz pole Zmień także dla podkatalogów, a następnie wybierz Zastosuj tylko do katalogów.
- Kliknij OK i poczekaj, aż klient FTP zaktualizuje chmod 755 dla wszystkich folderów.

Po wykonaniu tej operacji warto powtórzyć proces dla samych plików wewnątrz tego folderu (nadając im wartość 644 i wybierając "Zastosuj tylko do plików"). Wróć do panelu WordPressa i spróbuj wgrać obrazek ponownie.
Dlaczego CHMOD 777 to zagrożenie dla bezpieczeństwa?
Na wielu przestarzałych forach dyskusyjnych wciąż można znaleźć szkodliwą poradę, sugerującą zmianę uprawnień na 777, aby naprawić niedziałający upload. Jest to najgorsza rzecz, jaką można zrobić.
Wartość 777 oznacza, że każdy użytkownik w sieci (w tym złośliwe boty i hakerzy) otrzymuje pełne prawo do odczytu, zapisu i wykonywania plików w Twoim katalogu. Ustawienie 777 wystawia stronę na błyskawiczne ataki typu malware i wstrzyknięcia złośliwego kodu (backdoory).
| Typ Uprawnienia | Oznaczenie Numeryczne | Zastosowanie w WordPressie | Poziom Bezpieczeństwa |
|---|---|---|---|
| Odczyt i Wykonywanie | 755 | Standard dla wszystkich folderów (w tym wp-content) | Wysokie |
| Odczyt i Zapis (Właściciel) | 644 | Standard dla wszystkich plików graficznych i PHP | Wysokie |
| Pełny dostęp dla każdego | 777 | Skrajnie niezalecane, luka w zabezpieczeniach | Krytycznie Niskie |
Główna przyczyna 2: Brak miejsca na dysku (Przekroczona Quota)
Jeśli uprawnienia są poprawne, kolejnym podejrzanym jest sam serwer. Wiele planów hostingowych posiada sztywne limity powierzchni dyskowej. Jeśli latami nie optymalizujesz zdjęć, nie czyścisz kopii zapasowych lub logów błędów, miejsce w końcu się skończy. Gdy limit miejsca na hostingu cPanel zostanie osiągnięty, system operacyjny serwera zablokuje jakiekolwiek nowe operacje zapisu.
Zablokowanie dysku ma daleko idące konsekwencje. Gdy fizyczna przestrzeń zapełni się w 100%, usługa bazy danych MySQL przestanie działać, ponieważ nie będzie mogła zapisywać plików tymczasowych. Jeśli wraz z brakiem możliwości wgrywania plików Twoja strona nagle przestała całkowicie działać, zobacz: Jak naprawić „Błąd połączenia z bazą danych” w WordPressie? – Ragnos Blog, upewniając się wcześniej, czy zwolniłeś miejsce na dysku.
Jak sprawdzić zużycie powierzchni na hostingu?
Aby zweryfikować dostępne miejsce, musisz zalogować się do panelu zarządzania serwerem, który dostarczył Ci Twój usługodawca hostingowy.
- Zaloguj się do swojego panelu hostingowego (np. cPanel lub DirectAdmin).
- Na stronie głównej panelu poszukaj sekcji Statystyki (zazwyczaj prawa boczna kolumna w cPanelu).
- Sprawdź wskaźnik Użycie dysku (Disk Usage).
- Jeśli wskaźnik pokazuje 100% (lub świeci na czerwono), musisz usunąć zbędne pliki (np. stare backupy z folderu instalacji) lub skontaktować się z administratorem w celu powiększenia pakietu.
Główna przyczyna 3: Problem z folderem tymczasowym PHP

Architektura przesyłania plików w języku PHP działa dwuetapowo. Kiedy wysyłasz zdjęcie do WordPressa, PHP najpierw zapisuje ten plik w niewidocznym dla Ciebie folderze tymczasowym na serwerze. Dopiero po pomyślnym przesłaniu do folderu temp, WordPress przenosi plik do ostatecznej lokalizacji w wp-content.
Jeśli ów folder tymczasowy PHP uległ uszkodzeniu, jest pełny lub ma złe uprawnienia zablokowane przez administratora serwera, proces wgrywania zakończy się błędem „Nie udało się zapisać pliku na dysku”. Rozwiązaniem jest zmuszenie WordPressa do ominięcia domyślnych ustawień PHP i korzystania z własnego folderu tymczasowego.
Jak zdefiniować nowy folder tymczasowy w wp-config.php?
Wymaga to drobnej modyfikacji głównego pliku konfiguracyjnego instalacji WordPressa. Operację tę można przeprowadzić przez FTP lub bezpośrednio przez menedżer plików w panelu hostingu.
- Zaloguj się na serwer i w głównym katalogu strony otwórz plik wp-config.php do edycji.
- Przewiń plik w dół, aż znajdziesz linijkę z napisem
/ That's all, stop editing! Happy publishing. /. - Bezpośrednio nad tą linijką, dodaj poniższy kod:
define( 'WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/temp/' );- Zapisz plik na serwerze.
- Następnie wejdź do folderu wp-content i utwórz w nim nowy, pusty folder o nazwie temp.
- Upewnij się, że nowy folder temp ma uprawnienia 755.
Modyfikacja pliku konfiguracyjnego zawsze niesie ryzyko drobnej literówki. Jeśli podczas wklejania kodu zapomnisz na przykład o średniku na końcu linii, strona wyświetli pusty ekran. W takiej sytuacji przywróć plik z kopii zapasowej lub sprawdź nasz przewodnik: Jak naprawić „Biały Ekran Śmierci” (White Screen of Death) w WordPressie? – Ragn.
Inne popularne błędy WordPressa spowodowane problemami z serwerem
Poza kwestiami dyskowymi i uprawnieniami, problemy z zapisem mogą wynikać z konfliktów wtyczek optymalizujących obrazy. Wtyczki przekształcające pliki JPG do formatu WebP w locie często bardzo agresywnie ingerują w proces uploadu. Jeśli wersja PHP na serwerze jest niekompatybilna z taką wtyczką, wgrywanie multimediów zostanie przerwane.
W skrajnych przypadkach użytkownicy próbują ręcznie usuwać takie zepsute wtyczki przez FTP, co często kończy się całkowitym załamaniem struktury strony. Jeśli po "siłowym" usunięciu problematycznej wtyczki do zdjęć strona przestała działać, koniecznie przeczytaj: Jak naprawić „Wystąpił błąd krytyczny w tej witrynie” w WordPressie? – Ragnos Bl. Pomoże to opanować kryzys i bezpiecznie wyłączyć wadliwy moduł z poziomu bazy danych.
Podsumowanie: Jak uniknąć problemów z wgrywaniem multimediów w przyszłości?
Kiedy zobaczysz błąd wgrywania plików w WordPressie i komunikat, że nie udało się zapisać pliku na dysku, zachowaj spokój. Jak udowodniliśmy w tym artykule, problem prawie zawsze sprowadza się do fizycznych ograniczeń na serwerze, a nie awarii samego systemu zarządzania treścią. Szybka zmiana uprawnień folderu uploads na 755, wyczyszczenie dysku z zalegających kopii zapasowych lub stworzenie alternatywnego folderu temp w 99% przypadków rozwiązują ten frustrujący problem.
Aby uniknąć podobnych awarii w przyszłości, warto wdrożyć regularny monitoring przestrzeni dyskowej. Jeśli korzystasz z podstawowych planów hostingowych, unikaj trzymania lokalnych backupów na tym samym serwerze – wysyłaj je na zewnętrzne chmury (np. Google Drive czy Dropbox). Dzięki temu nie zapchasz dysku, a proces publikacji nowych zdjęć będzie zawsze przebiegał sprawnie.
Najczęściej zadawane pytania (FAQ)
Dlaczego nie mogę wgrać zdjęć do biblioteki mediów w WordPress? Najczęstszą przyczyną jest brak odpowiednich uprawnień zapisu (chmod) dla folderu wp-content/uploads na serwerze. Aby rozwiązać problem, należy przywrócić uprawnienia tego katalogu do wartości 755 za pomocą klienta FTP.
Czy uprawnienia 777 naprawią błąd zapisu na dysku? Nigdy nie należy ustawiać uprawnień na 777. Chociaż technicznie pozwoli to na wgranie plików, jednocześnie udostępni złośliwym skryptom i hakerom pełny dostęp do wgrywania na Twój serwer wirusów i malware. Poprawną i bezpieczną wartością dla folderów jest 755.
Jak sprawdzić limit miejsca na serwerze WordPress? Limit miejsca sprawdzisz, logując się do panelu administracyjnego swojego hostingu (np. cPanel lub DirectAdmin). Na stronie głównej panelu zawsze znajduje się sekcja "Statystyki" ze wskaźnikiem zużycia dysku (Disk Usage). Wynik wynoszący 100% oznacza zablokowanie możliwości wgrywania plików.
