Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.php > #2127
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Newsgroups | comp.lang.php |
| Subject | Re: Why does relative include fail? |
| Date | 2011-06-12 17:12 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <it3a4u$7m9$3@dont-email.me> (permalink) |
| References | <77eb4c0e-96e9-47eb-b1ae-25eb4eab4bdf@r27g2000prr.googlegroups.com> |
On 6/11/2011 9:00 PM, Disc Magnet wrote: > disc@puff:~/php$ ls > a.php data include > > disc@puff:~/php$ tree > . > ├── a.php > ├── data > │ └── d.php > └── include > ├── b.php > └── c.php > > 2 directories, 4 files > > disc@puff:~/php$ cat a.php > a.php is including include/b.php ... > <?php include "include/b.php" ?> > > disc@puff:~/php$ cat include/b.php > b.php is including c.php and ../data/d.php ... > <?php include "c.php" ?> > <?php include "../data/d.php" ?> > > disc@puff:~/php$ cat include/c.php > c.php > > disc@puff:~/php$ cat data/d.php > d.php > > disc@puff:~/php$ php a.php > a.php is including include/b.php ... > b.php is including c.php and ../data/d.php ... > c.php > PHP Warning: include(../data/d.php): failed to open stream: No > such file or directory in /home/disc/php/include/b.php on line 3 > PHP Warning: include(): Failed opening '../data/d.php' for > inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/ > disc/php/include/b.php on line 3 > disc@puff:~/php$ > > Why does `include "c.php"` succeed but `include "../data/d.php"` fail? > > http://www.php.net/manual/en/function.include.php mentions: "If a path > is defined — whether absolute (starting with a drive letter or \ on > Windows, or / on Unix/Linux systems) or relative to the current > directory (starting with . or ..) — the include_path will be ignored > altogether. For example, if a filename begins with ../, the parser > will look in the parent directory to find the requested file. " > > Parent directory of what? In addition to what Mathieu said, a better way is to always use paths relative $_SERVER['DOCUMENT_ROOT']. This will end up as an absolute path on the server, but always relative the same point - the document root specified in your server configuration. -- ================== 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
Why does relative include fail? Disc Magnet <discmagnet@gmail.com> - 2011-06-11 18:00 -0700 Re: Why does relative include fail? Mathieu Maes <mathieu@webberig.be> - 2011-06-12 13:02 -0700 Re: Why does relative include fail? Jerry Stuckle <jstucklex@attglobal.net> - 2011-06-12 17:12 -0400
csiph-web