2016-08-18 47 views
1

我寫了一個PHP腳本來處理通過POST發送給它的文件。WordPress的文件上傳media_handle_upload致命錯誤

在前端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); 

然而,當我運行此代碼,我得到以下錯誤:

致命錯誤:在/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'); 

我將不勝感激任何幫助!

+0

'__()'是翻譯支持的WordPress本地函數。試試這些[link](https://wordpress.org/support/topic/install-fails-with-fatal-error-undefined-function-_) –

回答

2

爲了使用原生的Wordpress函數,例如__()wp-config.php需要另外包含。

添加wp-config.php解決了問題

0

我也面臨同樣的問題。 在functions.php中添加它將修復錯誤。 有時它會顯示爲「http error」

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'); 
}