Jag har ett antal videoclip som jag kräver inloggning för att ladda hem. Om man klickar på en nerladdningslänk så kollar nerladdningsskriptet att man har en giltig session, och isåfall får man ner filen, annars så skickas man till en inloggning/register-sida där den efterfrågade urlen sparas i dolda fält under inloggnings/registeringsprocessen, så att man får den direkt efter inloggning.
Problemet är att min kod strular för IE6-användare om man loggar in i samband med nerladdningen. Till skilnad ifrån om man använder Mozilla, eller redan är inloggad, så får man först en nerladdningsdialog där det står "file name: ...wnload.php?file=filmen.avi" istället för "file name: filmen.avi". Sedan när man väljer save så kommer meddelandet :
"Internet Explorer cannot download ..wnload.php?file=filmen.avi from https://www.minserver.com"
Så här ser mitt downloadscript ut:
<?php
include ("/includes/vars.php");
session_start();
$user = $_SESSION["user"];
if(!$_GET["file"])
{
?>Vad försöker du göra? <?php
}
else if(!$user) {
header ("Location:".$bad_login."?ref=".$_SERVER['PHP_SELF']."?file=".$_GET["file"]);
}
else if($_GET["file"])
{
if(file_exists($media_root_hdd."/video/".$_GET["file"]))
{
download_file($media_root_hdd."/video", $_GET["file"]);
}
else
{
?> Filen finns ente, kolla i kylen <?php
}
}
?>
<?php
function download_file ($fileDir, $fileName) {
$completeFilePath=$fileDir.'/'.$fileName;
header('Pragma: no-cache');
header("Content-type: video/avi\nContent-Disposition: attachment; filename=\"" .
$fileName . "\"\nContent-length: ".(string)(filesize($completeFilePath)));
$fd=fopen($completeFilePath,'rb');
while(!feof($fd)) {
print(fread($fd, 4096));
flush();
}
}
?>
Går det vidare att fixa så att mitt script blir getrightvänligt?
Mvh Lukas