求解一道关于php里include_once函数的问题
这是目录结构newfile.php代码如下:<?phpinclude_once'../2/5/file2.php';file.php代码如下:<?phpinclude_o...
这是目录结构
newfile.php代码如下:
<?php
include_once '../2/5/file2.php';
file.php代码如下:
<?php
include_once '../../../1/newfile.php';
file2.php代码如下:
<?php
echo 'good';
现在 运行file.php文件,报错:
Warning: include_once(../2/5/file2.php) [function.include-once]: failed to open stream: No such file or directory in D:\Compiler\wamp\chuxin\PHPBookWeb\MyExercise\ohter\1\newfile.php on line 4
Warning: include_once() [function.include]:
Failed opening '../2/5/file2.php' for inclusion
(include_path='.;c:\php\includes;c:\orders;D:\Compiler\wamp\chuxin\PHPBookWeb\chapter-5;D:\Compiler\wamp\php\PEAR;D:\Compiler\wamp\php\tmp')
in D:\Compiler\wamp\chuxin\PHPBookWeb\MyExercise\ohter\1\newfile.php on line 4
求大虾指点 展开
newfile.php代码如下:
<?php
include_once '../2/5/file2.php';
file.php代码如下:
<?php
include_once '../../../1/newfile.php';
file2.php代码如下:
<?php
echo 'good';
现在 运行file.php文件,报错:
Warning: include_once(../2/5/file2.php) [function.include-once]: failed to open stream: No such file or directory in D:\Compiler\wamp\chuxin\PHPBookWeb\MyExercise\ohter\1\newfile.php on line 4
Warning: include_once() [function.include]:
Failed opening '../2/5/file2.php' for inclusion
(include_path='.;c:\php\includes;c:\orders;D:\Compiler\wamp\chuxin\PHPBookWeb\chapter-5;D:\Compiler\wamp\php\PEAR;D:\Compiler\wamp\php\tmp')
in D:\Compiler\wamp\chuxin\PHPBookWeb\MyExercise\ohter\1\newfile.php on line 4
求大虾指点 展开
4个回答
展开全部
先不说你这个结构混乱的问题 报错的那个提示是说他找不到你这个路径文件
而且包含文件的话是不会采用这种方式来包含的 都是声明一个常量保存网站的根目录(如:DOCUMENT_ROOT)然后调用的时候直接DOCUMENT_ROOT/文件夹/文件 这样如果你的跟目录发生改变了你修改一个变量就可以了。
而且包含文件的话是不会采用这种方式来包含的 都是声明一个常量保存网站的根目录(如:DOCUMENT_ROOT)然后调用的时候直接DOCUMENT_ROOT/文件夹/文件 这样如果你的跟目录发生改变了你修改一个变量就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是为了学习include_once用法的话可以纠结一下,但是实际开发中绝对不会采用这种方式去包含文件的,建议使用绝对路径。
定义一个常量define('ROOT','/');
然后include_once ROOT.'/2/5/file2.php';
定义一个常量define('ROOT','/');
然后include_once ROOT.'/2/5/file2.php';
追问
追答
就是我说的啊,用绝对路径,define('ROOT','/');定义一个常量ROOT指定项目在磁盘的绝对路径,然后包含的时候就可以使用include(ROOT."/Config/smarty_include.php")这样
要不还可以使用dir(__FILE__)来取得当前文件的绝对路径,再根据当前文件的路径进行包含
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议使用include。还有最好使用成熟框架里面自带的引用方法。比较include 效率非常低。include——once的效率比include 还低。可想而知
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这是要实现什么功能?还是练习?没什么意义
更多追问追答
追问
测试,项目需要
追答
额你们什么项目让你如此调用文件你们主管会同意你这么写么?
大于两层文件的别再用这种相对路径来引用文件了.
$path=$_SERVER["SCRIPT_NAME"];
然后根据这个脚本的路径在自己处理然后在引用
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询