PHP - file_put_contents将文件保存在文件夹中

时间:2015-05-27 16:57:31

标签: php html5 wordpress save file-put-contents

尝试将附件从电子邮件保存到我的服务器,到目前为止我的脚本工作正常,但它将文件保存在我的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);
}

任何想法?

3 个答案:

答案 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