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