phpfileinclude

including php file from another server with php


I have two PHP files located on different servers, one at http://www.mysite.com/main.php, the other at http://www.sample.com/includeThis.php.

I want to include the second file from the first one.

The content of the second file looks like this:

<?php
$foo = "this is data from file one";

And the first file:

<?php
include "http://www.sample.com/includeThis.php";
echo $foo;

Is there any way I can do this?


Solution

  • Nope, this setting is disabled/not allowed by default in most web servers (php.ini) so you can not use the include to include the files from a remote addresss for security reasons.

    If you still want to allow inclusion of remote files, the directive allow_url_include must be set to On in php.ini

    But again it is a bad practice, in a security-oriented point of view ; and, so, it is generally disabled (I've never seen it enabled, actually)

    If you want to read the output of a remote file though, you can use the file_get_contents function instead BUT this will be returned as pure HTML markup code, there won't be any server-side code. Therefore just make the remote script to return the already computed data instead of PHP code (using json_encode() for example), and then use that data in the local PHP script.