|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
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/ph...&image=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 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.... --Yan |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
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/ph.../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 |
|
![]() |
| Outils de la discussion | |
|
|