[EMAIL PROTECTED] wrote:
If you want more control over the files you could have the mp3's in a private directory, then using PHP to force a download. There are some other threads about the Content-Type header, which is probably what you're looking forHello everyone,
I want to build a music site, all copyrights intact, and I want users to be able to download mp3 or realplayer files using a one-click link. When they click on a link they will simply be given a typical download window to save that music file. How do I go about doing that and how should my file structure work? What should the link include? Is it possible to just say, for example, http://somesite.com/music/something.mp3?
Imagine that your file, 3416.mp3 is in /songs. 3416 is the song ID, so you can grab info such as artist, album and song name from a DB. Below is download.php, to download 3416.mp3, you should type download.php?file=3416
<?php
if (!isset($_GET['file']) or !file_exists('songs/' . $_GET['file'] . '.mp3')) {
die("No file selected");
} else {
$file = $_GET['file'];
}
$db = mysql_connect(); // More DB stuff
$artist = $row['artist']; // The artist name from the DB $album = $row['album']; // ... $song = $row['song']; // ...
$filename = $artist . '-' . $album . '-' . $song . '.mp3';
header('Content-Type: application/force-download'); header('Content-Length: ' . filesize('songs/'.$file.'.mp3')); header('Content-Disposition: attachment; filename="' . $filename . '"'); header('Content-Transfer-Encoding: binary');
readfile('songs/' . $file . 'mp3'); exit();
?>
Also, if I wanted them
to listen to streamed music does PHP have any specialized functions I could
use to achieve that?
You should take a look at the Ming library and the mp3 stream function (http://www.php.net/manual/en/function.swfmovie.streammp3.php). It's a bit tricky though, but i can't think of anything else.
-- Daniel Schierbeck
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php