On Mon, 1 Dec 2003, Sophie Mattoug wrote: > Victor Spång Arthursson wrote: > > > Hi! > > > > I'm having a problem with including files. What I want to achieve is > > to execute a PHP-script on another server, and then to include the > > result (which will be XML-output) in another PHP-script (currently on > > my local computer). > > > > On the server I have the file http://server.com/test/echo.php with the > > content > > > > --- > > <?php > > echo 'xyz'; > > ?> > > --- > > > > Locally I've a file with the following content: > > > > --- > > <?php > > echo "!!!"; > > include ("http://server.com/test/echo.php"); > > echo "???"; > > ?> > > --- > > > > I was expecting the output from my locally testfile to be something like: > > > > --- > > !!!??? > > --- > > > > but rather it is > > > > --- > > !!!xyz??? > > --- > > > > I've also tried with a $fp = readfile("http…") with the same result, > > which is output of the echo-statement in the remote file which I am > > expecting to be evaluated remotely. > > > > How can I do to include the PHP-script and have it to be ran before it > > is included? > > > > Sincerely > > > > Victor > > > This is a perfectly normal behaviour ! See www.php.net/include to > understand what this function does. (comparing to www.php.net/require)
It's perfectly normal, yes, but it has nothing to do with include vs. require. I guess I don't really understand the question. I assume you realize that an include 'http://server.com/file.php' is going to send an HTTP request to server.com asking for file.php and if server.com is configured to execute php for file.php then what will come back across the wire is the result of php running the script in file.php. As such, when you do: echo '!!!'; include 'http://server.com/file.php'; echo '???'; you will of course see: !!!xyz??? because that is exactly what you have asked it to do. Print !!!, then send an HTTP request to server.com and include the output of that script right here, and finally print out ???. So I don't understand why this output is surprising you and I don't understand your question about expecting it to be evaluated remotely. file.php was of course evaluated remotely on server.com. If file.php had written something to the filesysts, for example, then that something would be on server.com not on your server. -Rasmus -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php