Ajax调用Wordpress函数返回空数组

时间:2017-10-21 17:16:26

标签: php wordpress

以下函数返回空字符串。有人可以建议下面的代码有什么问题吗?我正在对这个函数进行AJAX调用。

function LoadImagesForMenus() {

    $filenameArray = [];
    $validextensions = ["gif", "jpg", "jpeg", "png"];
    $handle = opendir(get_template_directory().'/analyzer-images/');

    while ($file = readdir($handle)) {
        if ($file !== '.' && $file !== '..' && !empty($file)) {
            $filenameArray[] = $file;
            $ext = pathinfo($file, PATHINFO_EXTENSION);
            if (in_array($ext, $validextensions)) {
                $fileArray = [];
                $fileArray["fileName"] = "http://xn--ernhrungsberaterzrich-71b08c.ch/wp-content/themes/abundance/analyzer-images/$file";
                list($width, $height) = getimagesize("/home/httpd/vhosts/xn--ernhrungsberaterzrich-71b08c.ch/httpdocs/wp-content/themes/abundance/analyzer-images/$file");
                $fileArray["width"] = $width;
                $fileArray["height"] = $height;
                if ($width !== null && $height !== null) {
                    array_push($filenameArray, $fileArray);
                }
            }
        }
    }
    echo json_encode($filenameArray);
    exit(0);
}

由于

1 个答案:

答案 0 :(得分:0)

对json_encode()的调用失败。您应该检查对json_encode的调用是否有错误。

$json = json_encode( $filenameArray );
if ( $json !== FALSE ) {
    echo $json;
} else {
    error_log( 'json_encode() failed with error=' . json_last_error() );
}

json_encode()可能无法处理另一个条目。您应该跳过此条目或将选项设置为json_encode()来处理条目中的字符。