以前にWPでフォルダーやファイルを作成する必要があったことはないと思いますが、プラグインの場合はにキャッシュ(サイズ変更された画像用)フォルダーが必要wp-content/uploads
です。
どちらが問題を提起しますか?私は本当にすべてのプロセスを実行する必要がありますFilesystem API
(必要なときにFTP資格情報を要求することを含む)、またはこれにwp_mkdir_p()
は十分ですか?
以前にWPでフォルダーやファイルを作成する必要があったことはないと思いますが、プラグインの場合はにキャッシュ(サイズ変更された画像用)フォルダーが必要wp-content/uploads
です。
どちらが問題を提起しますか?私は本当にすべてのプロセスを実行する必要がありますFilesystem API
(必要なときにFTP資格情報を要求することを含む)、またはこれにwp_mkdir_p()
は十分ですか?
回答:
wp-content/uploads/
サーバーに対して書き込み可能である必要があります(そうでない場合、ファイルをアップロードすることは不可能でしょうか?)このディレクトリの下に何かを作成する場合は、を使用しても安全wp_mkdir_p()
です。
のようにWP_Filesystem
、サーバーに場所への書き込み権限がない可能性がある場合にのみ使用しますwp-content/plugins/
。これは、サーバーに対して書き込み可能である必要はありません(少なくとも私はそうである必要はないと思いますか?)。
補足:Codexの[ファイルのアクセス許可]ページでも、wp-content/cache/
ディレクトリについて説明しています。これはキャッシュファイルの「より標準的な」場所でしょうか?
可能性やホスティングのセットアップの無限の海をいじる前に、私は簡単なことを試してみます:
$target = 'wherever';
wp_mkdir_p( $target );
if ( wp_mkdir_p( $target ) === TRUE )
{
echo "Folder $target successfully created";
}
else
{
new WP_Error; #... etc. Just tell where the user has to make a new folder with the name xy
// or if you're kool, you use _doing_it_wrong(); ... ;-)
}
wp_mkdir_p();
、実行後にチェックできるか、fnの実行をifステートメント内で保存する必要があるかどうかを判断できません...今)。
プラグインがファイル/フォルダーを作成するようにするだけです:私のプラグインもそれを行いました、そして私はさまざまなユーザーのファイル許可に関する多くの問題に遭遇しました。一部はウィンドウ、一部はunix、一部はホストされ、一部は自家製です。プラグインを共有したら、それは私の#1サポートメールでした。
ファイルシステムに触れる必要性を最小限に抑えるためにコードをリファクタリングしました。このような問題を回避するために現在使用しているのはアップロードディレクトリだけです。
uploads
WPが失敗するのに十分にロックダウンされている場合、プラグインがそれ以上のことを試みて実行する意味がないということです。そして、それがWPに十分であれば、プラグインにも十分です。幸いなことに、私はどこにもキャッシュディレクトリが必要であり、より複雑でエラーが発生しやすいものは必要ありません。
cache
、ページキャッシングプラグインのようなものについての方がいいと思いますが、私の場合は、画像の代替バージョンについてのほうがいいです...