|  | 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
  Navigation: [Reply to this message] |