我对如何做类似于premiumpixels.com的下载页面感到兴奋
示例- http://www.premiumpixels.com/freebies/custom-audio-player-skin-psd/
如果我们点击“下载”:
1)像premiumpixels.com/download/?file=audio-player一样将页面重新加载到url
2)超时后开始下载。
3)从cdn.premiumpixels.com/uploads/audio-player.zip下载文件
我怎么做同样的?如何在php?上完成?
另外,我希望在打开下载页面时发送一些mysql请求,以更新文件下载状态。
谢谢。
发布于 2011-04-25 11:22:06
使用Javascript的setTimeout函数,然后将浏览器重定向到下载资源。
看起来这是站点使用的源:
jQuery(function () {
// get the GET variables
var theme = getUrlVars();
var downloadLink = 'http://cdn.premiumpixels.com/uploads/' + theme['file'] + '.zip';
if(theme['file'])
{
jQuery('#downloadLink').attr('href', downloadLink);
delayedDownload();
}
function delayedDownload()
{
timeoutID = window.setTimeout(downloadTheme, 1000);
}
function downloadTheme()
{
window.location.replace(downloadLink);
//window.open(downloadLink,'','menubar=1,location=1,toolbar=1,width=600,height=500');
}
// Read a page's GET URL variables and return them as an associative array.
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
});发布于 2011-04-25 11:22:13
1.)用户点击链接-例如download.php?id=my-app-id;
2.)在download.php中,您可以执行您喜欢的mysql更新内容。
3.)然后重定向到实际下载文件:header("Location: /folder/for/downloadcontent/download.zip");
对于SEO友好的urls,请在RewriteRule文件中使用.htaccess
发布于 2011-08-01 19:35:22
或者,您可以使用MIME/Multipart类型的响应,其中在第一部分发送HTML页面,在另一部分发送文件,然后根本不需要使用javascript :)
https://stackoverflow.com/questions/5777784
复制相似问题