WordPressで画像・PDFをアップロードできない原因と対処法|upload_max_filesize・ファイルの種類
直らないときは、無料でご相談いただけます(直らなければ料金はいただきません)。
結論:WordPressでファイルをアップロードできないときは、まず出ている文を見ます。原因は主に、ファイルの大きさの上限(upload_max_filesize など)、許されていないファイルの種類、サーバーが画像を処理しきれない、保存先のフォルダに書き込めないのどれかです。
大きさが原因なら、ファイルを小さくするか、サーバーの設定で上限を上げます。種類が原因なら、許されている形式に変えてからアップロードします。
目次
出る文で見分ける
WordPress 7.1 の日本語の表示です。「○○」にはファイル名やフォルダの場所が入ります。
| 出る文 | 考えられること | 確かめるところ |
|---|---|---|
| 「○○ は、このサイトのアップロードサイズ上限を超えています。」「アップロードされたファイルが php.ini の upload_max_filesize ディレクティブを越えています。」 | ファイルが、サーバーで決められた大きさの上限を超えている | 大きさの上限を超えているとき |
| 「このファイルタイプをアップロードする権限がありません。」 | その種類が許されていない、または、中身がその形式として認められないなど | ファイルの種類で断られるとき |
| 「サーバーが画像を処理できません。…推奨する最大サイズは2560ピクセルです。」「メモリの許容量を超えました。…」「サーバーが HEIC 画像を処理できません。…」 | 画像が大きすぎる・サーバーの力が足りない・その形式を扱えない | 画像の処理で失敗するとき |
| 「サーバーから予期しないレスポンスがありました。ファイルは正しくアップロードされているかもしれません。…」 | アップロードの途中で、サーバーから思わぬ返事が来た | 「予期しないレスポンス」と出るとき |
| 「ディレクトリ ○○ を作成できません。…」「アップロードしたファイルを○○に移動できませんでした。」 | 保存先のフォルダに書き込めない | フォルダに書き込めないとき |
ファイル名や数字が入るところは、サイトによって変わります。どれにも当てはまらない場合は、当てはまる文が無いときをご覧ください。
作業の前に確かめること
- 出ている文を控える:ファイル名、ファイルの大きさ(MB)と種類、出た文を控えます。
- どこからアップロードしたか:「メディア」→「メディアファイルを追加」の画面か、記事を書く画面(ブロックエディター)の中か、プラグインの画面かを控えます。
- ほかのファイルでも失敗するか:小さな JPEG の画像などで試し、どのファイルでも失敗するのか、決まったファイルだけなのかを見ます。
- バックアップと、変える前の値:サーバーの設定やフォルダの権限を変える前に、ファイルとデータベースのバックアップを確かめます(更新の前に確かめること)。サーバーの管理画面の設定は、バックアップから戻せないことがあるため、変える前の値も控え、戻し方を確かめておきます。
アイキャッチ画像で困っている場合は、画像をメディアライブラリに入れること自体ができないのか、入っている画像をアイキャッチに設定できないのかを分けて確かめます。この記事は、入れること自体ができない場合の確かめ方です。
大きさの上限を超えているとき
1. 今の上限を確かめる
- 「メディア」→「メディアファイルを追加」の画面に、「最大アップロードサイズ: ○○ MB。」と出ます。
- 「ツール」→「サイトヘルス」→「情報」の「メディア処理」に、「post データの最大サイズ」(
post_max_size)、「アップロードファイルの最大サイズ」(upload_max_filesize)、「有効な最大ファイルサイズ」が出ます(サイトヘルスの記事の「「情報」タブの使い方」)。WordPressは、2つの設定のうち小さいほうを上限にします。
2. ファイルを小さくする
- 写真:長い辺が2560ピクセルを超える写真は、縮小すると、ファイルの大きさ(MB)も減らせることがあります。パソコンやスマートフォンの写真のアプリで大きさを変えて保存し、保存した後の MB も、上限に収まっているかを確かめます。
- PDF:PDFを作ったソフトの「サイズを小さくする」などの保存のしかたで、小さくできることがあります。
- 動画:大きな動画は、YouTube などの動画のサービスに載せて、記事にはそのリンクや埋め込みを入れる方法もあります。
3. サーバーの設定で上限を上げる
基本の上限は、サーバーのPHPの設定で決まります(サイト側のプラグインなどで、さらに小さく決められていることもあります)。レンタルサーバーでは、管理画面のPHPの設定(php.ini の設定)で変えられることがあります。場所は、「リンクの期限が切れています」の記事の「サーバーの設定で上限を上げる」(主なレンタルサーバーでの場所)と、メモリ不足の記事の「サーバーの設定で上げる」も参考になります。
upload_max_filesize(1つのファイルの上限)とpost_max_size(一度に送る全体の上限)の両方を確かめます。post_max_sizeは、upload_max_filesizeより大きくしておきます。小さいと、そちらが上限になります(サイトヘルスにも、その注意が出ます)。- 上げられる上限は、サーバーの契約によって違います。サーバー会社の案内を確かめます。
.htaccessにPHPの設定を書く方法が紹介されていることがありますが、サーバーによっては書くとサイトが表示されなくなることがあります。サーバー会社の案内にある方法で変えます。
ファイルの種類で断られるとき
WordPressは、安全のため、受け付けるファイルの種類を決めています。JPEG・PNG・GIF・WebP・AVIF・HEIC などの画像、PDF、Word や Excel のファイル、よく使われる音声や動画は、標準で受け付けます。ただ、受け付ける種類でも、サイトの設定や、サーバーがその形式を扱えるかによって、断られることがあります。
「権限がありません」とありますが、この文だけで、ログインしているユーザーの権限や、フォルダの権限が原因とは限りません。まず、ファイルの種類と中身を確かめます。
- SVG(ロゴなどに使う図の形式):標準では受け付けません。SVG の中には、プログラムを入れられるためです。どうしても使う場合は、中身を安全に整える仕組みのあるプラグインを選び、信頼できるファイルだけをアップロードします。PNG などに変えて使う方法もあります。
- 拡張子だけ書き換えない:WordPressは、ファイルの中身も確かめます。拡張子(ファイル名の最後の「.jpg」など)だけを書き換えても、うまくいかないことがあります。画像のソフトで、その形式として保存し直します。
- すべての種類を許す設定:
wp-config.phpに、どんな種類のファイルでも受け付けるようにする設定(ALLOW_UNFILTERED_UPLOADS)があります。危ないファイルも受け付けてしまうため、おすすめしません。
画像の処理で失敗するとき
WordPressは、画像をアップロードすると、いくつかの大きさの画像を作ります。画像が大きいと、この処理でサーバーの力(メモリや時間)が足りなくなることがあります。
- 画像を小さくしてからアップロードする:WordPressの表示でも、2560ピクセルが目安とされています。
- WordPress 7.1 では:
https://のサイトでは、記事を書く画面(ブロックエディター)の中で入れた画像の縮小などを、ブラウザーの中で行う仕組みが入りました。WordPressの案内では、大きな画像でもサーバーのメモリの上限や時間切れにかかりにくくなったとされています。「メディア」の画面から入れて失敗する場合は、記事を書く画面の中から入れると、うまくいくこともあります。 - 「メモリの許容量を超えました。」と出るとき:小さな画像で試しても出る場合は、PHPのメモリの上限も確かめます(メモリ不足の記事)。
- iPhone などで撮った HEIC の写真:「サーバーが HEIC 画像を処理できません。アップロードする前に JPEG に変換してください。」と出た場合は、サーバーがこの形式を扱えません。スマートフォンや写真のアプリで JPEG にしてからアップロードします。
「予期しないレスポンス」と出るとき
- メディアライブラリを見る:文にあるとおり、ファイルは入っていることがあります。「メディア」→「ライブラリ」を開き直して確かめます。入っていれば、同じファイルを何度もアップロードしなくて大丈夫です。
- 画像が大きくないか:大きな画像のときは、上の画像の処理で失敗するときを試します。
- セキュリティの設定:この文だけでは、原因がセキュリティの設定とは分かりません。同じときに「403」と出る場合や、サーバーの記録で止められたことが分かる場合は、サーバーの守りの仕組み(WAF)や、セキュリティのプラグインがアップロードを止めていることがあります(403の記事の「保存のときだけ:サーバーのWAF」)。
- 時間をおいて試す:サーバーが混み合っていると、処理が終わらないことがあります。
フォルダに書き込めないとき
アップロードしたファイルは、ふつう wp-content/uploads の中の、年と月のフォルダに保存されます。このフォルダに書き込めないと、文に出たフォルダの場所で失敗します。
- フォルダの権限:
wp-content/uploadsとその中のフォルダに、サーバーが書き込める権限があるかを確かめます(403の記事の「フォルダやファイルの権限を確かめる」)。適切な値は、サーバー会社の案内で確かめます。 - サーバーの空き容量:容量がいっぱいだと、書き込めないことがあります。サーバー会社の管理画面で使っている量を確かめます。
- 引っ越しの後なら:「設定」→「メディア」に、保存先のフォルダの設定が出ている場合は、引っ越し前の場所のままになっていないかも確かめます。
当てはまる文が無いとき
- 「アップロードに失敗しました。」とだけ出る、または何も出ずに終わる場合は、別のブラウザで試し、ブラウザの拡張機能も確かめます。
- プラグインの画面(フォームの添付など)で失敗する場合は、そのプラグインの設定に、大きさや種類の上限が別にあることがあります。
- 直前に入れたプラグインや、変えたセキュリティの設定が無いかを思い出します。
直った後に確かめること
- ファイルがメディアライブラリに入っているか。何度か試して同じファイルが重なっている場合は、記事などで使っていないものかを確かめてから整理します
- 記事に入れた画像が、パソコンとスマートフォンで表示されるか
- サーバーの設定を変えた場合は、サイトの表示や管理画面が、ふだんどおり動くか
自分で進めるのが難しいとき
次のような場合は、無理に作業を進めず、ご相談ください。
- サーバーの設定の場所や、上げてよい上限が分からない
- 小さなファイルでもアップロードできない
- フォルダの権限を変えてよいか判断がつかない
- SVG など、標準で受け付けない種類のファイルを安全に使いたい
WP-ingでは、WordPressの不具合の修理を承っています。状況を確かめて、作業の前に料金をご案内します。直らなければ料金はいただきません。お支払いは、直ったことを確かめていただいてからです。
よくある質問
スマートフォンからだと失敗し、パソコンからだとアップロードできます。
スマートフォンとパソコンで別のファイルを試している場合は、スマートフォンの写真の大きさが大きかったり、HEIC の形式だったりすることがあります。写真のアプリで大きさを小さくするか、JPEG にしてから試します。同じファイルでも差が出る場合は、ブラウザの違いも考えられるため、別のブラウザでも試します。
wp-config.php やプラグインで、上限を上げられますか?
wp-config.php に書き足したり、プラグインを入れたりするだけでは、サーバーのPHPの設定で決まった上限を超えられないことがあります。まず、サーバーの管理画面のPHPの設定で変えられるかを確かめます。
上限は、どこまで上げてよいですか?
サーバーの契約で決まっている範囲の中で、ふだん使うファイルが入る大きさにします。大きすぎる上限は、サーバーに負担がかかることもあります。大きな動画などは、動画のサービスに載せる方法も考えます。