按当天动态更改应用内容

时间:2015-11-24 09:35:10

标签: javascript php jquery html facebook

我正在为Facebook开发一个应用程序(使用 HTML / PHP / Java Script )。

当应用程序打开时,会出现按钮Start。点击后,它应显示一些图片。

应用程序持续时间为12月1日至12月25日。

点击Open后的每一天它应显示不同的图像。例如12月1日应该显示1.jpg,12月2日应该显示2.jpg等等。

实现它的最佳方法是什么?我应该创建 Cron Job 吗?我应该为每天创建单独的文件吗? 1.php,2.php等?或者我必须创建game.php,并为每天添加不同的DIVS,并在当天使用 Java Script 显示所需的DIV

Index.html看起来像:

<div id="main" class="main">
    <img src="images/background.png" alt="Christmas Game" class="background_main">
    <input type="image" src="images/start.png" alt="Start Game" class="start_btn" onClick="parent.location='game.php'" />
</div>

通过index.html中的点击按钮它应该将我重定向到正确的当天内容。

Game.php看起来像这样:

<div id="main" class="main">

    <img src="images/day1/game.png" alt="Christmas Game" class="game">

    <a href="downloads/coupon.jpg" download="coupon.jpg" title="Prize Coupon">

        <img src="images/day1/download.png" alt="Download Coupon" class="download">

    </a>            

</div>

不知怎的,我需要让它变得动态,每天打开不同的图像/页面。

如果事情不清楚 - 问我,我会尝试提供更多细节。

2 个答案:

答案 0 :(得分:1)

这是一种简单而安全的方法。我建议你做的是,用加密名称保存所有图像文件。您可以使用php hash函数生成一个无法破解的复杂哈希。

以这种方式生成25个图像名称。

$imgName = hash('sha512', '1'); //this would generate a complex hash, which would be for pic 1.png
$imgName = hash('sha512', '2'); //this would generate a complex hash, which would be for pic 2.png

现在使用php,您可以轻松显示这些图像。看看这个。

<?php
//get today's date.
$currentDate = date('d'); //24 - current date
$imgName = hash('sha512', $currentDate).".png";//now this would generate a really long file name, which will be impossible for a user to guess
?>

<!-- Now to display the image, just do this -->
<img src="yourimagedirector/<?php echo $imgName; ?>">

我的代码首先获取当前日期,然后构建fileName(就像我们之前存储的那样),然后获取它并显示它。简单,快速,安全!

答案 1 :(得分:0)

你可以用jQuery做到这一点。

  1. 首先,您需要为此类图像命名(例如 - &gt; day1,day2,day3 ... day25)。

  2. 使用此代码:

    var startDate = new Date('11/23/2015'); // MM/DD/YYYY format 
    var date2 = new Date(); // get current day date
    var diffDays = date2.getDate() - date1.getDate(); 
    
    $('.start_btn').click(function(){
       $('.background_main').attr('src','day'+diffDays+'.jpg');
    });