Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.php > #2202
| Path | csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail |
|---|---|
| From | Jerry Stuckle <jstucklex@attglobal.net> |
| Newsgroups | comp.lang.php |
| Subject | Re: use GET in include |
| Date | Thu, 16 Jun 2011 07:14:32 -0400 |
| Organization | A noiseless patient Spider |
| Lines | 88 |
| Message-ID | <itcois$fcj$2@dont-email.me> (permalink) |
| References | <57655471-4b66-45db-abcf-e9194758655c@22g2000prx.googlegroups.com> <4df8676c$0$49180$e4fe514c@news.xs4all.nl> <aeeed188-7766-4b00-a323-9abd60e9efae@s41g2000prb.googlegroups.com> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=ISO-8859-1; format=flowed |
| Content-Transfer-Encoding | 7bit |
| Injection-Date | Thu, 16 Jun 2011 11:14:36 +0000 (UTC) |
| Injection-Info | mx04.eternal-september.org; posting-host="0J9bC3jmtvLneyZKWAAHFA"; logging-data="15763"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18RxoQ+quMLD+OafARau0ABo4wnallh/mw=" |
| User-Agent | Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 |
| In-Reply-To | <aeeed188-7766-4b00-a323-9abd60e9efae@s41g2000prb.googlegroups.com> |
| Cancel-Lock | sha1:91v+QtFRH1GX0Tyk9nBMW64mlek= |
| Xref | x330-a1.tempe.blueboxinc.net comp.lang.php:2202 |
Show key headers only | View raw
On 6/16/2011 12:58 AM, cerr wrote:
> On Jun 15, 1:04 am, Erwin Moller
> <Since_humans_read_this_I_am_spammed_too_m...@spamyourself.com> wrote:
>> On 6/15/2011 6:09 AM, cerr wrote:
>>
>>> Hi There, I would like to pass variables with GET to a file i include
>>> in my source file but it doesn't work, I get something like
>>> "Warning: include(./getfile.php?dir=headers11) [function.include]:
>>> failed to open stream: No such file or directory in /mnt/stor5-wc2-
>>> dfw1/479383/493261/www.quaaoutlodge.com/web/content/themes/Quaaout11-
>>> dev/photoshuffler.js.php on line 29"
>>> But when I remove the "?dir=" part from the url it works just fine.
>>> What would that be?
>>> Line 29 looks like:
>>> blablabla<?php include "./getfile.php?dir=".$_GET['dir'];?>
>>
>>> Thank you for hints& suggestions!
>>
>>> Ron
>>
>> Hi Ron,
>>
>> You are confusing a http request with an include.
>> They are different beasts.
>> A http request look like:http://www.example.com/yourphpfile.php
>> and you can add info to an URL by adding name/value pairs, like this:http://www.example.com/yourphpfile.php?name=ron&favcol=blue
>>
>> In $_GET you will find 2 keys:
>> $_GET["name"] will contain ron
>> $_GET["favcol"] will contain blue
>>
>> Now to the include:
>> If you include a file, you include a file. :-)
>> No http or apache involved. So no GET superglobal is set. (And that is
>> the reason things don't work as you expected.)
>>
>> Unless you use http-wrappers, like
>> include ("http://www.example.com/getfile.php?file=...");
>>
>> WARNING: the above is REALLY poor programming to get information into
>> your include file: you make a trip using the http-protocol/apache/new
>> PHP instance/etc to get the info into your included file).
>>
>> How to solve this?
>> Depending on your situation, in general:
>> 1) Make the included file contain a function or an class, and use that
>> function or class from your main file.
>> Something like (for Object):
>> require_once("class_myFileFetcher.php");
>> $myFileFetcher = new FileFetcher();
>> $myFileFetcher->setFile(..);
>> $myFileFetcher->setHearder(..);
>> $myFileFetcher->stream(..);
>>
>> The above is just fantasycode of course.
>>
>> Or with a function:
>> require_once ("myfunctions/myFileFetcherFunction.php");
>> fetchFileAndStream("/some/path/some/file");
>>
>> option 2 (ugly in my opinion):
>> Simply set a variable, then the include. Let the code in the include use
>> that variable.
>> So:
>> $theUglyWayFileName = "/some/path/some/file";
>> require_once ("myFileFetcher.php");
>> And let the code in myFileFetcher.php use the variable named:
>> $theUglyWayFileName.
>>
>
> I implemented option 2 so far and it works well - why would thast be
> bad anyways?
> Thanks! :)
>
> Ron
The code now depends on variables set in other files, making it harder
to maintain and less reusable.
Functions are much better and cleaner.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Back to comp.lang.php | Previous | Next — Previous in thread | Find similar | Unroll thread
use GET in include cerr <ron.eggler@gmail.com> - 2011-06-14 21:09 -0700
Re: use GET in include Erwin Moller <Since_humans_read_this_I_am_spammed_too_much@spamyourself.com> - 2011-06-15 10:04 +0200
Re: use GET in include Denis McMahon <denis.m.f.mcmahon@gmail.com> - 2011-06-15 12:01 +0000
Re: use GET in include Erwin Moller <Since_humans_read_this_I_am_spammed_too_much@spamyourself.com> - 2011-06-15 15:21 +0200
Re: use GET in include Jerry Stuckle <jstucklex@attglobal.net> - 2011-06-15 12:02 -0400
Re: use GET in include cerr <ron.eggler@gmail.com> - 2011-06-15 21:58 -0700
Re: use GET in include Jerry Stuckle <jstucklex@attglobal.net> - 2011-06-16 07:14 -0400
csiph-web