Avatar billede the_ghost Nybegynder
06. april 2006 - 09:40 Der er 3 kommentarer og
1 løsning

Downloade istedet for at eksekvere

Jeg har en Apache webserver stående, hvorpå jeg har smidt nogle filer op.

I dette tilfælde er der tale om en vmw fil.
Når jeg indtaster linket: http://webserver.dk/clip.vmw direkte i FireFox begynder den at afspille filen, istedet for at downloade den.

Problemet opstår ikke, hvis jeg tager den samme fil, og smider den på en anden webserver, og bruger den samme FireFox til at tilgå den.

Jeg tænkte på at løsningen evt. kunne ligge i en .htaccess fil, men jeg er dog ikke sikker.

Jeg håber I kan hjælpe mig med mit lille problem.

På forhånd tak.
//The Ghost
Avatar billede the_ghost Nybegynder
13. april 2006 - 19:24 #1
Lukker spørgsmålet.

Jeg fandt aldrig en løsning.
Avatar billede webt Nybegynder
28. april 2006 - 08:54 #2
Hejsa, jeg ved du har lukket spørgsmålet her men faldt lige over det og vil da lige komme med en mulig løsning.

Here goes
Lav en PHP fil som styre dine downloads (hvis det altså er muligt) Den kunne se sådan her ud:
<?php
    $dir = "./download/";
    if(!$_GET['fil']) {
        print "Filen findes ikket";
        exit;
        }
    elseif(!file_exists($dir.$_GET['fil'])) {
        print "Filen findes ikke";
        exit;
        }
    else {
        header("Content-Type: octet/stream");
        header("Content-Disposition: attachment; filename=\"".$_GET['fil']."\"");
        $fp = fopen($dir.$_GET['fil'], "r");
        $data = fread($fp, filesize($dir.$_GET['fil']));
        fclose($fp);
        print $data;
    }
?>
og når du så skal downloade sender du bare brugeren til phpfil.php?fil=clip.vmw som vil sende filen til brugeren med dialog om at gemme til disk.

Mvh
Martin
Avatar billede the_ghost Nybegynder
28. april 2006 - 17:55 #3
Det er det desværre ikke.. Jeg poster links som eks. http://mydomain.dk/jonnasFest.avi direkte til folk og så skal de downloade dem og ikke eksekvere dem.
Avatar billede webt Nybegynder
28. april 2006 - 19:18 #4
Du kan stadig bruge ovenstående så skal vi bare ha' gang i lidt mod_rewrite også så kan det lade sig gøre.

Du smider ovenstående ind i din rodmappe vi kalder den download.php ændre $dir="./download" til $dir="./";

Så laver du en htaccess i rodmappen med følgende indhold

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(.*)\.(mov|avi|wmv|mpg) [NC]
RewriteRule ^.* /download.php?fil=%1.%2 [L]

Herefter vil alle kald til filtyperne mov,avi,wmv og mpg blive sendt videre til download.php?fil=film.avi og tvinge brugeren til at downloade filen - du kan evt se det i funktion her:
http://playground.martin-nielsen.com/test.avi

Det er måske en lidt besværlig løsning men kender ikke til nogen hvor man kan klare det kun vha htaccess idet de forskellige plugins har en tendens til bare at ville afspille i browseren

Mvh
Martin
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester