hızlı soru: Ben bir download / eki itilir ve bir dosya ... Dosya indirme cezası ... Ancak indirildikten sonra, bir e-posta girmek için bir kullanıcı zorlayan bir formu var ...
Benim sorunum indir, sayfa kilitleri başlar ve kullanıcının her yerde gezinmek veya dosya indirilir kadar sayfada herhangi bir şey yapamaz zaman (: Aşağıdaki "go home" bağlantısını tıklayarak yani) olduğunu. Buraya gelip ne daha iyi çözümler? Ben muhtemelen gerçekten basit bir şey eksik biliyorum ... Bu özel bir indirme sayfası kurma benim ilk çatlak.
<script type="text/javascript">
function redirect_function(loc){
window.location = loc;
}
</script>
<?php
// after form is submitted
$condition_met=check($_POST['email']);
if($condition_met) { ?>
<p>Your file will begin downloading in 5 seconds.</p> <a>go home</a>
<script type="text/javascript">
setTimeout('redirect_function("download.php")', 5000);
</script>
<?php } ?>
Denir (download.php) sayfa o sayfayı kapatır gibi bu nerede, bu görünüyor ...
<?php
ob_start();
if($some_condition) { // check for authorization, etc
$file='location/file.ext';
header('Content-type: application/force-download');
header('Content-disposition: attachment; filename="'. basename($file) .'"');
header('Content-length: '. filesize($file) );
readfile( $file );
} else {
echo "error message";
}
ob_end_flush();
?>