首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$_FILES在WordPress文件上传函数中返回NULL

$_FILES在WordPress文件上传函数中返回NULL
EN

Stack Overflow用户
提问于 2015-09-11 10:57:51
回答 1查看 2.5K关注 0票数 0

因此,我仍然在为我的主题构建设置页面,我忙于文件上传功能。wp_handle_upload函数正在工作,但文件没有被抓取。

这是已登记的选项:

代码语言:javascript
复制
add_settings_field("upload_logo", "Upload Logo", "logo_display", "theme-options", "section");
register_setting("section", "upload_logo", "handle_logo_upload");

这是设置主题页面的函数:

代码语言:javascript
复制
function theme_settings_page() {
    ?>
        <div class="wrap">
        <h1>Theme Panel</h1>
        <form method="post" action="options.php" enctype="multipart/form-data">
            <?php
                settings_fields("section");
                do_settings_sections("theme-options");      
                submit_button(); 
            ?>          
        </form>
        </div>
    <?php
}

这是接受图像的函数:

代码语言:javascript
复制
function logo_display()
{
    ?>
     <form method="post" action="options.php" enctype="multipart/form-data">
        <input type="file" name="upload_logo" id="upload_logo" value="<?php echo get_option('upload_logo'); ?>"/>         
    </form>
   <?php
}

这是处理上传的函数:

代码语言:javascript
复制
function handle_logo_upload() {
    if ( !function_exists( 'wp_handle_upload' ) ) {
        require_once( ABSPATH . 'wp-admin/includes/file.php' );
    }
        $uploadedfile = $_FILES['upload_logo']['submit'];
        $upload_overrides = array( 'test_form' => false );
        $movefile = wp_handle_upload( $uploadedfile, $upload_overrides );
        if ( $movefile ) {
            $wp_filetype = $movefile['type'];
            $filename = $movefile['file'];
            $wp_upload_dir = wp_upload_dir();
            $attachment = array(
                'guid' => $wp_upload_dir['url'] . '/' . basename( $filename ),
                'post_mime_type' => $wp_filetype,
                'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
                'post_content' => '',
                'post_status' => 'inherit'
            );
            $attach_id = wp_insert_attachment( $attachment, $filename);
            echo '<br>';
            //return $attach_id;
            var_dump($uploadedfile);
            //print_r($uploadedfile);
            //wp_die('end');
        }

    return 'fail';      
}

当我在变量var_dump上做$uploadedfile时,我得到了NULL。为什么会这样呢?

下面是我的主题:http://pasteboard.co/yFck7LW.png的设置页面的屏幕截图

这是当我试图上传一些东西时上传的空文件:http://pasteboard.co/yFhrUbB.png

请帮帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-11 11:03:26

问题是:

代码语言:javascript
复制
$uploadedfile = $_FILES['upload_logo']['submit'];

将其改为:

代码语言:javascript
复制
$uploadedfile = $_FILES['upload_logo']['name'];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32521805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档