|
Posted by ZeldorBlat on 08/01/07 16:30
On Aug 1, 12:19 pm, charliefortune <goo...@charliefortune.com> wrote:
> On 1 Aug, 17:16, Rik <luiheidsgoe...@hotmail.com> wrote:
>
>
>
> > On Wed, 01 Aug 2007 18:04:14 +0200, charliefortune
>
> > <goo...@charliefortune.com> wrote:
> > > I have been including local .php files in a script succesfully for a
> > > while. But now I want it to be a remote include i.e.
>
> > > include ("http://myserver.co.uk/includes/classLib.php");
>
> > > and I get
>
> > > Cannot instantiate non-existent class:
>
> > > I know the path is correct because if I include simply a line of text
> > > to echo then it works fine. Are there any issues with variable scope
> > > when including remote classes please ? My class definition is simply
>
> > > class AdminLib {
> > > blah blah;
> > > blah;
> > > blah;
> > > }
>
> > > do I have to declare it global or anything ? Thanks.
>
> > If the include works fine (no allow_url_fopen or the remote include
> > thingy): don't forget they need to start & end with php opening & closing
> > tags... Else it's 'just content'.
>
> > Class definitions have no scope, allthough PHP6 might have support for
> > namespaces.
> > --
> > Rik Wasmus
>
> The include is wrapped in <?php ?> tags so that's not the problem. I
> don't know about the allow_url_fopen stuff. Is there an fread
> alternative I could do to read the file and eval() it perhaps, just to
> get it working ?
When you do a remote include like that the you usually don't get the
actual code back since the remote server is typically configured to
run it through PHP before sending the output. Suppose your remote
file has this in it:
<?php
class Foo {
}
?>
If you request that file in your browser what do you get? You get
nothing since that script has no output. So, when you do the include,
he doesn't get any output either.
Remember: when you request a PHP file through a webserver you don't
actually get the PHP code back -- you get the output of the PHP script
back.
[Back to original message]
|