是否有jQuery脚本用于将图像从文件夹导入HTML页面以便在灯箱中使用?
所以在一个文件夹中,我会:
图像1.JPG 图像2.JPG 图像3.JPG 等
在HTML页面上我会:
<ul class="photoGallery">
<li><img src="--insert here--"></li>
<li><img src="--insert here--"></li>
<li><img src="--insert here--"></li>
</ul>
答案 0 :(得分:0)
不完全确定你想要完成什么。这是&#34;文件夹&#34;你在服务器上谈论的是什么?
如果是这样,您可以对php脚本进行Ajax调用,然后将该目录中的所有图像作为响应提供给您。然后使用JQuery,您可以简单地基于此生成HTML。
事情是javascript是客户端语言,您的图像在服务器上。
为了访问服务器端信息,您需要一种服务器端语言(在很多情况下就像PHP一样)。然后使用该语言编写服务器端脚本,该脚本返回所需图像的路径和名称。然后,您在AJAX调用中调用所述服务器端脚本,并在JQuery中生成所需的HTML。
让我们假设你的图像所在的目录被调用,非常富有想象力,图像,而php脚本被称为 get_images.php
现在在 get_images.php 中,您可以执行以下操作:
def decrypt(key, filename):
outputfile = filename[:-11] + "(decrypted)"
chunksize = 1024 * AES.block_size # use the cipher's defined block size as a multiplier
with open(filename, 'rb') as infile:
IV = infile.read(AES.block_size)
decryptor = AES.new(key, AES.MODE_CBC, IV)
with open(outputfile, 'wb') as outfile:
old_chunk = b'' # stores last chunk, needed for reading data with a delay
stripped = False
while not stripped: # delayed loop until the last block is stripped
chunk = decryptor.decrypt(infile.read(chunksize)) # decrypt as we read
if len(chunk) == 0: # no more data
padding = old_chunk[-1] # pick the padding value from the last byte
if old_chunk[-padding:] != bytes([padding]) * padding:
raise ValueError("Invalid padding...")
old_chunk = old_chunk[:-padding] # strip the padding
stripped = True
outfile.write(old_chunk) # write down the 'last' chunk
old_chunk = chunk # set the new chunk for checking in the next loop
然后在你的JQuery脚本中:
<?php
if(!$_SERVER['HTTP_X_REQUESTED_WITH'])
{
//redirect to Forbidden if page is called directly and not through AJAX
header("HTTP/1.0 403 Forbidden");
exit;
}
$images = array();
foreach(glob("images/*") as $image) {
$images[] = $image;
}
echo json_encode($images);
?>
请注意,要使其正常工作,您需要将 images 目录, get_images.php 和 script.js 集合在一起目录。如果不是这种情况,那么AJAX调用中的url和PHP var request = $.ajax({
type: "POST",
url: "get_images.php",
dataType: "json",
});
request.done(function(response){
for(var i = 0; i < response.length; i++){
$(".photoGallery").append('<li><img src="' + response[i] + '"></li>')
}
});
中的路径都必须相应地进行修改。