如何制作服务器端幻灯片

时间:2013-04-13 21:18:58

标签: php javascript slideshow server-side

我正在尝试找到制作服务器端幻灯片的最佳方式,程序将从名为/ inviteuploads的文件夹中获取图片,并在幻灯片中显示该文件夹的内容(该文件夹将只包含图像)。我很乐意使用Javascript,HTML,PHP或您建议的任何其他内容。也许这甚至不可能,但请告诉我!我也看到了这篇文章:How to create dynamic video/slideshow from pictures in PHP 但这并没有真正回答我的问题,我需要从文件夹中获取上传内容,并将它们显示在幻灯片中。此外,我不只想想使用PHP,我对任何其他建议的语言开放。
谢谢!

2 个答案:

答案 0 :(得分:3)

使用glob函数。

请参阅:Listing all images in a directory using PHP

现在使用图片路径进行幻灯片放映。

答案 1 :(得分:1)

代码在asp.net中......动画需要jquery库

我使用scriptmanager的pagemethods属性来访问文件夹“inviteuploads”中的图像,然后将它们显示在div容器中...返回值将包含由“\ u​​000d”分隔的图像的位置...我正在使用fadin和fadeout effects ..你可以使用你选择的任何效果:)

请参阅以下代码:

服务器端代码

[System.Web.Script.Services.ScriptMethod, System.Web.Services.WebMethod]
public static string slideshow()
{
    string filename = string.Empty;

    try
    {
        string[] Files = Directory.GetFiles(HttpContext.Current.Server.MapPath("inviteuploads"));

        for (int i = 0; i < Files.Length; i++)
        {
            filename += "inviteupload/" + Path.GetFileName(Files[i]) + "\u000d";
        }
    }
    catch (Exception ex)
    {
    }
    return filename;
}

客户端代码

 function slideshow() {

        PageMethods.slideshow(successslideshow, failureslideshow);

        function successslideshow(msg) {
            var arr = msg.split("\u000d");
            var i = 0;

            for (j = 0; j < (arr.length - 1); j++) {
                $("#divslideshow").append("<img id=imgslideshow_" + j + " src=" + arr[j] + " width=700px height=700px style='display:none; max-height: 700px; max-width: 700px;' />");
            }

            $("#imgslideshow_" + i).fadeIn();
            setInterval(function () {
                $("#imgslideshow_" + i).fadeOut(function () {
                    i++;
                    if (i <= (arr.length - 2)) {
                        $("#imgslideshow_" + i).fadeIn();
                    }
                    else {
                        i = 0;
                        $("#imgslideshow_" + i).fadeIn();
                    }
                });
            }, 6000);
        }

        function failureslideshow(msg) {
        }
    }