Connecting with HTTP Servers
Using file_get_contents
<xmp> <?php echo file_get_contents('http://www.php.net/'); ?> </xmp>
Hypertext Transfer Protocol (HTTP) is probably the protocol most often used from PHP to connect with others (apart from various database protocols). Starting with PHP 4.3, it is really easy to connect to such data sources because PHP's stream support was vastly improved in that version (of course, using HTTP in the way this code shows was already possible in earlier PHP releases). The idea is that when you use a file operation, you access a stream of data. In practice, it doesn't really matter whether it's a file on the local system, on a network share, or on a remote server connected via either HTTP, File Transfer Protocol (FTP), or any other supported protocol. Just provide the appropriate filename, and PHP takes care of the rest. The preceding code shows this: It opens the PHP home page and prints its Hypertext Markup Language (HTML) code in the browser. With just one line of code, it cannot get much more simple. Figure 9.1 contains the output.
Figure 9.1. A one-liner prints the HTML markup of the PHP home page.
Note: For security reasons, this behavior can be turned off in php.ini
by setting allow_url_fopen
to Off
, so you cannot rely on it on web servers you cannot controlfor instance, shared hosting at large Internet service providers (ISPs).