尝试将附件从电子邮件保存到我的服务器,到目前为止我的脚本工作正常,但它将文件保存在我的wp根文件夹中。
foreach ($attachments as $key => $attachment) {
$name = $attachment['name'];
$contents = $attachment['attachment'];
file_put_contents($name, $contents);
}
如何将文件保存到其他文件夹?
尝试使用此代码但无法正常工作。
foreach ($attachments as $key => $attachment) {
$name = $attachment['name'];
$contents = $attachment['attachment'];
file_put_contents(get_stylesheet_directory_uri() . '/email_attachments/' . $name, $contents);
}
任何想法?
答案 0 :(得分:0)
您正确添加路径,只是get_stylesheet_directory_uri()用于网络路径: https://codex.wordpress.org/Function_Reference/get_stylesheet_directory_uri
尝试类似get_home_path()的内容: https://codex.wordpress.org/Function_Reference/get_home_path
干杯!
答案 1 :(得分:0)
有关未来参考,请参阅如何找到路径:
foreach ($attachments as $key => $attachment) {
$name = $attachment['name'];
$contents = $attachment['attachment'];
file_put_contents(STYLESHEETPATH . '/email_attachments/' . $name, $contents);
}
答案 2 :(得分:0)
您正确添加了路径,仅此而已 get_stylesheet_directory_uri()用于Web路径: https://codex.wordpress.org/Function_Reference/get_stylesheet_directory_uri
尝试类似get_home_path()的方法: https://codex.wordpress.org/Function_Reference/get_home_path
那是不对的。 您需要使用get_stylesheet_directory()函数而不是get_stylesheet_directory_uri()。
echo file_put_contents(get_stylesheet_directory().'/file.txt','test');
应打印4