使用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代码
输入类型='文字'值='照片网址'id ='upload_photo_url' name ='upload_photo_url'onclick =“clear_field('upload_photo_url');” />
PHP设置(从phpinfo()打印)
答案 0 :(得分:0)
创建一个名为phpinfo.php的文件
将该文件保存在顶级目录中。在地址栏中键入yoursitename.com/phpinfo.php,您将获得所有php信息的列表。
一旦您知道在主机服务器或本地主机上找到并保存php.ini文件的位置,请打开该文件并搜索' post_max_size'和' upload_max_filesize'。将两者都更改为您需要上传和保存的最大文件大小。
将修改后的php.ini文件上传到您使用phpinfo.php文件发现的目录。您将需要重新启动localhost服务器并刷新页面。现在可以完成上传大文件。
答案 1 :(得分:0)
我通过在<form>
标记中添加以下代码来解决此问题。
enctype="multipart/form-data"