如何在wordpress中写入文件

时间:2012-07-17 10:49:15

标签: php wordpress wordpress-plugin

我正在编写插件,并且可以选择从管理员端编写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包装器不支持可写第49行的C:\ wamp \ www \ car \ wp-content \ plugins \ networks-inv \ admin \ templates.php中的连接。我不明白为什么会出现这些错误?是否有任何方法可以在wordpress插件中编写文件

4 个答案:

答案 0 :(得分:1)

您可以使用以下WP函数动态获取插件目录路径,然后将其传递给file_put_contents函数。

$upload_dir = plugin_dir_path( __DIR__ ).'/networks-inv/tab/style.css';
 
file_put_contents($upload_dir, $data, FILE_TEXT );

答案 1 :(得分:0)

您应该编写文件的系统路径,而不是URL。

你应该:

$file = "car/wp-content/plugins/networks-inv/tab/style.css";
file_put_contents($file, $data, FILE_TEXT );

答案 2 :(得分:0)

可能是因为您尝试使用http方法尝试使用本地文件路径而不是

答案 3 :(得分:0)

我最初收到相同的警告,但确定原因是将文件路径设置为:

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

代替

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

文件路径应包含两个斜杠而不是一个。

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