我正在编写插件,并且可以选择从管理员端编写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插件中编写文件
答案 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";
文件路径应包含两个斜杠而不是一个。
我希望这可以解决路径名不正确的问题。