|
Posted by petersprc on 01/20/08 23:40
You can use the script below:
Use PATH_INFO if your request is get.php/movie.flv or QUERY_STRING if
your request is get.php?movie.flv.
<?
error_reporting(E_ALL | E_STRICT);
function sendWmv()
{
$file = substr(basename($_SERVER['QUERY_STRING']), 0, -4) . '.wmv';
$path = "/my/movies/$file";
if (!file_exists($path)) {
$path = "/my/movies/sub/$file";
if (!file_exists($path)) {
header("{$_SERVER['SERVER_PROTOCOL']} 404 Not Found");
header("Status: 404 Not Found");
echo '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//
EN"><HTML><HEAD><TITLE>' .
'404 Not Found</TITLE></HEAD><BODY><H1>Not Found</H1>' .
'The requested document was not found.</BODY></HTML>';
return;
}
}
$sz = filesize($path);
header('Content-Type: video/x-ms-wmv');
header("Content-Length: $sz");
header('Content-Disposition: attachment; filename="' .
basename($path) . "\"; size=$sz;");
readfile($path);
}
sendWmv();
?>
On Jan 20, 10:24 am, CptDondo <y...@NsOeSiPnAeMr.com> wrote:
> I have a website that shows flash movies. I want to add a download
> button that will download the same movie as a wmv file.
>
> I can't for the life of me figure out how to do this....
>
> The sendfile.php is invoked as
>
> http://www.someserver.com/path/to/php/sendfile.phpℑ=http://www.someserver.com/path/to/movies/xyz/movie.flv
>
> what I need to do is to:
>
> take basename of image, replace the .flv wih .wmv, use that as the
> filename for 'Content-Disposition: attachment; filename='
>
> replace thehttp://www.someserver.com/part with the real path to the
> file on the server and use that for the readfile($file) call
>
> The only slighlty complicated thing is that the /xyz/ directory may be
> present for some but not for others.
>
> I've been going round and round and the only thing I can think of is that
> I have been staring at code too long and haven't had enough coffee....
>
> --Yan
[Back to original message]
|