Wordpress文件上传media_handle_upload致命错误

时间:2016-08-18 21:10:56

标签: php wordpress

我编写了一个PHP脚本来处理通过POST发送给它的文件。

在前端js脚本上,我创建了一个Formdata对象,并将图像附加到它... ...:

formdata.append('image0', image0);
formdata.append('image1', image1);

这是我的PHP代码,代码在wordpress根目录

<?php
header("Access-Control-Allow-Origin: *");


require_once('wp-admin/includes/image.php' );
require_once('wp-admin/includes/file.php' );
require_once('wp-admin/includes/media.php' );



$id_array = array();

$c = 0;

foreach ($_FILES as $file) {

$id_array[] = media_handle_upload('image' . $c, 0);
$c++;
}


echo implode(',', $id_array);

但是当我运行此代码时,我收到以下错误:

致命错误:在 16

/home/website/public_html/wp-admin/includes/file.php 中调用未定义的函数__() >

我是否缺少在脚本中包含其他文件?我在wordpress上使用了文档,它说:

这些文件需要作为依赖项包含在前端。

require_once( ABSPATH . 'wp-admin/includes/image.php' );
require_once( ABSPATH . 'wp-admin/includes/file.php' );
require_once( ABSPATH . 'wp-admin/includes/media.php' );

我将不胜感激任何帮助!

2 个答案:

答案 0 :(得分:2)

为了使用本机Wordpress功能,例如__()需要另外包含wp-config.php。

添加wp-config.php解决了问题

答案 1 :(得分:0)

我也面临同样的问题。 在functions.php中添加它将修复错误。 有时它会显示为“http错误”

add_filter( 'wp_image_editors', 'raj_change_graphic_library' );
function raj_change_graphic_library($array) {
 return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}