我正在为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>
不知怎的,我需要让它变得动态,每天打开不同的图像/页面。
如果事情不清楚 - 问我,我会尝试提供更多细节。
答案 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做到这一点。
首先,您需要为此类图像命名(例如 - &gt; day1,day2,day3 ... day25)。
使用此代码:
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');
});