On Tue, 2008-09-16 at 21:18 +0100, Nathan Rixham wrote: > Jim Lucas wrote: > > Robert Cummings wrote: > >> On Tue, 2008-09-16 at 18:13 +0100, Nathan Rixham wrote: > >>> I also meant: > >>> define('PUBLIC_BASE_HREF' , 'http://php.net/') > >>> <head> > >>> <base href="<?php echo PUBLIC_BASE_HREF; ?>" /> > >>> </head> > >>> > >>> and further thinking there has to be an easier / cleaner way of getting > >>> "http://" / "https://" in php.. > >> What's wrong with $_SERVER['HTTPS'] ? > >> > >> Cheers, > >> Rob. > > > > my way > > > > <?php > > > > function get_http_protocol() { > > $proto = 'http'; > > if ( isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off' ) { > > $proto .= 's'; > > } > > return $proto . '://'; # Adding the :// is optionial > > } > > > > echo get_http_protocol(); > > > > ?> > > > > That is about as simple as you can get. > > > > lol this one's got my brain going; here's mine: > > <?php > function get_http_protocol() { > return 'http' . ($_SERVER['SERVER_PORT'] == 443 ? 's' : '') . '://'; > } > echo get_http_protocol(); > ?> Just because 443 is the default HTTPS port, doesn't mean HTTPS is being served over 443, nor does it mean HTTPS isn't also being served over another port. This is less effective than using $_SERVER['HTTPS']. Cheers, Rob. -- http://www.interjinn.com Application and Templating Framework for PHP -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php