使用jQuery

时间:2017-05-23 04:10:29

标签: jquery image insert

是否有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>

1 个答案:

答案 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>') } }); 中的路径都必须相应地进行修改。