Če knjižnica predstavnosti na nalaganje slike odgovori: „Naložene datoteke ni bilo mogoče premakniti v wp-content/uploads/2026/10.” (angleško: „The uploaded file could not be moved to wp-content/uploads/2026/10.”), je datoteka prispela na strežnik, spodletel je le zadnji korak. PHP nalaganje najprej shrani v začasno mapo, WordPress pa bi ga od tam premaknil v mapo meseca pod uploads. Na gostovanju cPanel PHP teče kot tvoj uporabnik, napaka torej pomeni: tvoj uporabnik trenutno ne sme pisati v to mapo.
Trije najpogostejši vzroki: dovoljenje ali lastnik mape je napačen (večinoma po selitvi ali obnovitvi), gostovanje ali omejitev števila datotek je polna oziroma WordPress poskuša pisati na napačno pot, na primer na pot, ki kaže na staro gostovanje.
Katero sporočilo o napaki kaže na kateri korak?
- „Naložene datoteke ni bilo mogoče premakniti …”: mapa meseca obstaja, premik pa ni uspel. O tem govori ta članek.
- „Ni bilo mogoče ustvariti mape … Ali lahko strežnik piše v nadrejeno mapo?” („Unable to create directory …”): niti mape meseca ni mogel ustvariti. Pomagajo isti koraki, le raven višje, na mapi
uploads. - „Manjka začasna mapa.” ali „Napaka pri zapisovanju datoteke na disk.”: spodletelo je prvo, začasno shranjevanje. To je napaka na strani strežnika; piši naši podpori.
- „The uploaded file exceeds the upload_max_filesize directive in php.ini.” (to WordPress izpiše v angleščini): datoteka je prevelika. O tem piše članek o omejitvi nalaganja.
WordPress napako premika utiša, zato je v dnevniku PHP večinoma ni. Vzrok hitreje najdeš s spodnjim preizkusom.
1. Poskusi pisati v mapo
Terminal v cPanelu (skupina Napredno) ali SSH teče kot tvoj uporabnik, natanko tako kot PHP. Vpiši mapo iz sporočila o napaki:
touch ~/public_html/wp-content/uploads/2026/10/.irasteszt && echo IRAS OK
Možni odgovori:
IRAS OK: v mapo je mogoče pisati, vzrok je drugje (glej 4. in 5. korak). Izbriši testno datoteko:rm ~/public_html/wp-content/uploads/2026/10/.irasteszt.Permission denied: napaka dovoljenj, nadaljuj z 2. korakom.Disk quota exceeded: gostovanje je polno, glej 3. korak.No such file or directory: WordPress piše drugam, kot misliš, glej 4. korak.
Na našem testnem spletnem mestu smo z mapo meseca, zaščiteno pred pisanjem (555), dobili natanko to sporočilo o napaki, po obnovitvi 755 pa je nalaganje takoj delovalo.
2. Dovoljenje in lastnik
Poglej vsako mapo na poti:
cd ~/public_html
stat -c '%U:%G %a %n' wp-content wp-content/uploads wp-content/uploads/2026 wp-content/uploads/2026/10
Pravilen rezultat:
felhasznalonev:felhasznalonev 755 wp-content
felhasznalonev:felhasznalonev 755 wp-content/uploads
felhasznalonev:felhasznalonev 755 wp-content/uploads/2026
felhasznalonev:felhasznalonev 755 wp-content/uploads/2026/10
Če je lastnik tvoj uporabnik, dovoljenje pa ni 755 (na primer 555 ali 500), mape ponastavi na 755, datoteke pa na 644:
find ~/public_html/wp-content/uploads -type d -exec chmod 755 {} +
find ~/public_html/wp-content/uploads -type f -exec chmod 644 {} +
Brez SSH isto narediš v vmesniku Upravitelj datotek v cPanelu: označi mapo in z gumbom Dovoljenja nastavi vrednost 755. O dovoljenjih podrobneje piše članek o chmod in chown.
Če lastnik ni tvoj uporabnik (na primer root), dovoljenja ne moreš spremeniti, chmod vrne napako Operation not permitted. To se večinoma zgodi po ročni selitvi, opravljeni kot skrbnik sistema. Piši naši podpori in pošlji izpis ukaza stat: mape bomo vrnili tvojemu uporabniku. Preštej tudi prizadete datoteke, da bomo vedeli, kako velika je težava:
find ~/public_html/wp-content/uploads ! -user "$(whoami)" | wc -l
Dovoljenja 777 ne uporabljaj kot „rešitve”: pisanje v tvojo mapo bi dovolilo tudi drugim procesom na strežniku in prikrije pravi vzrok.
3. Polno gostovanje ali omejitev datotek
Če je gostovanje polno, mapa meseca obstaja, sistem pa ne dovoli več pisanja in WordPress vrne isto napako. Na desni strani začetne strani cPanela, na plošči Statistics, vrstici Poraba diska in Poraba datotek pokažeta, kje je paket glede na omejitev.
Značilen znak je, da se majhne slike še naložijo, velike pa ne več. Sprosti prostor (stare varnostne kopije, mape predpomnilnika, veliki poštni računi), velike mape najdeš v vmesniku Poraba diska. O omejitvi števila datotek piše članek o inodih. Če je spletno mesto paket preraslo, preidi na večjega.
4. Kam WordPress dejansko piše?
WordPress mapo za nalaganje izračuna iz nastavitve upload_path, iz konstante UPLOADS datoteke wp-config.php in iz filtrov vtičnikov. Po selitvi pogosto ostane absolutna pot starega gostovanja. Vprašaj WordPress:
cd ~/public_html
wp option get upload_path
wp config get UPLOADS
wp eval 'print_r( wp_upload_dir() );'
Na urejenem spletnem mestu je upload_path prazen, UPLOADS ni naveden (ukaz to javi kot napako, kar je normalno), wp_upload_dir() pa pokaže lastno mapo:
[path] => /home/felhasznalonev/public_html/wp-content/uploads/2026/10
[basedir] => /home/felhasznalonev/public_html/wp-content/uploads
Če je basedir pot drugega uporabnika ali stare mape, spletno mesto preusmeri nazaj na lastno mapo:
wp option update upload_path ""
wp option update upload_url_path ""
Če je wp config get UPLOADS izpisal pot, jo izbriši: wp config delete UPLOADS. Brez SSH nastavitev upload_path najdeš tudi na strani /wp-admin/options.php (seznam skritih nastavitev), tam polje izprazni.
5. Vtičnik ali omrežje več spletnih mest
Vtičnik (na primer organizator predstavnosti ali vtičnik za članstvo) lahko mapo za nalaganje preusmeri drugam. Primerjaj pot z vtičniki in brez njih:
wp eval 'echo wp_upload_dir()["path"], PHP_EOL;'
wp eval 'echo wp_upload_dir()["path"], PHP_EOL;' --skip-plugins
Če se vrstici razlikujeta, mora obstajati tudi mapa vtičnika, in biti mora tvojega uporabnika. Pri namestitvi z več spletnimi mesti vsako podmesto piše v mapo wp-content/uploads/sites/<identifikator>/; mapo napačnega podmesta poizveš takole: wp --url=bolt.pelda.hu eval 'echo wp_upload_dir()["path"], PHP_EOL;'.
Preverjanje
- V skrbniškem vmesniku na strani Predstavnost › Knjižnica naloži majhno sliko; sličica se mora prikazati brez sporočila o napaki.
- Ali iz ukazne vrstice:
cd ~/public_html
wp media import ~/proba.jpg --title="Test nalaganja" --porcelain
Odgovor je identifikator nove priloge; v mapi se pojavijo slika in njene sličice. Testno sliko nato izbriši: wp post delete <identifikator> --force.
Če se napaka vrne po vsaki obnovitvi ali sinhronizaciji, mape z napačnim lastnikom ustvarja postopek, ki kopira datoteke; tudi v tem primeru nam piši in skupaj bomo poiskali vzrok.
