WP_文件系统PUT_CONTENTS与所有者/组的问题

时间:2018-07-16 作者:Kash

我使用put\\u contents()函数在服务器上放置图像,在localhost上运行良好,但在服务器上,文件下载到服务器时的用户组是“nginx nobody”,这会导致图像返回404错误而无法查看,如何使用默认的WordPress所有者/组下载文件

    global $wp_filesystem;
    // Initialize the WP filesystem.
    if (empty($wp_filesystem)) {
        require_once (ABSPATH . \'/wp-admin/includes/file.php\');
        WP_Filesystem();
    }       
$wp_filesystem->put_contents($save_file_to, $file_to_save, 0644)

1 个回复
SO网友:Kash

我用这个函数把它修好了 request_filesystem_credentials(), 它似乎可以初始化事物并获得适当的凭据。

在本文的一个示例中找到了它:An Introduction to the WordPress Filesystem API.

我的代码:

# get credentials
function connect_fs()
{
  global $wp_filesystem;

  if( false === ($credentials = request_filesystem_credentials(\'\')) ) 
  {
    return false;
  }

  //check if credentials are correct or not.
  if(!WP_Filesystem($credentials)) 
  { 
    request_filesystem_credentials(\'\');
    return false;
  }

  return true;
}

function donload_images($image_title, $image_url)
{
  global $wp_filesystem;

    #path to save to
    $files_path = ABSPATH . \'/image\';   
    $save_file_to = $files_path .\'/\'. $image_title;

    #check if requested file is on server
    $file_exists = file_exists($save_file_to);

    if(connect_fs()){
            // Get file
        if(!$file_exists)
        {     
            #Download file info
            $file_to_save = file_get_contents($image_url);

                //success
            if($wp_filesystem->put_contents($save_file_to, $file_to_save, FS_CHMOD_FILE)){
            }
            else //Fail
            {
            }

            return $file_to_save;
        }
        else //File exists
        {
        }
    }
}

结束

相关推荐

Js errors in wp-admin

我在wp admin中有很多js错误,例如,我在帖子或页面中看不到visual composer,我无法向小部件添加框,等等。我在所有wp admin页面中都遇到了这些错误。我更新了wp和所有插件,但什么都没更新。我怎样才能解决这个问题?ThanksAle公司