• WordPressで画像をアップロードできないときはエラー表示から原因を分ける

WordPressで画像をアップロードできないときはエラー表示から原因を分ける

公開日: 執筆:佐藤

WordPressへ画像をアップロードできないときは、先にエラーの全文を保存します。画像を小さくする、拡張子を変える、サーバーのアクセス権を変えるという対処は、同じ障害を直すものではありません。表示されたエラーに対応する箇所だけを確認します。

まず、同じ画像を何度も送らず、ファイル名、ファイル容量、使用したアカウント、操作した画面、エラー全文を記録します。この五つがあれば、投稿担当者が直せる問題か、サイト管理者やサーバー管理者へ渡す問題かを分けられます。

エラー表示によって最初の確認先が変わる

WordPressのアップロード処理は、利用者の権限、ファイル容量、ファイルの種類、保存先を別々に確認します。したがって、「画像が入らない」という結果だけでは、どこを直すべきか決まりません。

表示された内容 確認する対象 最初にすること
ファイルをアップロードする権限がない WordPressの利用者権限 正しいアカウントでログインしているか確認し、管理者へ利用者名を伝える
ファイルが容量上限を超えている 画像の容量とサーバー側の上限 画面に表示された上限と、画像ファイルの容量を比べる
ファイルタイプが許可されていない 拡張子とMIMEタイプ 拡張子だけを書き換えず、画像を許可された形式で書き出し直す
ディレクトリを作成できない、またはファイルを移動できない WordPressのアップロード先 表示された保存先を控え、サイト管理者へ確認を依頼する

一つのエラーに対して、一つの確認から始めます。原因が確定していない段階で複数の設定を変えると、どの変更で直ったのか分からなくなります。

権限のエラーは画像ではなく利用者を確認する

WordPressの非同期アップロード処理は、最初にログイン中の利用者がupload_files権限を持つか確認します。権限がなければ、画像の容量や形式を調べる前に処理を止めます。

この場合、同じ画像を小さくしても結果は変わりません。別の利用者としてログインしていないかを確認し、管理者へ利用者名とエラー全文を渡します。管理者は、その利用者へ必要な権限を与えるのか、画像のアップロード作業を別の担当者へ任せるのかを決めます。

サーバーのディレクトリ権限を変える問題とは別です。WordPressの利用者権限と、サーバーがファイルを書き込む権限を混同しません。

容量のエラーは画面の上限とファイル容量を比べる

メディアのアップロード画面には、「アップロードするファイルのサイズ上限」が表示されます。WordPressの上限計算は、PHPのupload_max_filesizeとpost_max_sizeを比べ、小さい方を基準にします。

ファイルの容量が表示上限を超えているなら、元画像を残したうえで、掲載に必要な寸法と画質へ調整した画像を作ります。上限を引き上げる必要がある場合は、投稿画面の設定ではなく、サーバー側の設定を確認します。

「ファイルが空」と表示された場合は、実際に0バイトのファイルでないかを先に確認します。WordPressのファイル検査は、PHPでアップロードが無効になっている場合や、post_max_sizeがupload_max_filesizeより小さい場合にも、このエラーが出る可能性を示しています。中身のある画像で同じ表示になるなら、画像を作り直す前に、エラー全文をサーバー管理者へ渡します。

形式のエラーは拡張子だけを変えない

WordPressは、ファイル名の拡張子を許可されたMIMEタイプへ対応させます。MIMEタイプは、画像や文書など、ファイル内容の種類を示す名称です。JPEG、GIF、PNGなどの画像形式は、それぞれ別のMIMEタイプとして登録されています。

画像では、利用できる環境なら、ファイルの内容から判定した形式と、拡張子から判断した形式も照合します。そのため、ファイル名の末尾だけを.jpgへ変える方法は、形式を変換する作業になりません。

「このファイルタイプはセキュリティの観点から許可されていません」と表示されたら、画像編集ソフトでJPEG、GIF、PNGなどの必要な形式へ書き出し直します。元のファイルと、書き出したファイルを混同しないよう、別名で保存してからアップロードします。

保存先のエラーは表示されたパスを管理者へ渡す

アップロードした画像は、WordPressが決めたディレクトリへ保存されます。標準の構成では、wp-content/uploadsを基準にします。年月別フォルダーを使う設定では、その下に年と月のディレクトリを加えます。

WordPressのアップロード先処理は、保存先を作れない場合に、ディレクトリ名と、親ディレクトリへサーバーが書き込めるかを確認するエラーを返します。また、受け取ったファイルを保存先へ移せなければ、移動できなかった場所を示します。

このエラーは、画像の縦横寸法を変える問題ではありません。表示されたディレクトリ、発生日時、ファイル名を控え、サイト管理者またはサーバー管理者へ渡します。理由を確認せず、書き込み権限をすべての利用者へ広げる設定変更はしません。

一件の失敗記録から確認を始める

アップロードの目的は、エラーを消すことではなく、必要な画像をメディアへ安全に保存することです。対処後は、メディアライブラリに画像が一件だけ登録され、投稿で選べることまで確認します。失敗した操作を何度も繰り返した場合は、同じ画像が複数登録されていないかも確認します。

最初の一手は、いま表示されているエラーを閉じる前に、その全文とファイル容量を記録することです。そのうえで、権限、容量上限、MIMEタイプ、保存先のうち、表示に対応する一箇所だけを調べます。

戻る