WordPress文件上传总是给PHP.ini错误

Posted

技术标签:

【中文标题】WordPress文件上传总是给PHP.ini错误【英文标题】:WordPress File Upload always give PHP.ini error 【发布时间】: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 这个有运气吗?我现在遇到了同样的问题,我很困惑。 【参考方案1】:

    创建一个名为 phpinfo.php 的文件

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

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

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

【讨论】:

【参考方案2】:

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

enctype="multipart/form-data"

【讨论】:

以上是关于WordPress文件上传总是给PHP.ini错误的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 错误,CentOs 服务器:上传的文件超出了 php.ini 中的 upload_max_filesize 指令

cpanel 上传的文件超过了php.ini中的upload_max_filesize指令

如何在上传图像时修复WordPress上的HTTP错误?

ini 设置WordPress的上传最大大小。创建一个php.ini文件并将此文件放在wp-admin /文件夹中

Wordpress php.ini 文件设置 upload_max_filesize 以获取大约 2MB 上传

IIS7 Wordpress大上传HTTP错误