2016-10-02 61 views
0

目前,一个朋友和我正在通过PHP教程。我们都是PHP新手,但在其他语言方面有一些一般经验。

我们希望包括“testseite.php”到我们的index.php的“testseite.php”是在文件夹中的内容/文章

教程做它是使用的方式

include("content/articles/".$_GET['include']); 

但如果我们这样做有以下错误:

Warning: include(/users/xxx/www/users/xxx/www/myCms/content/articles) [function.include]: failed to open stream: No such file or directory in /users/flateric/www/users/flateric/www/myCms/index.php on line 5

Warning: include() [function.include]: Failed opening 'content/articles/' for inclusion (include_path='.') in /users/xxx/www/users/xxx/www/myCms/index.php on line 5

我们认为自己的问题可能是,它双打的用户名(我改成了XXX)和“用户”和“WWW”的PA日。 感谢您的帮助

+0

错误提示,没有目录'content/articles /' –

+1

这是一个坏主意......如果我们通过include(“content/articles /”)手动包含文件,则您信任用户输入来访问文件 – Machavity

+0

testseite.php“);它正确显示 – ben1806

回答

2

在PHP中,include表示将文件加载到参数中,如加载库。所以,这个错误意味着文件/users/flateric/www/users/flateric/www/myCms/index.php不存在。您应评估$_GET值是否指向物理文件。

0

看起来$_GET['include']为空(或者include密钥不存在)。这导致文件名包含错误。你希望包括名为此文件:

content/articles/testseite.php 

,但实际上得到一个包含此:

content/articles/ 

显然,这是不正确的,会导致错误。如果$_GET参数不包含include值(或它为空),则应该考虑另一种方法,例如提供默认值或向用户生成错误。

+1

有一个此常见错误消息的疑难解答清单:http://stackoverflow.com/questions/36577020/php-failed-to-open-stream-no-such-file-or-directory –