4

私はプラグインを書いていますが、管理者側からcssを書くオプションがあります。ここでは、style.cssという名前の特定のファイルにcssを書き込む必要があります。これらのために私はphp関数を使用しました<?php file_put_contents($file, $data, FILE_TEXT )?>。しかし、それは次のようなエラーを示しています

file_put_contents(http://localhost/car/wp-content/plugins/networks-inv/tab/style.css)[function.file-put-contents]:ストリームを開くことができませんでした:HTTPラッパーはCでの書き込み可能な接続をサポートしていません:\ wamp \ www \ car \ wp-content \ plugins \ networks-inv \ admin\templates.phpの49行目。これらのエラーが表示される理由がわかりません。WordPressプラグインでファイルを書く方法はありますか?

4

4 に答える 4

1

次のWP関数を使用して、プラグインディレクトリパスを動的にフェッチし、それを関数に渡すことができfile_put_contentsます。

$upload_dir = plugin_dir_path( __DIR__ ).'/networks-inv/tab/style.css';
 
file_put_contents($upload_dir, $data, FILE_TEXT );
于 2021-08-05T15:13:12.047 に答える
0

URLではなく、ファイルのシステムパスを書き込む必要があります。

あなたがすべき :

$file = "car/wp-content/plugins/networks-inv/tab/style.css";
file_put_contents($file, $data, FILE_TEXT );
于 2012-07-17T10:50:40.220 に答える
0

httpメソッドを使用して書き込もうとしているためか、代わりにローカルファイルパスを使用してみてください

于 2012-07-17T10:51:55.230 に答える
0

最初は同じ警告を受け取りましたが、ファイルパスを次のように設定していることが原因であると判断しました。

$file = ".\wp-content\plugins\logging.txt";

それ以外の

$file = ".\\\\wp-content\\\\plugins\\\\logging.txt";

ファイルパスには、1つではなく2つのスラッシュを含める必要があります。

これにより、パス名が正しくないという問題が解決されることを願っています。

于 2020-11-08T03:27:43.707 に答える