当前位置: 首页>>代码示例>>PHP>>正文


PHP WP_Filesystem函数代码示例

本文整理汇总了PHP中WP_Filesystem函数的典型用法代码示例。如果您正苦于以下问题:PHP WP_Filesystem函数的具体用法?PHP WP_Filesystem怎么用?PHP WP_Filesystem使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了WP_Filesystem函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: generate

 /**
  * Generate a child theme.
  *
  * @since 1.1.0
  */
 public function generate()
 {
     global $wp_filesystem;
     WP_Filesystem();
     $parent = wp_get_theme($this->template);
     if (!$parent->exists()) {
         return new WP_Error('invalid_template', esc_html__('Invalid parent theme slug.', 'audiotheme-agent'));
     }
     $parts = explode('/', $parent->get_template());
     $slug = sprintf('%s-child', reset($parts));
     $directory = path_join($parent->get_theme_root(), $slug);
     if ($wp_filesystem->exists($directory)) {
         return new WP_Error('directory_exists', esc_html__('Child theme directory already exists.', 'audiotheme-agent'));
     }
     if (false === $wp_filesystem->mkdir($directory)) {
         return new WP_Error('fs_error', esc_html__('Could not create child theme directory.', 'audiotheme-agent'));
     }
     $source = audiotheme_agent()->get_path('data/child-theme/');
     copy_dir($source, $directory);
     if ($parent->get_screenshot()) {
         $wp_filesystem->copy(path_join($parent->get_template_directory(), $parent->get_screenshot('relative')), path_join($directory, $parent->get_screenshot('relative')));
     }
     $data = array('{{author}}' => wp_get_current_user()->display_name, '{{author_url}}' => wp_get_current_user()->user_url, '{{name}}' => $parent->get('Name'), '{{slug}}' => $parent->get_template(), '{{url}}' => esc_url(home_url()));
     $files = array('functions.php', 'style.css');
     foreach ($files as $file) {
         $filename = path_join($directory, $file);
         $contents = $wp_filesystem->get_contents($filename);
         $contents = str_replace(array_keys($data), array_values($data), $contents);
         $wp_filesystem->put_contents($filename, $contents);
     }
     return true;
 }
开发者ID:audiotheme,项目名称:audiotheme-agent,代码行数:37,代码来源:ChildTheme.php

示例2: uploads_proxy

/**
 * Get uploads from the production site and store them
 * in the local filesystem if they don't already exist.
 *
 * @return  void
 */
function uploads_proxy()
{
    global $wp_filesystem;
    WP_Filesystem();
    // The relative request path
    $requestPath = $_SERVER['REQUEST_URI'];
    // The relative uploads path
    $uploadsPath = str_replace(get_bloginfo('url'), '', wp_upload_dir()['baseurl']);
    // Check if a upload was requested
    if (strpos($requestPath, $uploadsPath) === 0) {
        // The absolute remote path to the upload
        $remotePath = UP_SITEURL . $requestPath;
        // Get the remote upload file
        $response = wp_remote_get($remotePath);
        // Check the response code
        if ($response['response']['code'] === 200) {
            // The file path relative to the uploads path to store the upload file to
            $relativeUploadFile = str_replace($uploadsPath, '', $_SERVER['REQUEST_URI']);
            // The absolute file path to store the upload file to
            $absoluteUploadFile = wp_upload_dir()['basedir'] . $relativeUploadFile;
            // Make sure the upload directory exists
            wp_mkdir_p(pathinfo($absoluteUploadFile)['dirname']);
            if ($wp_filesystem->put_contents(urldecode($absoluteUploadFile), $response['body'], FS_CHMOD_FILE)) {
                // Redirect to the stored upload
                wp_redirect($requestPath);
            }
        }
    }
}
开发者ID:betawax,项目名称:uploads-proxy,代码行数:35,代码来源:uploads-proxy.php

示例3: eventon_generate_options_css

function eventon_generate_options_css($newdata = '')
{
    /** Define some vars **/
    $data = $newdata;
    $uploads = wp_upload_dir();
    //$css_dir = get_template_directory() . '/css/'; // Shorten code, save 1 call
    $css_dir = AJDE_EVCAL_DIR . '/' . EVENTON_BASE . '/assets/css/';
    //$css_dir = plugin_dir_path( __FILE__ ).  '/assets/css/';
    //echo $css_dir;
    /** Save on different directory if on multisite **/
    if (is_multisite()) {
        $aq_uploads_dir = trailingslashit($uploads['basedir']);
    } else {
        $aq_uploads_dir = $css_dir;
    }
    /** Capture CSS output **/
    ob_start();
    require $css_dir . 'dynamic_styles.php';
    $css = ob_get_clean();
    //print_r($css);
    /** Write to options.css file **/
    WP_Filesystem();
    global $wp_filesystem;
    if (!$wp_filesystem->put_contents($aq_uploads_dir . 'eventon_dynamic_styles.css', $css, 0777)) {
        return true;
    }
}
开发者ID:akshayxhtmljunkies,项目名称:brownglock,代码行数:27,代码来源:eventon-core-functions.php

示例4: _get_wp_filesystem

 /**
  * @throws EE_Error
  * @return WP_Filesystem_Base
  */
 private static function _get_wp_filesystem()
 {
     global $wp_filesystem;
     // no filesystem setup ???
     if (!$wp_filesystem instanceof WP_Filesystem_Base) {
         // if some eager beaver's just trying to get in there too early...
         if (!did_action('wp_loaded')) {
             $msg = __('An attempt to access and/or write to a file on the server could not be completed due to a lack of sufficient credentials.', 'event_espresso');
             if (WP_DEBUG) {
                 $msg .= '<br />' . __('The WP Filesystem can not be accessed until after the "wp_loaded" hook has run, so it\'s best not to attempt access until the "admin_init" hookpoint.', 'event_espresso');
             }
             throw new EE_Error($msg);
         } else {
             // should be loaded if we are past the wp_loaded hook...
             if (!function_exists('WP_Filesystem')) {
                 require_once ABSPATH . 'wp-admin/includes/file.php';
             }
             // basically check for direct or previously configured access
             if (!WP_Filesystem()) {
                 // turn on output buffering so that we can capture the credentials form
                 ob_start();
                 $credentials = request_filesystem_credentials('');
                 // store credentials form for the time being
                 EEH_File::$_credentials_form = ob_get_clean();
                 // if credentials do NOT exist
                 if ($credentials === FALSE) {
                     add_action('admin_notices', array('EEH_File', 'display_request_filesystem_credentials_form'), 999);
                     throw new EE_Error(__('An attempt to access and/or write to a file on the server could not be completed due to a lack of sufficient credentials.', 'event_espresso'));
                 }
             }
         }
     }
     return $wp_filesystem;
 }
开发者ID:antares-ff,项目名称:ANTARES-Test,代码行数:38,代码来源:EEH_File.helper.php

示例5: _validate_form

 protected function _validate_form()
 {
     $url = wp_nonce_url('admin.php?page=vimeography-my-themes');
     if (false === ($creds = request_filesystem_credentials($url))) {
         // if we get here, then we don't have credentials yet,
         // but have just produced a form for the user to fill in,
         // so stop processing for now
         return true;
         // stop the normal page form from displaying
     }
     // now we have some credentials, try to get the wp_filesystem running
     if (!WP_Filesystem($creds)) {
         // our credentials were no good, ask the user for them again
         request_filesystem_credentials($url);
         return true;
     }
     if (empty($_FILES)) {
         return;
     }
     // if this fails, check_admin_referer() will automatically print a "failed" page and die.
     if (!empty($_FILES) && check_admin_referer('vimeography-install-theme', 'vimeography-theme-verification')) {
         $name = substr(wp_filter_nohtml_kses($_FILES['vimeography-theme']['name']), 0, -4);
         if ($_FILES['vimeography-theme']['type'] != 'application/zip') {
             $this->messages[] = array('type' => 'error', 'heading' => 'Ruh Roh.', 'message' => 'Make sure you are uploading the actual .zip file, not a subfolder or file.');
         } else {
             global $wp_filesystem;
             if (!unzip_file($_FILES['vimeography-theme']['tmp_name'], VIMEOGRAPHY_THEME_PATH)) {
                 $this->messages[] = array('type' => 'error', 'heading' => 'Ruh Roh.', 'message' => 'The theme could not be installed.');
             } else {
                 $this->messages[] = array('type' => 'success', 'heading' => 'Theme installed.', 'message' => 'You can now use the "' . $name . '" theme in your galleries.');
             }
         }
     }
 }
开发者ID:robjcordes,项目名称:nexnewwp,代码行数:34,代码来源:list.php

示例6: delete

 /**
  * put your comment there...
  * 
  */
 public function delete()
 {
     // Initialize.
     WP_Filesystem();
     // initialize vars.
     $wpFileSystem =& $GLOBALS['wp_filesystem'];
     $ids = array();
     $dbDriver = cssJSToolbox::getInstance()->getDBDriver();
     $fsConfig = cssJSToolbox::$config->fileSystem;
     // Import dependencies.
     cssJSToolbox::import('framework:db:mysql:xtable.inc.php');
     CJTxTable::import('template');
     // Delete only templates in "trash" state!
     // For more security don't even delete templates with SYSTEM Attribute flag
     // is turned ON!
     $sysFlag = CJTTemplateTable::ATTRIBUTES_SYSTEM_FLAG;
     $idsQueryList = implode(',', $this->inputs['ids']);
     $templates = $dbDriver->select("SELECT id, queueName `directory`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFROM #__cjtoolbox_templates \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE ID IN ({$idsQueryList}) AND ((attributes & {$sysFlag}) = 0) AND (`state` = 'trash')");
     if (!empty($templates)) {
         // Deleing template directory files.
         foreach ($templates as $template) {
             // Absolute path to template directory!
             $templateDirectoryAbsPath = WP_CONTENT_DIR . "/{$fsConfig->contentDir}/{$fsConfig->templatesDir}/{$template->directory}";
             // Delete template directory RECUSIVLY!
             $wpFileSystem->rmdir($templateDirectoryAbsPath, true);
         }
         // Get templates IDs to delete.
         $ids = implode(', ', array_keys($templates));
         // Permenantly delete all templates data from
         // templates table and all refernced tables.
         $dbDriver->startTransaction()->delete("DELETE FROM #__cjtoolbox_block_templates WHERE templateId IN ({$ids})")->delete("DELETE FROM #__cjtoolbox_template_revisions WHERE templateId IN ({$ids})")->delete("DELETE FROM #__cjtoolbox_templates WHERE id IN ({$ids})")->commit()->processQueue();
     }
     return $ids;
 }
开发者ID:JSreactor,项目名称:MarketCrater.com,代码行数:38,代码来源:templates-manager.php

示例7: download

 public function download()
 {
     if (!function_exists('WP_Filesystem')) {
         require ABSPATH . 'wp-admin/includes/file.php';
     }
     global $wp_filesystem;
     WP_Filesystem();
     $u = wp_upload_dir();
     $basedir = $u['basedir'];
     $remove = str_replace(get_option('siteurl'), '', $u['baseurl']);
     $basedir = str_replace($remove, '', $basedir);
     $abspath = $basedir . $this->get_local_path();
     $dir = dirname($abspath);
     if (!is_dir($dir) && !wp_mkdir_p($dir)) {
         $this->display_and_exit("Please check permissions. Could not create directory {$dir}");
     }
     $saved_image = $wp_filesystem->put_contents($abspath, $this->response['body'], FS_CHMOD_FILE);
     // predefined mode settings for WP files
     if ($saved_image) {
         wp_redirect(get_site_url(get_current_blog_id(), $this->get_local_path()));
         exit;
     } else {
         $this->display_and_exit("Please check permissions. Could not write image {$dir}");
     }
 }
开发者ID:VNeering,项目名称:uploads-by-proxy,代码行数:25,代码来源:class-404-template.php

示例8: export

function export()
{
    global $wpdb;
    $px_table_name = $wpdb->prefix . 'gcm_users';
    $query = "SELECT * FROM {$px_table_name}";
    $datas = $wpdb->get_results($query);
    $url = wp_nonce_url('admin.php?page=px-gcm-export', 'px-gcm-export');
    if (false === ($creds = request_filesystem_credentials($url, '', false, false, null))) {
        return true;
    }
    if (!WP_Filesystem($creds)) {
        // our credentials were not good, ask the user for them again
        request_filesystem_credentials($url, '', true, false, null);
        return true;
    }
    global $wp_filesystem;
    $contentdir = trailingslashit($wp_filesystem->wp_content_dir());
    $in = "Databse ID;GCM Registration ID;Device OS;Device Model;Created At;Messages sent to this Device;\n";
    foreach ($datas as $data) {
        $in .= $data->id . ";" . $data->gcm_regid . ";" . $data->os . ";" . $data->model . ";" . $data->created_at . ";" . $data->send_msg . "\n";
    }
    mb_convert_encoding($in, "ISO-8859-1", "UTF-8");
    if (!$wp_filesystem->put_contents($contentdir . 'GCM-Export.csv', $in, FS_CHMOD_FILE)) {
        echo 'Failed saving file';
    }
    return content_url() . "/GCM-Export.csv";
}
开发者ID:ronal2do,项目名称:fonda56-theme,代码行数:27,代码来源:export.php

示例9: __construct

 function __construct()
 {
     // register lazy autoloading
     spl_autoload_register('self::lazy_loader');
     // filter for s3 images
     add_filter('wp_get_attachment_url', array($this, 'wp_get_attachment_url'), 10, 2);
     add_filter('image_downsize', array($this, 'image_downsize'), 10, 2);
     // admin only functionality
     if (is_admin()) {
         // ensure that $wp_filesystem is activated for this plugin
         if (!function_exists('download_url')) {
             require_once ABSPATH . 'wp-admin/includes/file.php';
         }
         global $wp_filesystem;
         WP_Filesystem();
         // enable the settings
         $this->rsrgroup = new WC_RSRGroup_Integration();
         // TODO: fix " Call to undefined function get_plugin_data() "
         // $this->plugin_data = get_plugin_data( __FILE__ );
         $this->path = self::get_plugin_path();
         $this->dir = trailingslashit(basename($this->path));
         $this->url = plugins_url() . '/' . $this->dir;
         add_action('init', array($this, 'load_textdomain'));
         add_action('init', array($this, 'load_custom_fields'));
         add_action('admin_menu', array($this, 'admin_menu'));
         add_filter('manage_upload_columns', array($this, 'manage_upload_columns'));
         add_action('manage_media_custom_column', array($this, 'manage_media_custom_column'), 10, 2);
         add_action('woocommerce_rsrgroup_import_inventory', array($this, 'import_inventory'));
         // WooCommerce actions
         add_action('woocommerce_product_options_pricing', array($this, 'product_options_pricing'));
         add_action('woocommerce_product_options_sku', array($this, 'product_options_sku'));
         add_action('woocommerce_process_product_meta_simple', array($this, 'process_product_meta'));
     }
 }
开发者ID:taylorfirearms,项目名称:woocommerce-import-rsrgroup,代码行数:34,代码来源:wc-rsrgroup.php

示例10: xt_upgrade

/**
 * Upgrade
 *
 * All the functionality for upgrading XT Themes
 *
 * @since 1.0.0
 */
function xt_upgrade()
{
    global $XT_Theme, $wpdb, $wp_filesystem, $post;
    $xt_version_option_key = XT_THEME_ID . '_version';
    $xt_theme = wp_get_theme();
    $old_version = get_option($xt_version_option_key, '1.0.0');
    // false
    $new_version = $XT_Theme->parent_version;
    if ($new_version !== $old_version) {
        /*
         * 1.0.4
         *
         * @created 2015-02-21
         */
        if ($old_version < '1.0.4') {
            $xt_upload_dir = XT_Theme::get_upload_dir();
            if (empty($wp_filesystem)) {
                require_once ABSPATH . '/wp-admin/includes/file.php';
                WP_Filesystem();
            }
            if ($wp_filesystem->is_dir($xt_upload_dir['dir'] . '/assets/')) {
                $wp_filesystem->delete($xt_upload_dir['dir'] . '/assets/', true, 'd');
                $wp_filesystem->delete($xt_upload_dir['dir'] . '/bower_components/', true, 'd');
                $wp_filesystem->delete($xt_upload_dir['dir'] . '/cache/', true, 'd');
            }
            update_option($xt_version_option_key, '1.0.4');
        }
        update_option($xt_version_option_key, $new_version);
        self::sass_compile_flag();
        xt_redirect_after_migration();
    }
}
开发者ID:venturepact,项目名称:blog,代码行数:39,代码来源:migrations.php

示例11: __construct

 public function __construct()
 {
     if (!function_exists('WP_Filesystem')) {
         require_once ABSPATH . 'wp-admin/includes/file.php';
     }
     WP_Filesystem();
 }
开发者ID:pojome,项目名称:elementor,代码行数:7,代码来源:class-import-images.php

示例12: try_download

 /**
  * Try downloading and saving the image locally and then redirect to it.
  * @param string $img_path Path of the image inside uploads folder
  */
 public function try_download($img_path)
 {
     if (!function_exists('WP_Filesystem')) {
         require ABSPATH . 'wp-admin/includes/file.php';
     }
     global $wp_filesystem;
     WP_Filesystem();
     $mirror_url = $this->get_mirror_url($img_path);
     if ($mirror_url === false) {
         status_header(404);
         exit;
     }
     // Download
     $response = wp_remote_get($mirror_url);
     // Die if not successful.
     if (is_wp_error($response) || 200 !== $response['response']['code']) {
         wp_die(__('Unable to download the file.', 'h1aid'));
     }
     $body = wp_remote_retrieve_body($response);
     $abspath = $this->content_base_dir;
     $destination = trailingslashit($abspath) . $img_path;
     // Save to file system.
     $result = $wp_filesystem->put_contents($destination, $response['body'], FS_CHMOD_FILE);
     // predefined mode settings for WP files
     // Redirect if successful.
     if (true === $result) {
         wp_redirect(trailingslashit($this->content_base_url) . $img_path, 301);
         exit;
     } else {
         wp_die(__('Unable to save file to filesystem.', 'h1aid'));
     }
 }
开发者ID:h1fi,项目名称:h1-auto-image-download,代码行数:36,代码来源:class-h1-auto-image-download.php

示例13: save_temp_image

 /**
  * Save the submitted image as a temporary file.
  *
  * @todo Revisit file handling.
  *
  * @param string $img Base64 encoded image.
  * @return false|string File name on success, false on failure.
  */
 protected function save_temp_image($img)
 {
     // Strip the "data:image/png;base64," part and decode the image.
     $img = explode(',', $img);
     $img = isset($img[1]) ? base64_decode($img[1]) : base64_decode($img[0]);
     if (!$img) {
         return false;
     }
     // Upload to tmp folder.
     $filename = 'user-feedback-' . date('Y-m-d-H-i');
     $tempfile = wp_tempnam($filename);
     if (!$tempfile) {
         return false;
     }
     // WordPress adds a .tmp file extension, but we want .png.
     if (rename($tempfile, $filename . '.png')) {
         $tempfile = $filename . '.png';
     }
     if (!WP_Filesystem(request_filesystem_credentials(''))) {
         return false;
     }
     /**
      * WordPress Filesystem API.
      *
      * @var \WP_Filesystem_Base $wp_filesystem
      */
     global $wp_filesystem;
     $success = $wp_filesystem->put_contents($tempfile, $img);
     if (!$success) {
         return false;
     }
     return $tempfile;
 }
开发者ID:kreapress,项目名称:user-feedback,代码行数:41,代码来源:AjaxHandler.php

示例14: save_file

 /**
  * Save the redirect file
  *
  * @return bool
  */
 public function save_file()
 {
     global $wp_filesystem;
     // Generate file content
     $file_content = $this->generate_file_content();
     if (null == $file_content) {
         return false;
     }
     // Set the filesystem URL
     $url = wp_nonce_url('admin.php?page=wpseo_redirects#top#settings', 'update-htaccess');
     // Get the credentials
     $credentials = request_filesystem_credentials($url, '', false, WPSEO_Redirect_File_Manager::get_htaccess_file_path());
     // Check if WP_Filesystem is working
     if (WP_Filesystem($credentials, WPSEO_Redirect_File_Manager::get_htaccess_file_path())) {
         // Read current htaccess
         $htaccess = '';
         if (file_exists(WPSEO_Redirect_File_Manager::get_htaccess_file_path())) {
             $htaccess = file_get_contents(WPSEO_Redirect_File_Manager::get_htaccess_file_path());
         }
         $htaccess = preg_replace("`# BEGIN YOAST REDIRECTS.*# END YOAST REDIRECTS" . PHP_EOL . "`is", "", $htaccess);
         // New Redirects
         $file_content = "# BEGIN YOAST REDIRECTS" . PHP_EOL . "<IfModule mod_rewrite.c>" . PHP_EOL . "RewriteEngine On" . PHP_EOL . $file_content . "</IfModule>" . PHP_EOL . "# END YOAST REDIRECTS" . PHP_EOL;
         // Prepend our redirects to htaccess file
         $htaccess = $file_content . $htaccess;
         // Update the .htaccess file
         $wp_filesystem->put_contents(WPSEO_Redirect_File_Manager::get_htaccess_file_path(), $htaccess, FS_CHMOD_FILE);
     }
 }
开发者ID:rinodung,项目名称:myfreetheme,代码行数:33,代码来源:class-htaccess-redirect-file.php

示例15: parseFile

 /**
  * Parse PDF file
  *
  * @param string $filename
  *
  * @return Document
  */
 public function parseFile($filename)
 {
     global $wp_filesystem;
     WP_Filesystem();
     $content = $wp_filesystem->exists($filename) ? $wp_filesystem->get_contents($filename) : '';
     return $this->parseContent($content);
 }
开发者ID:vossavant,项目名称:phoenix,代码行数:14,代码来源:Parser.php


注:本文中的WP_Filesystem函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。