Pagina 1 van 1

Download geluiden zonder af te spelen

Geplaatst: 12 feb 2010, 22:10
door jbdv
Hoi, ik heb een probleem.
Als je de URL van een geluid in een link zet, gaat hij het automatisch afspelen met QuickTime of WMP.
Ik wil nu juist dat ik een downloadschermpje van mijn browser.
Deze website heeft dat, maar ik kan hun gebruikte code niet achterhalen:
http://soundamerica.com/soundamerica/so ... e=hb10.wav

Bedankt voor de hulp. ;)

Re: Download geluiden zonder af te spelen

Geplaatst: 13 feb 2010, 22:34
door Robintje1
Dat kan door o.a. php.

Code: Selecteer alles

<?php
$file = "test.mp3";

if(file_exists($file) && is_file($file)) {
    header("Cache-control: private");
    header("Content-Type: application/octet-stream"); 
    header("Content-Length: " . filesize($file));
    header("Content-Disposition: filename=$file"); 
    flush();
    $fd = fopen($file, "r");
    while(!feof($fd)) {
        echo fread($fd, filesize($file));
        flush();
    }
    fclose ($fd);
}
?>
(Het kan fouten bevatten.)

Re: Download geluiden zonder af te spelen

Geplaatst: 14 feb 2010, 14:28
door jbdv
Ik heb deze code ingevoerd in een nieuwe php-pagina, en de URL van de mp3 gewijzigd in een bestaande.
Maar er gebeurt niks, alleen een wit scherm.
URL Liedje: http://www.0315c.x-ess.nl/tracks/adg3.c ... dChump.mp3
URL Pagina: http://www.x-ess.nl/0315c/subjects/test2.php
:?

Re: Download geluiden zonder af te spelen

Geplaatst: 14 feb 2010, 20:17
door Robintje1
Je kan makkelijk weten waar het fout gaat, door echo's/print's te plaatsen, zoals:

Code: Selecteer alles

    <?php
    echo "start-";
    $file = "test.mp3";

    if(file_exists($file) && is_file($file)) {
        echo "it's a file+it exists-";
        header("Cache-control: private");
        header("Content-Type: application/octet-stream"); 
        header("Content-Length: " . filesize($file));
        header("Content-Disposition: filename=$file"); 
        flush();
        $fd = fopen($file, "r");
        while(!feof($fd)) {
            echo "it's not the end of the file yet-";
            echo fread($fd, filesize($file));
            flush();
        }
        echo "end of file-";
        fclose ($fd);
        echo "file closed-";
    }
    echo "done";
    ?>
Als er daarna niets te zien is, ondersteund je server/host geen PHP. Wees er overigens zeker van dat het liedje zich in dezelfde map bevindt, en dat je $file = "test.mp3"; hebt aangepast.