【问题标题】:WordPress File Upload always give PHP.ini errorWordPress文件上传总是给PHP.ini错误
【发布时间】:2014-04-23 02:44:17
【问题描述】:

使用 media_sideload_image 方法(从 URL 保存)效果很好,但对于使用 WP 函数的实际上传 array(1) { ["error"]=> string(1) "s" } 它总是给我以下信息。

{ ["error"]=> string(212) "文件为空,请上传更多内容 重大的。此错误也可能是由禁用上传引起的 在您的 php.ini 中或将 post_max_size 定义为小于 php.ini 中的 upload_max_filesize。” }

这显然意味着有错误 - 为什么?我查看了PHP INI文件,似乎不是这样,还有其他设置方法吗?

PHP 代码

$upload_photo = $_FILE['upload_photo'];
if ( ! function_exists( 'wp_handle_upload' ) ) require_once( ABSPATH . 'wp-admin/includes/file.php' );
 echo $upload_photo;
 $upload_overrides = array( 'test_form' => false );
 $movefile = wp_handle_upload( $upload_photo, $upload_overrides );
  if ( $movefile ) {
      echo "File is valid, and was successfully uploaded.\n";
      var_dump( $movefile);
  } else {
    echo "Possible file upload attack!\n";
  }

HTML 代码

input type='text' value='照片 URL' id='upload_photo_url' name='upload_photo_url' onclick="clear_field('upload_photo_url');" />

PHP 设置(从 phpinfo() 打印)

【问题讨论】:

  • 从错误提示的内容开始。在您的服务器上运行php -i | grep upload_max_filesizephp -i | grep file_uploads 的结果是什么?你为什么不在你的问题中发布一些 php.ini 设置。
  • @stakolee 正如我所提到的,给出的错误与 PHP ini 文件无关。 IE。它们的大小相同。我已经添加了 phpinfo 的屏幕截图,尽管如此:)
  • 你能转储 $_FILE 变量吗?它应该是一个数组,所以回显它不应该真正向您显示任何内容。这可能有助于我们弄清楚发生了什么。
  • 不,我不能,它返回 NULL :/
  • @tim.baker 这个有运气吗?我现在遇到了同样的问题,我很困惑。

标签: php wordpress file upload


【解决方案1】:
  1. 创建一个名为 phpinfo.php 的文件

  2. 将该文件保存在您的顶级目录中。在地址栏中输入yoursitename.com/phpinfo.php,您将获得所有php信息的列表。

  3. 一旦您知道在主机服务器或本地主机上的何处查找和保存文件 php.ini,打开该文件并搜索“post_max_size”和“upload_max_filesize”。将两者都更改为您需要上传和保存的最大文件大小。

  4. 将修改后的 php.ini 文件上传到您使用 phpinfo.php 文件发现的目录。您将需要重新启动 localhost 服务器并刷新页面。现在可以上传大文件了。

【讨论】:

    【解决方案2】:

    我通过将以下代码添加到 <form> 标记中解决了这个问题。

    enctype="multipart/form-data"

    【讨论】:

      猜你喜欢
      • 2018-10-15
      • 1970-01-01
      • 1970-01-01
      • 2017-03-12
      • 2013-08-11
      • 2023-03-07
      • 2011-05-04
      • 2014-09-28
      • 2018-11-01
      相关资源
      最近更新 更多