4

我正在编写一个插件,并且可以选择从管理员端编写 css。这里我需要将 css 写入一个名为 style.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";

文件路径应该有两个斜杠而不是一个。

我希望这可以解决路径名不正确的问题。

于 2020-11-08T03:27:43.707 回答