如何将PHP图像数组发送到Javascript数组并显示它们

如何将PHP图像数组发送到Javascript数组并显示它们,javascript,php,arrays,Javascript,Php,Arrays,Noobie如果这个问题很愚蠢,我道歉 我已经开发了一个带有一组默认图像的图像匹配游戏,现在我想从该游戏的目录中访问随机图像。游戏逻辑是用Javascript完成的。我使用php从目录中随机获得8个图像,代码如下 random.php: function getRandomImage() { $dire="Annotated Dataset/"; $images = glob($dire. '*.{jpg,jpeg}', GLOB_BRACE); shuffle($ima

Noobie如果这个问题很愚蠢,我道歉

我已经开发了一个带有一组默认图像的图像匹配游戏,现在我想从该游戏的目录中访问随机图像。游戏逻辑是用Javascript完成的。我使用php从目录中随机获得8个图像,代码如下

random.php:

function getRandomImage() {
    $dire="Annotated Dataset/";
    $images = glob($dire. '*.{jpg,jpeg}', GLOB_BRACE);
    shuffle($images);
    $imgarray= array_slice($images,1,8);
    echo json_encode($imgarray);
}
die(json_encode(getRandomImage()));
上面显示了8个图像的文件名,但我想在if条件内的以下Javascript文件中显示这8个图像

game.js:

function getgImage(number) {
    var ranarray= "<?php echo json_encode($imgarray)?>";
    if(number=='1'){
        return '<img src="'+ranarray[1]+'">';
    }else if(number == '2'){
        return '<img src="'+ranarray[2]+'">';
    }else if(number == '3'){
        return '<img src="'+ranarray[3]+'">';
    }else if(number == '4'){
        return '<img src="'+ranarray[4]+'">';
    }else if(number == '5'){
        return '<img src="'+ranarray[5]+'">';
    }else if(number == '6'){
        return '<img src="'+ranarray[6]+'">';
    }else if(number == '7'){
        return '<img src="'+ranarray[7]+'">';
    }else if(number == '8'){
        return '<img src="'+ranarray[8]+'">';
    }else{
        return '<img src="resources/logo.png">';
    }
}
函数getgImage(数字){
var ranarray=“”;
如果(数字='1'){
返回“”;
}else if(数字='2'){
返回“”;
}else if(数字='3'){
返回“”;
}else if(数字='4'){
返回“”;
}else if(数字='5'){
返回“”;
}如果为else(数字='6'){
返回“”;
}else if(数字='7'){
返回“”;
}else if(数字='8'){
返回“”;
}否则{
返回“”;
}
}

在上面的代码中,我试图从php文件(random.php)中的数组中获取图像,但无法显示图像。是否有人能提供一个解决方案来继续。我希望php中的图像数组[1到8]设置在If条件内,这样数组中的每个图像都在单独的If条件内。请帮我解决这个问题。

编辑:查看DubZ comment herunder以获得好的线索。:-)

从外观上看,您只返回imagename:

<img src="'+ranarray[2]+'">

这将产生HTML:

<img src="someimage.jpg">

检查您的HTML以查看为图像列出的内容

解决方案:

给出完整的URL。例如:

<img src="http://www.yourgame.com/images/someimage.jpg">


你说的“不能”是什么意思?缺少什么?我建议您阅读单页应用程序。使用php编写Web服务,并使用ajax获取文件名javascript@DubZ你能告诉我如何进行ajax调用吗。我以前从未使用过ajax代码…@DubZ:另一个线程中就是我。这里有两个链接:这首先解释了AJAX(但使用了JQuery,我不喜欢):这里有一个解释了如何在没有JQuery的情况下实现它:我不认为在外部js文件中执行PHP会开箱即用,不是吗?哈哈,你说得对。他的游戏.js。我没见过。我一开始也是:D@DubZ我现在该怎么办。if条件返回错误@uviii您对服务器端(PHP)和客户端(Javascript,浏览器)感到困惑。您的game.js文件并没有达到预期的效果,例如:调用json_encode($imgarray)。只要看看你正在制作的源代码。在浏览器中查看源代码。这是调试的第一步。您将看到PHP没有被执行,而是被随意显示。解决方案:很多。学习如何使用xmlhttprequest获取信息的最简单方法