Way too braindead this morning.... Simple parsing problem

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
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


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 the http://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....


Re: Way too braindead this morning.... Simple parsing problem

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(" 404 Not Found");
      header("Status: 404 Not Found");
      echo '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//
        '404 Not Found</TITLE></HEAD><BODY><H1>Not Found</H1>' .
        'The requested document was not found.</BODY></HTML>';

  $sz = filesize($path);
  header('Content-Type: video/x-ms-wmv');
  header("Content-Length: $sz");
  header('Content-Disposition: attachment; filename="' .
    basename($path) . "\"; size=$sz;");



Quoted text here. Click to load it
Quoted text here. Click to load it

Site Timeline