如何动态更改图像

时间:2015-02-07 20:13:19

标签: php html mysql

在HTML文件中,我使用以下代码在弹出窗口中显示图像:

<div id="divCheckbox" style="display: none;">
                <a class="fancybox" rel="gallery01" title= "BONOS ALQUILER 2/6" href="eventos/Bonos_alquiler.jpg">one</a>
                <a class="fancybox" rel="gallery01" title= "CICLO 3/6" href="eventos/Ciclo.jpg">one</a>
                <a class="fancybox" rel="gallery01" title= "PEQUE TENIS/PADEL 4/6" href="eventos/PEQUES-padel_tenis.jpg">one</a>
                <a class="fancybox" rel="gallery01" title= "PILATES 5/6" href="eventos/Pilates.jpg">one</a>
                <a class="fancybox" rel="gallery01" title= "ZUMBA 6/6" href="eventos/Zumba.jpg">one</a>
</div>

现在,我需要的是动态更改图像。 我需要显示服务器文件夹中包含的图像。 在当前的服务器上我不能使用数据库,但我可以访问另一个服务器,我可以使用数据库存储图像标题和路径。 如何更改以前的代码以允许我更改存储在文件夹中或存储在数据库中的图像,我该怎么办? 什么是我的问题的最佳解决方案?

1 个答案:

答案 0 :(得分:0)

为了方便起见,我决定在服务器中创建一个文件夹来上传图像,然后使用PHP来读取该文件夹上的文件。这是我的解决方案,取自Github:

<?php
    # To prevent browser error output
    header('Content-Type: text/javascript; charset=UTF-8');
    # Path to image folder
    $imagefolder = 'eventos/';
    # Show only these file types in the image folder
    $imagetypes = '{*.jpg,*.JPG,*.JPEG,*.png,*.PNG,*.gif,*.GIF}';
    # Add images to array
    $images = glob($imagefolder.$imagetypes, GLOB_BRACE);
    # Sort the images based on its 'last modified' time stamp
    $sortedImages = array();
    $count = count($images);
    for ($i = 0; $i < $count; $i++) {
        $sortedImages[date ('YmdHis', filemtime($images[$i])).$i] = $images[$i];
    }
    # Set to 'false' if you want the oldest images to appear first
    $newest_images_first = true;
    # Sort images in array
    if($newest_images_first) {
        krsort($sortedImages);
    } else {
        ksort($sortedImages);
    }

    foreach ($sortedImages as $image) {
        # Get the name of the image, stripped from image folder path and file type extension
        $name = 'Polideportivo Los Cedros: '.substr($image,strlen($imagefolder),strpos($image, '.')-strlen($imagefolder));

    echo "  <a class='fancybox' rel='gallery01' title= '".$name."' href='".$image."'></a>";

    }

?>

可能有更好的解决方案,但这对我有用。