Dell Sala wrote:
I think this is exactly what you're looking for.

mp3handler is a php script, just named without a ".php" extension.

if you force apache to treat mp3handler as a php script, you can create urls that access mp3handler, but appear to to be accessing a more deeply nested file or resource.

a request like http://domain.com/mp3handler/somefile.mp3 will cause apache to execute the mp3handler script, and the rest of the request is just ignored by apache. Then, inside mp3hanlder you can manually parse $_SERVER['PATH_INFO'] to retrieve your "argument" which is /somefile.mp3.

I started using this technique after seeing it in a great article in PHP|Architect. Volume 5, Issue 3 "Frameworks: what's the big deal" by Darryl Patterson.


Aha, so then this also provides a way to use the universal dispatch method and "friendly" URLs without resorting to mod_rewrite. I can create a script called "pages" and invoke it like so:

<FilesMatch "^pages$">
 ForceType application/x-httpd-php
</FilesMatch>

...and then generate URLs like so:

http://www.example.com/pages/pagename/parm/value/parm/value

and then just parse out the URI into parm-value pairs.

Nice!


-- Dell


On Dec 15, 2006, at 6:24 PM, Kenneth Downs wrote:

Dell Sala wrote:
mod_rewrite seems like a messy business. How about naming your php script without a .php extension and just have that be parsed with php? Then, whatever path is appending to the script name that is requested just acts as a query string/argument.

This looks interesting, can you give me some details here:

1) The intent is to redirect to music.mp3, which is actually a php script, right? 2) But then the rule is on "mp3handler", which is constant so it can't be a parameter? 3) So what is the parameter? How do I tell a single script to handle multiple files?

What I'm aiming at is to have a single script that takes a parm. If I understand your example above, it requires a separate script for each possible mp3 file, which may as well just be this:

<FilesMatch "\.mp3$">
  ForceType application/x-httpd-php
</FilesMatch>

...which requires me again to have one script per mp3.

Am I missing something?

_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

begin:vcard
fn:Kenneth  Downs
n:Downs;Kenneth 
adr;dom:;;347 Main Street;East Setauket;NY;11733
email;internet:[EMAIL PROTECTED]
tel;work:631-689-7200
tel;fax:631-689-0527
tel;cell:631-379-0010
x-mozilla-html:FALSE
url:http://www.secdat.com
version:2.1
end:vcard

_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to