これはWordPressに限らずですが、さまざまな場面でアップロードします。
ブラウザ上でパソコンのファイルを指定してアップロードするわけですが、結構トラブルのもとです。
大きく3つあります。
1、容量が大きい
2、種類が違う
3、権限が違う
1、容量が大きい
zipファイルとかjpgファイルとか大きいデータはいくらでもありますね。この場合はだいたいはサーバのPHPの制限です。
/etc/php.iniファイルを修正します
file_uploads = On //これがOnなのは必須です。標準でOnです。
upload_max_filesize = 256M //名前のとおりファイルサイズの上限です。Mはメガなので、この場合は256メガバイトです
post_max_size = 256M //これはformのpostで送れるサイズの上限です。上のupload_max_filesizeと同じ値で大きくしておきましょう。
memory_limit = 256M //これは最大消費メモリサイズです。たまにこれも関係あります。大きい方がいいですが、なにかトラブルがあったときにメモリを消費します。
max_execution_time = 30 //これは接続時間です。30だと30秒です。大きなファイルの場合は時間がかかるので、ここも大きくしておきましょう。
他にもFormでも容量の制限ができます。これはエラーメッセージですぐにわかりますね。
2、種類が違う
これはサーバではなく、ブラウザのほうです。ファイルの拡張子を確認して、はじくことができます。でもこれはすぐにわかりますね。
3、権限が違う
ブラウザでアップロードするので、サーバはApacheなどのhttpサーバが動いているユーザでファイルを書き込もうとします。Apacheだと標準がApacheユーザですが、書き込もうとしているディレクトリがftpなどでユーザがUPしていると、ディレクトリ権限が755だったりしますね。そのディレクトリにApacheユーザーは書き込みできません。なのでエラーになります。777が誰でも書き込みできる権限なので、まずは
chmod 777 ディレクトリ名
してください。ただし、777は誰でも変更削除できるので、危険な権限ということも忘れずに
That ingt’hiss perfect for what I need. Thanks!