【问题标题】:Unable to upload pdf file in wordpress无法在wordpress中上传pdf文件
【发布时间】:2018-03-03 17:12:14
【问题描述】:

我正在开发礼券插件,如果客户想给他/她的朋友送礼。因此,有些人可能需要发送pdf文件(这不是必填字段,但如果有人需要的话。)所以下面是我的上传代码:[我要上传pdf/文件夹中的文件]

// pdf file

    echo $pdf_file = $_POST['hidden_pdf_file'] . "<br>";
    echo $pdf_file_name = $_POST['hidden_pdf_name'] . "<br>";

    echo  $path=plugin_dir_url( __FILE__ )."pdf/";
  // Use the WordPress API to upload the file
        require_once( ABSPATH . 'wp-admin/includes/file.php' );
            $uploadedfile = $pdf_file_name;
            $upload_overrides = array( 'test_form' => false );
            $movefile = wp_handle_upload( $uploadedfile, $upload_overrides );
            if ( $movefile ) {
                echo "File is valid, and was successfully uploaded.\n";
                var_dump( $movefile);
            } else {
                echo "Possible file upload attack!\n";
            }
      // end pdf upload

错误信息

http://test.giitcomputer.com/wp-content/plugins/simple-gift-cards/pdf/

文件有效,上传成功。但是“pdf/”目录下没有文件。

注意:它显示文件已成功上传。但是,请参阅第二个错误....

array(1) { ["error"]=> string(212) "File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini." }

【问题讨论】:

  • 您的文件上传了吗?你可以分享上传文件夹中文件的链接吗?类似test.giitcomputer.com/wp-content/uploads/2017/09/gift.pdf 的东西?文件在吗?
  • @KiranDash 感谢您的回答。但我在问题中提到我的“pdf/”文件夹是空的。它显示“此目录为空”。在pdf文件夹中。未上传任何文件。但是不知道为什么会显示“文件有效且上传成功”。由于这个问题,我发布了这个问题。
  • 你试过增加 php.ini 文件中的 post_max_size 吗?
  • file_uploads = on,upload_max_filesize = 1000M,post_max_filesize = 2000M,memory_limit = 3000M,max_execution_time = 180。这是我的 php5.ini 文件。以前它是 php.ini。但它没有用,因此我将其重命名为 php5.ini。我正在开发一个插件,我的 php5.ini 文件位于 public_html/test/wp-admin 文件夹中。
  • @KiranDash 我认为这不是文件大小的问题。因为我的 pdf 文件是 32kb。我还尝试上传不同的 pdf 文件夹以确保这不是文件大小的问题。

标签: php wordpress pdf file-upload


【解决方案1】:

您必须增加上传的最大文件大小。

  1. 在functions.php文件中添加以下语句。

    @ini_set('upload_max_size', '128M');

    @ini_set('post_max_size', '128M');

    @ini_set('max_execution_time', '300');

或者

  1. 在 htaccess 文件中添加以下语句。

    php_value upload_max_filesize 128M

    php_value post_max_size 128M

    php_value max_execution_time 300

    php_value max_input_time 300

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 2015-03-23
    • 1970-01-01
    • 2017-02-14
    • 2018-01-29
    • 1970-01-01
    相关资源
    最近更新 更多