我会尽力解释这个问题,但它无疑会让人感到困惑,我一直在寻找大约3天没有运气,所以它要么不可能,要么那么简单以至于没有一个人需要问。
基本上,我在我的网络服务器的根目录中有一个文件夹,其中包含不断变化的图像数量,我想要做的是用jquery扫描该文件夹并将图像加载到html页面,我已经完成了,它运作完美,但我需要它做更多,
我有一个看起来像这样的json文件......
[{
"gamename": "GAME1",
"gameimage": "GAME1.jpg",
"orientation": "horizontal"
},
{
"gamename": "GAME2",
"gameimage": "GAME2.jpg",
"orientation": "horizontal"
},
我需要它做的是搜索图像文件夹中的图像,如果找到图像,将其加载到html页面(我现在可以做),然后找到该游戏的相应json数据图像并将其显示在加载的图像下方。
这是我当前正在扫描文件夹并加载jpg图像的代码。
<html>
<head>
<script type="text/javascript" src="resources/jquery-1.9.1.min.js"></script>
</head>
<body>
<div class="l-content">
<div class="cell pure-g">
</div>
</div>
<script>
var dir = "/images/";
var fileextension = ".jpg";
$.ajax({
url: dir,
success: function (data) {
$(data).find("a:contains(.jpg)").each(function () {
var filename = this.href.replace(window.location.host, "").replace("http:///", "");
$(".pure-g").append($("<img class=\"game-img\" src=" + dir + filename + "></img><br>"
));
});
}
});
</script>
</body>
</html>
非常感谢任何帮助,我知道这可能不是最容易理解的问题所以如果需要,我会尝试清除任何问题。
答案 0 :(得分:2)
Javascript是&#34;客户端&#34;语言,因此它不会(直接)访问您的网络服务器的文件系统。因此,我认为您最好的方法是在您的网络服务器(php,.net,节点或您知道的任何内容)上安装一个脚本,该脚本提供一个json文件,列出您的javascript目录中的所有图像。
在网络服务器上,您有一个执行以下操作的脚本(要遵循的伪代码,因为我不知道哪种语言最有用):
var returnJson = {};
var dir = "/images/";
while (var file = getNextFileIn(dir)) {
returnJson.push(file);
}
print(json_encode(returnJson));
您想要进行一些验证,它是您要求的,或者任何人都可以看到该目录的内容......但是您的jquery可以对上面的脚本发出ajax请求,并知道什么& #39;在那里。
这听起来像你倾向于PHP,所以你可以让你的webserver文件结构如下:
/www/index.html <- has your current jquery
/www/public/[all your images go here]
/www/public.php <- the php script below
然后public.php
可能如下所示:
$returnJson = array();
$files = scandir('public/'); // You might want this to be an absolute path, if you are playing games with your include path for security reasons
foreach ($files as $file) {
if (substr($file, 0, 1) == '.') continue; // This skips over invisible files and the current directory and up one directory
$returnJson[] = $file;
}
echo(json_encode($returnJson)); // This prints out all the files...
然后在你的JQuery中,你可以解析响应,迭代它并制作网址:http://yourserver.com/public/ {entry in $ returnJson}
有意义吗?