Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么Wordpress不上传我的文件$_文件始终为空_Php_Wordpress - Fatal编程技术网

Php 为什么Wordpress不上传我的文件$_文件始终为空

Php 为什么Wordpress不上传我的文件$_文件始终为空,php,wordpress,Php,Wordpress,我一直在寻找一个类似的问题,但没有人帮我解决我的问题。我会再问一次,以防像我这样的人也遇到同样的情况 我正试图在wordpress上上传一个文件。文件被发送到服务器,当我上传它时,我可以在我的检查器上看到它: 但是,如果我在服务器上对$\u文件执行var\u转储,它总是返回null: <?php add_action('wp_ajax_form_candidat', 'form_candidat'); add_action('wp_ajax_nopriv_form_candidat',

我一直在寻找一个类似的问题,但没有人帮我解决我的问题。我会再问一次,以防像我这样的人也遇到同样的情况

我正试图在wordpress上上传一个文件。文件被发送到服务器,当我上传它时,我可以在我的检查器上看到它:

但是,如果我在服务器上对$\u文件执行var\u转储,它总是返回null:

<?php
add_action('wp_ajax_form_candidat', 'form_candidat');
add_action('wp_ajax_nopriv_form_candidat', 'form_candidat');

function form_candidat() {
    if ( ! function_exists( 'wp_handle_upload' ) ) {
        require_once( ABSPATH . 'wp-admin/includes/file.php' );
    }
    check_ajax_referer('ajax_file_nonce', 'security');
    var_dump($_FILES);
    var_dump($_FILES['file']);

    $file = wp_handle_upload($_FILES['file'], array( 'test_form' => false ));
    //...and so on
}
编辑2:

在我的HTML中,“cv”是以下输入字段:

<form class="formulaire margin-top" enctype="multipart/form-data" method="POST" action="#" id="candidat_form">
<input id="cv" class="file" type="file" name="cv" accept="application/pdf">
// More stuff
编辑4: 非常感谢社区和帮助我解决这个问题的人们。 我一直在切换这个:

formData.append("file", cv);
为此:

formData.append('file', Array.from(cv));
然而,当我使用var_dump($_文件)时,我仍然得到数组(0){}; 这是检查员:


最有可能是您用于Ajax的脚本,请在问题中发布,我同意上面的Josh,但也请检查所有.ini指令。您只列出了几个可能的错误配置中的两个(另外,您的文件大小是多少?小于64mb?假设是,但没有说明)。你可以在这里找到文件上传的.ini配置:我想,afaik文件上传是默认的,但似乎是一个奇怪的问题,所以认为它值得检查。你也可以发布html吗?i、 e.是
enctype=“multipart/form data”
我相信你需要
enctype:“multipart/form data”
用jquerys ajax方法发送文件最有可能是你用于ajax的脚本,请在问题中发帖我同意上面的Josh,但也请检查所有.ini指令。您只列出了几个可能的错误配置中的两个(另外,您的文件大小是多少?小于64mb?假设是,但没有说明)。你可以在这里找到文件上传的.ini配置:我想,afaik文件上传是默认的,但似乎是一个奇怪的问题,所以认为它值得检查。你也可以发布html吗?i、 e.是
enctype=“multipart/form data”
我相信您需要
enctype:“multipart/form data”
来使用jquerys ajax方法发送文件
formData.append("file", cv);
formData.append('file', Array.from(cv));